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