如何在 R 数据帧中找到 ID 明智的频率?
要在 R 数据帧中查找 ID 明智的频率,我们可以在使用 group_by 函数定义 ID 后使用 dplyr 包的汇总函数,我们想要查找频率的列也将放置在 group_by 函数中。
查看以下示例以了解如何完成。
示例 1
以下代码段创建了一个示例数据框 -
ID<-sample(1:4,20,replace=TRUE)Sales<-sample(1:10,20,replace=TRUE)
df1<-data.frame(ID,Sales)
df1
创建以下数据框 -
ID Sales1 4 4
2 1 3
3 4 9
4 4 8
5 2 6
6 1 9
7 2 8
8 1 8
9 1 6
10 1 1
11 4 6
12 2 9
13 2 10
14 2 6
15 3 2
16 3 9
17 4 6
18 1 8
19 2 10
20 2 1
要加载 dplyr 包并在 df1 中创建一个 ID 明智的频率列,请将以下代码添加到上面的代码段中 -
library(dplyr)输出结果df1%>%group_by(ID,Sales)%>%summarise(Frequency=n())
`summarise()` regrouping output by 'ID' (override with `.groups` argument)
# A tibble: 16 x 3
# Groups: ID [4]
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -
ID Sales Frequency<int> <int> <int>
1 1 1 1
2 1 3 1
3 1 6 1
4 1 8 2
5 1 9 1
6 2 1 1
7 2 6 2
8 2 8 1
9 2 9 1
10 2 10 2
11 3 2 1
12 3 9 1
13 4 4 1
14 4 6 2
15 4 8 1
16 4 9 1
示例 2
以下代码段创建了一个示例数据框 -
ID<-sample(0:2,20,replace=TRUE)Group<-sample(c("I","II","III"),20,replace=TRUE)
df2<-data.frame(ID,Group)
df2
创建以下数据框 -
ID Group1 2 III
2 0 I
3 0 I
4 0 I
5 2 III
6 0 II
7 2 II
8 2 II
9 1 III
10 2 I
11 1 II
12 1 I
13 1 I
14 1 I
15 2 II
16 0 II
17 1 I
18 2 I
19 2 I
20 0 III
要在 df2 中创建一个 ID 明智的频率列,请将以下代码添加到上面的代码段中 -
df2%>%group_by(ID,Group)%>%summarise(Frequency=n())输出结果`summarise()` regrouping output by 'ID' (override with `.groups` argument)
# A tibble: 9 x 3
# Groups: ID [3]
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -
ID Group Frequency<int><chr> <int>
1 0 I 3
2 0 II 2
3 0 III 1
4 1 I 4
5 1 II 1
6 1 III 1
7 2 I 3
8 2 II 3
9 2 III 2
以上是 如何在 R 数据帧中找到 ID 明智的频率? 的全部内容, 来源链接: utcz.com/z/338661.html