如何在 R 数据框中查找所有行值都相等的列数?
为了找到 R 数据框中所有行值都相等的列数,我们可以按照以下步骤操作:
首先,创建一个数据框。
然后,使用 sum 函数结合 length 和 apply 函数来查找所有行值都相等的列数。
示例 1
创建数据框
让我们创建一个如下所示的数据框:
x<-rpois(25,1) y<-rpois(25,1) z<-rpois(25,1) df<-data.frame(x,y,z) df
输出
执行上述脚本后,将生成以下输出(由于随机化,此输出可能因您的系统而异):
x y z 1 2 1 5 2 1 0 0 3 0 1 1 4 2 0 2 5 0 1 3 6 1 1 1 7 0 0 2 8 1 1 2 9 2 0 0 10 2 0 0 11 2 0 0 12 0 1 0 13 3 0 1 14 1 2 0 15 4 1 0 16 0 4 0 17 0 1 1 18 0 0 1 19 5 0 0 20 0 1 1 21 0 1 1 22 1 1 1 23 1 0 2 24 1 0 2 25 1 1 1
查找所有行值都相等的列数
使用 sum 函数结合 length 和 apply 函数来查找数据框 df1 中所有行值都相等的列数:
x<-rpois(25,1) y<-rpois(25,1) z<-rpois(25,1) df<-data.frame(x,y,z) sum(apply(df, 1, function(x) length(unique(x))==1))
输出
[1] 5
示例 2
创建数据框
让我们创建一个如下所示的数据框:
v1<-round(rnorm(25),0) v2<-round(rnorm(25),0) dat<-data.frame(v1,v2) dat
输出
执行上述脚本后,将生成以下输出(由于随机化,此输出可能因您的系统而异):
v1 v2 1 -1 -1 2 -1 1 3 3 0 4 0 0 5 0 0 6 0 0 7 0 -1 8 1 0 9 -1 -1 10 1 2 11 1 0 12 -1 1 13 1 1 14 -1 -1 15 -1 0 16 0 1 17 -1 2 18 1 -1 19 2 1 20 0 -1 21 0 -1 22 -1 -1 23 0 -2 24 0 0 25 3 0
查找所有行值都相等的列数
使用 sum 函数结合 length 和 apply 函数来查找数据框 df2 中所有行值都相等的列数:
v1<-round(rnorm(25),0) v2<-round(rnorm(25),0) dat<-data.frame(v1,v2) sum(apply(dat, 1, function(x) length(unique(x))==1))
输出
[1] 6
广告