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