如何在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(thisoutputwillvaryonyoursystemduetorandomization)-
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(thisoutputwillvaryonyoursystemduetorandomization)-
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