如何在 R 資料框中選取類別數少於四個的列?
如果列是分類變數,那麼至少有兩個類別,並且類別總數沒有限制,但這也會取決於案例總數。如果我們有一個數據框包含一些分類列,其類別數量多於或少於 4 個,那麼我們可能希望選取類別數少於四個的列。當我們想要有偏見地選取資料或具有一些允許這種更改的預定義資料特徵時,這可能是必需的。可以使用 `sapply` 函式選取此類列的子集,如下面的示例所示。
示例 1
考慮以下資料框:
> x1<-sample(c("Hot","Cold","Warm"),20,replace=TRUE)
> x2<-sample(c("Male","Female"),20,replace=TRUE)
> x3<-sample(letters[1:4],20,replace=TRUE)
> df1<-data.frame(x1,x2,x3)
> df1輸出
x1 x2 x3 1 Warm Male b 2 Cold Female c 3 Cold Male a 4 Hot Male d 5 Hot Male d 6 Hot Female a 7 Hot Male a 8 Cold Female d 9 Warm Male d 10 Warm Female d 11 Cold Male a 12 Cold Female c 13 Hot Male b 14 Warm Male c 15 Cold Male b 16 Warm Male a 17 Hot Male b 18 Cold Male b 19 Hot Female c 20 Warm Female d
查詢 df1 中類別數少於 4 的列的子集:
> df1[,sapply(df1, function(col) length(unique(col)))<4]
輸出
x1 x2 1 Warm Male 2 Cold Female 3 Cold Male 4 Hot Male 5 Hot Male 6 Hot Female 7 Hot Male 8 Cold Female 9 Warm Male 10 Warm Female 11 Cold Male 12 Cold Female 13 Hot Male 14 Warm Male 15 Cold Male 16 Warm Male 17 Hot Male 18 Cold Male 19 Hot Female 20 Warm Female
示例 2
> y1<-sample(c("Male","Female"),20,replace=TRUE)
> y2<-sample(letters[1:5],20,replace=TRUE)
> y3<-sample(c("Asian","American","Chinese"),20,replace=TRUE)
> df2<-data.frame(y1,y2,y3)
> df2輸出
y1 y2 y3 1 Male b Chinese 2 Female b American 3 Female d Asian 4 Female e American 5 Female e Asian 6 Female c Chinese 7 Female a Chinese 8 Female a Chinese 9 Male d American 10 Female d Chinese 11 Female d Chinese 12 Female c American 13 Female b American 14 Male d Chinese 15 Male a American 16 Male e Asian 17 Male b Asian 18 Female d Chinese 19 Female d Chinese 20 Female c Asian
查詢 df2 中類別數少於 4 的列的子集:
> df2[,sapply(df2, function(col) length(unique(col)))<4]
輸出
y1 y3 1 Male Chinese 2 Female American 3 Female Asian 4 Female American 5 Female Asian 6 Female Chinese 7 Female Chinese 8 Female Chinese 9 Male American 10 Female Chinese 11 Female Chinese 12 Female American 13 Female American 14 Male Chinese 15 Male American 16 Male Asian 17 Male Asian 18 Female Chinese 19 Female Chinese 20 Female Asian
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP