如何使用dplyr包在R資料框中根據另一列查詢特定字串在某列中的頻率?
當我們在R資料框中擁有兩個或多個分類列,其類別級別為字串或數字作為字串/整數時,我們可以根據另一列查詢一個列的頻率。這將幫助我們識別跨列頻率,並可以理解一個分類列基於另一個列的分佈。要使用dplyr包做到這一點,我們可以使用filter函式。
示例
考慮以下資料框:
Group<−sample(1:5,20,replace=TRUE)
Standard<−sample(c("I","II","III"),20,replace=TRUE)
df1<−data.frame(Group,Standard)
df1輸出
Group Standard 1 3 III 2 5 III 3 5 I 4 3 I 5 2 II 6 4 II 7 3 III 8 2 I 9 1 II 10 4 III 11 3 II 12 4 III 13 4 III 14 4 III 15 4 III 16 4 III 17 5 III 18 3 II 19 5 III 20 1 III
查詢標準的組頻率:
library(dplyr) df1%>%filter(Standard=="I")%>%count(Group)
輸出
Group n 1 2 1 2 3 1 3 5 1
示例
df1%>%filter(Standard=="II")%>%count(Group)
輸出
Group n 1 1 1 2 2 1 3 3 2 4 4 1
示例
df1%>%filter(Standard=="III")%>%count(Group)
輸出
Group n 1 1 1 2 3 2 3 4 6 4 5 3
讓我們來看另一個例子:
Class<−sample(c("First","Second","Third"),20,replace=TRUE)
Gender<−sample(c("Male","Female"),20,replace=TRUE)
df2<−data.frame(Gender,Class)
df2
輸出
Gender Class 1 Female Third 2 Female First 3 Female Second 4 Male Third 5 Male Third 6 Female Second 7 Male First 8 Female Third 9 Female Second 10 Female Second 11 Female First 12 Female Second 13 Male First 14 Female Third 15 Female Third 16 Male Third 17 Male Third 18 Male Second 19 Female Second 20 Male Second df2%>%filter(Class=="Third")%>%count(Gender) Gender n 1 Female 4 2 Male 4 df2%>%filter(Class=="First")%>%count(Gender) Gender n 1 Female 2 2 Male 2 df2%>%filter(Class=="Second")%>%count(Gender) Gender n 1 Female 6 2 Male 2
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP