如何使用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

以上是 如何使用dplyr包基于R数据帧中的另一列查找列中特定字符串的频率? 的全部内容, 来源链接: utcz.com/z/343335.html

回到顶部