如何在R中的data.table对象中找到具有相同名称的列的总行数?

要data.table在 R中的对象中查找具有相同名称的列的总行数,我们可以按照以下步骤操作 -

  • 首先,创建一个data.table具有相同名称的列。

  • 然后,使用 tapply 以及 colnames 和 sum 函数来查找具有相同名称的列的行总数。

示例

创建数据表

让我们创建一个data.table如下所示的 -

library(data.table)

DT<-

data.table(x=rpois(25,5),y=rpois(25,10),x=rpois(25,5),y=rpois(25,2),check.names=FALSE)

DT

输出结果

执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-

    x  y  x y

1:  5 13  8 4

2:  1 12  1 4

3:  3 12  7 2

4:  5 12  4 1

5:  3 12  6 4

6:  9  7  5 3

7:  5 10  7 3

8:  4 11  4 1

9:  3 12  3 3

10: 8 11  5 0

11: 3  9  6 3

12: 5 14  3 2

13: 6 10  5 0

14: 4 12 10 3

15: 4  9  4 1

16: 9  7  1 1

17: 5 13  7 2

18: 4  8  3 0

19: 5 16  1 5

20: 5 14  4 1

21: 5 11 11 1

22: 4  5  3 2

23: 6 11  4 2

24: 7  5  5 2

25: 9 18  4 0

    x  y  x y

查找具有相同名称的列的行总数

使用 tapply 以及 colnames 和 sum 函数来查找data.table对象 DT 中具有相同名称的列的总行数-

library(data.table)

DT<-

data.table(x=rpois(25,5),y=rpois(25,10),x=rpois(25,5),y=rpois(25,2),check.names=FALSE)

t(apply(DT,1, function(x) tapply(x,colnames(DT),sum)))

输出结果
       x y

[1,]  13 17

[2,]   2 16

[3,]  10 14

[4,]   9 13

[5,]   9 16

[6,]  14 10

[7,]  12 13

[8,]   8 12

[9,]   6 15

[10,] 13 11

[11,]  9 12

[12,]  8 16

[13,] 11 10

[14,] 14 15

[15,]  8 10

[16,] 10  8

[17,] 12 15

[18,]  7  8

[19,]  6 21

[20,]  9 15

[21,] 16 12

[22,]  7  7

[23,] 10 13

[24,] 12  7

[25,] 13 18

以上是 如何在R中的data.table对象中找到具有相同名称的列的总行数? 的全部内容, 来源链接: utcz.com/z/343720.html

回到顶部