要在R数据帧中查找ID明智的频率,我们可以在使用group_by函数定义ID后使用dplyr包的汇总函数,我们想要查找频率的列也将放置在group_by函数中。
查看以下示例以了解如何完成。
以下代码段创建了一个示例数据框-
ID<-sample(1:4,20,replace=TRUE) Sales<-sample(1:10,20,replace=TRUE) df1<-data.frame(ID,Sales) df1创建以下数据框-
要加载dplyr包并在df1中创建一个ID明智的频率列,请将以下代码添加到上面的代码段中-
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出-
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以下代码段创建了一个示例数据框-
ID<-sample(0:2,20,replace=TRUE) Group<-sample(c("I","II","III"),20,replace=TRUE) df2<-data.frame(ID,Group) df2创建以下数据框-
ID Group 1 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