如何在R数据框中找到同名列的行均值?
要在 R 数据框中查找具有相同名称的列的行均值,我们可以按照以下步骤操作 -
首先,创建一个数据框,其中一些列具有相同的名称。
然后,使用 tapply 以及 colnames 和 mean 函数来查找具有相同名称的列的行平均值。
示例
创建数据框
让我们创建一个数据框,如下所示 -
df<-输出结果data.frame(x=rpois(25,2),y=rpois(25,1),x=rpois(25,10),y=rpois(25,5),check.names=FALSE)
df
执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-
x y x y1 2 1 12 6
2 2 3 7 7
3 2 0 13 7
4 2 1 9 4
5 2 0 13 8
6 2 3 10 3
7 3 1 6 6
8 1 0 9 4
9 1 0 10 3
10 2 0 11 4
11 3 0 10 2
12 0 3 2 10
13 1 1 11 4
14 1 2 7 5
15 5 1 7 5
16 1 2 8 2
17 1 1 10 10
18 1 2 12 3
19 0 3 15 5
20 2 0 12 3
21 1 1 13 3
22 2 0 9 4
23 1 1 8 5
24 1 0 9 4
25 1 0 8 6
查找具有相同名称的列的行平均值
使用 tapply 以及 colnames 和 mean 函数来查找数据框 df 中具有相同名称的列的行均值 -
df<-输出结果data.frame(x=rpois(25,2),y=rpois(25,1),x=rpois(25,10),y=rpois(25,5),check.names=FALSE)
t(apply(df,1, function(x) tapply(x,colnames(df),mean)))
x y[1,] 7.0 3.5
[2,] 4.5 5.0
[3,] 7.5 3.5
[4,] 5.5 2.5
[5,] 7.5 4.0
[6,] 6.0 3.0
[7,] 4.5 3.5
[8,] 5.0 2.0
[9,] 5.5 1.5
[10,] 6.5 2.0
[11,] 6.5 1.0
[12,] 1.0 6.5
[13,] 6.0 2.5
[14,] 4.0 3.5
[15,] 6.0 3.0
[16,] 4.5 2.0
[17,] 5.5 5.5
[18,] 6.5 2.5
[19,] 7.5 4.0
[20,] 7.0 1.5
[21,] 7.0 2.0
[22,] 5.5 2.0
[23,] 4.5 3.0
[24,] 5.0 2.0
[25,] 4.5 3.0
以上是 如何在R数据框中找到同名列的行均值? 的全部内容, 来源链接: utcz.com/z/338653.html