group_by不返回分组变量中的所有级别

时间:2017-10-08 10:00:08

标签: r dplyr

我在使用group_by时遇到了一些问题。我知道我的分组变量有两个级别,但group_by只返回其中一个级别。

我做错了什么?

y是我的分组变量带有两个级别,但该命令只返回一行输出:

0x0

下面的代码重现了这个问题。

  mean Q10 Q50 Q90
  1 16.5 1.1 7.5  49

1 个答案:

答案 0 :(得分:2)

您可能在plyr之后加载了dplyr,因此使用了错误的summarize

a %>%
  group_by(y) %>%
  plyr::summarize(mean = mean(v), 
            Q10 = quantile(v, 0.1, type=6),
            Q50 = quantile(v, 0.5, type=6),
            Q90 = quantile(v, 0.9, type=6))
#   mean Q10 Q50 Q90
# 1 16.5 1.1 7.5  49

a %>%
  group_by(y) %>%
  dplyr::summarize(mean = mean(v), 
            Q10 = quantile(v, 0.1, type=6),
            Q50 = quantile(v, 0.5, type=6),
            Q90 = quantile(v, 0.9, type=6))
# # A tibble: 2 x 5
#       y  mean   Q10   Q50   Q90
#   <dbl> <dbl> <dbl> <dbl> <dbl>
# 1     0     3     1     3     5
# 2     1    30    10    30    50