按所有变量计数/与dplyr不同

时间:2018-06-25 16:31:23

标签: r dplyr

说我有这个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

我可以通过提及姓名轻松地分组和计数:

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

如何以最紧凑/最易读的方式对所有内容进行分组,而不提及单个列名?

df1 %>% count(everything())df1 %>% count(vars(everything()))无效。

2 个答案:

答案 0 :(得分:3)

我们可以将输入本身传递给...参数,并使用!!!进行拼接:

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

注意:查看编辑历史记录以了解一些注释

答案 1 :(得分:1)

对于那些不会在接受的答案中使用您所使用的巫毒的人,如果您不需要使用dplyr,则可以使用{{1} }:

data.table