如何使用dplyr包基于R数据帧中的另一列查找列中特定字符串的频率?
当我们在R数据帧中有两个或多个分类列,其中字符串作为类别级别或数字作为字符串/整数时,我们可以找到基于另一个的频率。这将有助于我们识别跨列频率,并且可以了解基于另一列的一个类别的分布。要使用dplyr软件包执行此操作,我们可以使用过滤器功能。
示例
请看以下数据帧-
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
热门推荐
3 祝福语简短的微信
10 幼儿祝福语大全简短贺卡
11 感谢教官文案祝福语简短
12 鼠年同事祝福语简短创意
13 元旦祝福语 简短独特群发
14 妈咪跟我生日祝福语简短
15 给儿子新婚祝福语简短
16 伴娘祝福语长文案简短
17 恭喜高考完祝福语简短
18 生日祝福语送老公简短