如何找到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输出结果
执行时,上述脚本生成以下内容output(thisoutputwillvaryonyoursystemduetorandomization)-
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输出结果
执行时,上述脚本生成以下内容output(thisoutputwillvaryonyoursystemduetorandomization)-
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