如何在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)的水平组合的平均值与其他组合不同。

更新于: 2020年8月10日

101 次查看

启动您的 职业生涯

通过完成课程获得认证

开始
广告