假设有以下数据集:
df <- data.frame(
group1 = c("A", "A", "B", "B", "C", "C"),
group2 = c("X", "Y", "X", "Y", "X", "Y"),
value = c(10, 20, 30, 20, 10, 40)
)
可以使用dplyr
包的group_by
和summarize
函数进行汇总:
library(dplyr)
df %>%
group_by(group1, group2) %>%
summarize(count = n())
输出:
# A tibble: 6 x 3
# Groups: group1 [3]
group1 group2 count
1 A X 1
2 A Y 1
3 B X 1
4 B Y 1
5 C X 1
6 C Y 1
上述代码按group1
和group2
两个变量进行了分组,并使用n()
函数计算了每组中value
变量的出现次数,并将结果存储在新的变量count
中。
如果要按value
变量统计出现次数并将结果按照group1
和group2
两个变量的组合保存,可以使用以下代码:
df %>%
group_by(group1, group2, value) %>%
summarize(count = n())
输出:
# A tibble: 5 x 4
# Groups: group1, group2 [?]
group1 group2 value count
1 A X 10 1
2 A Y 20 1
3 B X 30 1
4 B Y 20 1
5 C Y 40
上一篇:按两次键不同的功能运行
下一篇:按两个不同的列表对列表进行排序