如何在R中的data.table对象中找到所有行值都相等的列数?

要data.table在 R中的对象中找到所有行值都相等的列数,我们可以按照以下步骤操作 -

  • 首先,创建一个data.table对象。

  • 然后,使用 sum 函数以及 length 和 apply 函数来查找所有行值都相等的列数。

示例 1

创建data.table对象

让我们创建一个data.table对象,如下所示 -

library(data.table)

x<-sample(0:1,25,replace=TRUE)

y<-sample(0:1,25,replace=TRUE)

DT1<-data.table(x,y)

DT1

输出结果

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

    x y

1:  1 0

2:  0 0

3:  1 0

4:  1 1

5:  0 1

6:  1 1

7:  1 1

8:  0 0

9:  0 1

10: 0 0

11: 1 0

12: 0 0

13: 1 0

14: 1 1

15: 1 0

16: 1 0

17: 0 1

18: 0 1

19: 0 0

20: 1 0

21: 1 1

22: 1 1

23: 0 0

24: 0 1

25: 0 1

    x y

找出所有行值都相等的列数

使用 sum 函数以及 length 和 apply 函数来查找data.table对象 DT1中所有行值相等的列数-

library(data.table)

x<-sample(0:1,25,replace=TRUE)

y<-sample(0:1,25,replace=TRUE)

DT1<-data.table(x,y)

sum(apply(DT1, 1, function(x) length(unique(x))==1))

输出结果
[1] 12

示例 2

创建data.table对象

让我们创建一个data.table对象,如下所示 -

library(data.table)

v1<-rpois(25,1)

v2<-rpois(25,1)

DT2<-data.table(v1,v2)

DT2

输出结果

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

    v1 v2

1:  0  0

2:  0  0

3:  2  3

4:  2  4

5:  2  0

6:  1  0

7:  2  0

8:  0  1

9:  1  1

10: 0  1

11: 0  1

12: 2  2

13: 0  1

14: 2  0

15: 0  2

16: 0  1

17: 1  2

18: 1  0

19: 2  1

20: 2  0

21: 1  1

22: 1  1

23: 1  0

24: 0  0

25: 2  1

   v1 v2

找出所有行值都相等的列数

使用 sum 函数以及 length 和 apply 函数来查找data.table对象 DT2中所有行值相等的列数-

library(data.table)

v1<-rpois(25,1)

v2<-rpois(25,1)

DT2<-data.table(v1,v2)

sum(apply(DT2, 1, function(x) length(unique(x))==1))

输出结果
[1] 7

以上是 如何在R中的data.table对象中找到所有行值都相等的列数? 的全部内容, 来源链接: utcz.com/z/347498.html

回到顶部