如何在R数据框中,根据表示因素的另一列的值来查找列的均值?


如果我们有一列表示因子,我们可能想要找到其他列中因子的均值。这有助于比较因子的水平。在R中,我们可以使用aggregate函数来查找此类数据的均值。查看下面的示例以了解如何操作。

示例1

考虑以下数据框

在线演示

> x1<-sample(c(LETTERS[1:4]),20,replace=TRUE)
> y1<-rnorm(20,5,1)
> df1<-data.frame(x1,y1)
> df1

输出

  x1   y1
1 D 5.801197
2 B 3.432060
3 B 6.154168
4 A 5.466655
5 D 5.171689
6 C 5.175170
7 B 5.353469
8 D 4.840470
9 C 4.158980
10 B 4.711343
11 D 4.348326
12 A 5.933382
13 A 3.484782
14 A 2.004760
15 C 4.963307
16 D 4.728794
17 B 3.606417
18 B 6.234446
19 C 4.625489
20 B 6.569928

根据x1中的值查找y1的均值

示例

> aggregate(.~x1,data=df1,mean)

输出

  x1   y1
1 A 4.222395
2 B 5.151690
3 C 4.730736
4 D 4.978095

示例2

在线演示

> x2<-sample(0:1,20,replace=TRUE)
> y2<-rpois(20,5)
> df2<-data.frame(x2,y2)
> df2

输出

 x2 y2
1 1 6
2 0 5
3 1 3
4 0 3
5 1 4
6 0 7
7 0 5
8 0 3
9 0 5
10 0 4
11 0 4
12 0 7
13 0 4
14 0 6
15 0 2
16 1 7
17 0 9
18 1 2
19 0 6
20 0 5

根据x2中的值查找y2的均值

示例

> aggregate(.~x2,data=df2,mean)

输出

 x2 y2
1 0 5.0
2 1 4.4

更新于:2020年11月23日

2K+ 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.