如何在R中使用ggplot2为按两列分组的响应变量创建图表?
当两个分类变量共同对响应变量产生影响时,有必要以图形方式可视化它们的影响,因为此图有助于我们理解影响的变化。因此,我们可以为随一个或两个分类自变量变化的响应变量创建图表。这可以通过在ggplot2中使用交互函数来实现。
示例
考虑以下数据框 -
> set.seed(1) > y<-rpois(30,2) > Group1<-rep(c(letters[1:5]),times=6) > Group2<-rep(c("Ph1","Ph2","Ph3"),each=10) > df<-data.frame(y,Group1,Group2) > head(df,20) y Group1 Group2 1 1 a Ph1 2 1 b Ph1 3 2 c Ph1 4 4 d Ph1 5 1 e Ph1 6 4 a Ph1 7 4 b Ph1 8 2 c Ph1 9 2 d Ph1 10 0 e Ph1 11 1 a Ph2 12 1 b Ph2 13 3 c Ph2 14 1 d Ph2 15 3 e Ph2 16 2 a Ph2 17 3 b Ph2 18 6 c Ph2 19 1 d Ph2 20 3 e Ph2
加载 ggplot2 包 -
> library(ggplot2)
使用交互创建图表
> qplot(Group1, y, data=df, group=Group2, color=Group2, geom='line')+ + geom_smooth(aes(group=interaction(Group1, Group2))) `geom_smooth()` using method = 'loess' and formula 'y ~ x'
输出
在这里,我们可以看到所有线条都相互交叉,因此存在自变量的交互效应,这意味着至少一个自变量(Group1 和 Group2)的水平组合的平均值与其他组合不同。
广告