如何在 R 中的 data.table 对象中查找所有行值都相等的列数?
为了在 R 中的 data.table 对象中查找所有行值都相等的列数,我们可以按照以下步骤操作:
首先,创建一个 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
输出
执行上述脚本后,会生成以下输出(由于随机化,此输出在您的系统上会有所不同):
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
输出
执行上述脚本后,会生成以下输出(由于随机化,此输出在您的系统上会有所不同):
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
广告