说我有这个data.frame:
library(dplyr)
df1 <- data.frame(x=rep(letters[1:3],1:3),y=rep(letters[1:3],1:3))
# x y
# 1 a a
# 2 b b
# 3 b b
# 4 c c
# 5 c c
# 6 c c
Run Code Online (Sandbox Code Playgroud)
我可以通过提及名称轻松分组和计数:
df1 %>%
count(x,y)
# A tibble: 3 x 3
# x y n
# <fctr> <fctr> <int>
# 1 a a 1
# 2 b b 2
# 3 c c 3
Run Code Online (Sandbox Code Playgroud)
如何以最紧凑/可读的方式在不提及单个列名的情况下按所有内容分组?
我们可以将输入本身传递给...参数并将其与!!!:
df1 %>% count(!!!.)
# # A tibble: 3 x 3
# x y n
# <fctr> <fctr> <int>
# 1 a a 1
# 2 b b 2
# 3 c c 3
Run Code Online (Sandbox Code Playgroud)
注意:查看编辑历史以了解一些评论
有了基础,我们可以做到: aggregate(setNames(df1[1],"n"), df1, length)