2014-12-03 107 views
0

我有三个变量,两个分类和一个连续。分别说v1,v2和v3。我想为v1的每个类别在v2和v3之间绘制一个阴谋。此外,在每个类别v1的v2和v3的情节中,我重复了v2的类别。所以v3的每个类别的v3的多个值。我实际上想绘制每个v2类别的v3的平均值。我使用了lattice xyplot(),但它没有提供所需的结果(它绘制了v3的所有类别的v3的所有个体值)。在这方面你能帮助我吗?数据例子,代码如下对类别的平均值的图

v1 <- rep(c(2,4,6,8,10), each = 6) 
v2 <- rep(1:3,10) 
v3 <-runif(30,0.01,0.3) 
combined_data <- data.frame(v1,v2,v3) 
xyplot(v3 ~ v2|v1, data = combined_data, type = "o") 
+0

我会用'bwplot'。如果您指定它们,则不会给出tmeans,而会给出中值。如果你想看到修改基本'bwplot'来在手段插入行,我敢肯定,之前已经被问及和回答。 – 2014-12-03 23:20:55

+0

请问你可以根据bwplot在这里提到代码吗? – user3275911 2014-12-03 23:27:33

回答

0

您通常需要有作为数据类型在bwplot呼叫RHS但交互功能确实提供设施:

bwplot(v3 ~ interaction(v2,v1), data = combined_data,horizontal=FALSE) 

enter image description here

0

这并不完全清楚你要做什么,所以这里有三种可能性使用ggplot

library(ggplot2) 
# lines and points; similar to type="o" with xyplot(...) 
ggplot(combined_data,aes(x=v2,y=v3))+ 
    stat_summary(fun.y=mean,geom="line",color="blue",linetype=2)+ 
    stat_summary(fun.y=mean,geom="point", pch=1,size=3)+ 
    scale_x_continuous(breaks=combined_data$v2)+ 
    facet_grid(~v1)+ 
    theme_bw() 

# bar plot 
ggplot(combined_data,aes(x=factor(v2),y=v3))+ 
    stat_summary(fun.y=mean,geom="bar",color="grey50",fill="lightgreen")+ 
    facet_grid(~v1)+ 
    theme_bw() + labs(x="v2") 

# boxplot 
ggplot(combined_data,aes(x=factor(v2),y=v3))+ 
    geom_boxplot(color="grey50",fill="lightgreen")+ 
    facet_grid(~v1)+ 
    theme_bw() + labs(x="v2")