如何在R中基於一個分類列查詢多個分類列的唯一值個數?
要根據一個分類列查詢多個分類列的唯一值個數,我們可以按照以下步驟進行:
- 首先,建立一個數據框。
- 使用`summarise_each`函式和`n_distinct`函式來查詢基於分類列的唯一值個數。
建立資料框
讓我們建立一個如下所示的資料框:
x<-
sample(c("First","Second","Third","Fourth","Fifth","Sixth","Seventh","Eighth","Nineth",
"Tenth"),25,replace=TRUE)
C1<-sample(LETTERS[1:4],25,replace=TRUE)
C2<-sample(letters[1:4],25,replace=TRUE)
df<-data.frame(x,C1,C2)
df執行上述指令碼後,會生成以下輸出(由於隨機化,此輸出會在您的系統上有所不同):
x C1 C2 1 Seventh B a 2 Third C c 3 Nineth A a 4 Third D c 5 Seventh D d 6 Fourth A c 7 Seventh B a 8 Third D a 9 Seventh D c 10 First A a 11 Eighth D d 12 Tenth C b 13 Fifth A c 14 Second A c 15 Fourth B d 16 Nineth C b 17 Fifth D a 18 First A a 19 Tenth B a 20 Nineth A b 21 Third B b 22 Tenth A a 23 Fifth A a 24 Sixth D b 25 First A c
查詢基於分類列的唯一值個數
使用dplyr包的`n_distinct`函式和`summarise_each`函式來查詢基於x的C1和C2中的唯一值個數:
x<-
sample(c("First","Second","Third","Fourth","Fifth","Sixth","Seventh","Eighth","Nineth",
"Tenth"),25,replace=TRUE)
C1<-sample(LETTERS[1:4],25,replace=TRUE)
C2<-sample(letters[1:4],25,replace=TRUE)
df<-data.frame(x,C1,C2)
library(dplyr)
df %>% group_by(x) %>% summarise_each(funs(n_distinct(.)))輸出
# A tibble: 10 x 3 x C1 C2 <chr> <int> <int> 1 Eighth 1 1 2 Fifth 2 2 3 First 1 2 4 Fourth 2 2 5 Nineth 2 2 6 Second 1 1 7 Seventh 2 3 8 Sixth 1 1 9 Tenth 3 2 10 Third 3 3
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP