如何在R中的data.table对象中找到同名列的行差异?
要data.table在 R中的对象中查找同名列的行方差,我们可以按照以下步骤操作 -
首先,创建一个data.table具有相同名称的列的对象。
然后,使用 tapply 以及 colnames 和 var 函数来查找具有相同名称的列的行差异。
示例
创建data.table对象
让我们创建一个data.table对象,如下所示 -
library(data.table)输出结果DT<-
data.table(x=rpois(25,5),y=rpois(25,5),x=rpois(25,2),y=rpois(25,1),check.names=FALSE)
DT
执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-
x y x y1: 2 11 1 1
2: 4 5 2 1
3: 5 4 2 1
4: 5 5 0 0
5: 5 1 0 1
6: 8 6 3 2
7: 4 4 4 1
8: 4 12 4 2
9: 4 4 2 0
10: 8 6 1 3
11: 9 10 1 0
12: 5 3 1 0
13: 7 4 0 0
14: 6 4 4 0
15: 8 7 4 1
16: 10 3 1 0
17: 3 10 3 1
18: 3 4 3 2
19: 8 3 2 3
20: 4 4 0 1
21: 5 2 2 3
22: 10 5 2 2
23: 7 8 2 0
24: 7 7 3 0
25: 7 7 2 0
x y x y
查找具有相同名称的列的行差异
使用 tapply 以及 colnames 和 var 函数来查找data.table对象 DT 中具有相同名称的列的行标准偏差-
library(data.table)输出结果DT<-
data.table(x=rpois(25,5),y=rpois(25,5),x=rpois(25,2),y=rpois(25,1),check.names=FALSE)
t(apply(DT,1, function(x) tapply(x,colnames(DT),var)))
x y[1,] 0.5 50.0
[2,] 2.0 8.0
[3,] 4.5 4.5
[4,] 12.5 12.5
[5,] 12.5 0.0
[6,] 12.5 8.0
[7,] 0.0 4.5
[8,] 0.0 50.0
[9,] 2.0 8.0
[10,] 24.5 4.5
[11,] 32.0 50.0
[12,] 8.0 4.5
[13,] 24.5 8.0
[14,] 2.0 8.0
[15,] 8.0 18.0
[16,] 40.5 4.5
[17,] 0.0 40.5
[18,] 0.0 2.0
[19,] 18.0 0.0
[20,] 8.0 4.5
[21,] 4.5 0.5
[22,] 32.0 4.5
[23,] 12.5 32.0
[24,] 8.0 24.5
[25,] 12.5 24.5
以上是 如何在R中的data.table对象中找到同名列的行差异? 的全部内容, 来源链接: utcz.com/z/350409.html