如何在 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
廣告