如何在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)的水平组合的平均值与其他组合不同。
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP