在 R 中查詢基於多個分類列的互斥組組合的頻率。
為了在 R 資料框中查詢互斥組組合的頻率,我們可以使用 dplyr 包的 count 函式以及 ungroup 函式。
例如,如果我們有一個名為 df 的資料框,其中包含四個分組列,例如 Grp1、Grp2、Grp3 和 Grp4,那麼我們可以使用以下命令計算 df 中唯一的組組合:
count(df,Grp1,Grp2,Grp3,Grp4)%%ungroup()
示例 1
以下程式碼段建立了一個示例資料框:
Class1<-sample(c("First","Second","Third"),20,replace=TRUE)
Class2<-sample(c("First","Second","Third"),20,replace=TRUE)
Class3<-sample(c("First","Second","Third"),20,replace=TRUE)
Score<-sample(1:50,20)
df1<-data.frame(Class1,Class2,Class3,Score)
df1輸出
如果將以上所有程式碼段作為一個程式執行,則會生成以下輸出:
Class1 Class2 Class3 Score 1 Third First Third 40 2 First First Second 38 3 First Second Third 25 4 First Second Second 2 5 First Third Third 12 6 First Second First 13 7 Second Third Third 31 8 First First First 15 9 First Third Third 43 10 Second First Second 28 11 First First Third 22 12 Third Third First 50 13 First Second Second 39 14 First First First 41 15 Second Third Third 49 16 Second First First 36 17 Third Third First 20 18 Second Second Second 19 19 First Third First 5 20 Second First Third 47
要載入 dplyr 包並查詢上面建立的資料框中 Class1、Class2 和 Class3 組的互斥組組合的頻率,請將以下程式碼新增到以上程式碼段中:
Class1<-sample(c("First","Second","Third"),20,replace=TRUE)
Class2<-sample(c("First","Second","Third"),20,replace=TRUE)
Class3<-sample(c("First","Second","Third"),20,replace=TRUE)
Score<-sample(1:50,20)
df1<-data.frame(Class1,Class2,Class3,Score)
library(dplyr)
count(df1,Class1,Class2,Class3)%%ungroup()輸出
如果將以上所有程式碼段作為一個程式執行,則會生成以下輸出:
Class1 Class2 Class3 n 1 First First First 2 2 First First Second 1 3 First First Third 1 4 First Second First 1 5 First Second Second 2 6 First Second Third 1 7 First Third First 1 8 First Third Third 2 9 Second First First 1 10 Second First Second 1 11 Second First Third 1 12 Second Second Second 1 13 Second Third Third 2 14 Third First Third 1 15 Third Third First 2
示例 2
以下程式碼段建立了一個示例資料框:
Grp1<-sample(1:2,20,replace=TRUE) Grp2<-sample(1:2,20,replace=TRUE) Grp3<-sample(1:2,20,replace=TRUE) df2<-data.frame(Grp1,Grp2,Grp3) df2
建立以下資料框
Grp1 Grp2 Grp3 1 2 1 1 2 1 1 1 3 1 2 1 4 2 1 1 5 2 2 2 6 1 2 2 7 2 1 2 8 1 1 2 9 2 2 1 10 1 2 2 11 2 2 2 12 1 1 1 13 2 1 1 14 1 1 2 15 2 2 2 16 1 1 2 17 2 2 2 18 1 2 2 19 2 1 1 20 2 2 2
要查詢上面建立的資料框中 Grp1、Grp2 和 Grp3 組的互斥組組合的頻率,請將以下程式碼新增到以上程式碼段中:
Grp1<-sample(1:2,20,replace=TRUE) Grp2<-sample(1:2,20,replace=TRUE) Grp3<-sample(1:2,20,replace=TRUE) df2<-data.frame(Grp1,Grp2,Grp3) count(df2,Grp1,Grp2,Grp3)%%ungroup()
輸出
如果將以上所有程式碼段作為一個程式執行,則會生成以下輸出:
Grp1 Grp2 Grp3 n 1 1 1 1 2 2 1 1 2 3 3 1 2 1 1 4 1 2 2 3 5 2 1 1 4 6 2 1 2 1 7 2 2 1 1 8 2 2 2 5
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP