【问题标题】:Why does summarize function don't get an error?为什么汇总函数不会出错?
【发布时间】:2020-10-15 22:05:45
【问题描述】:

我们都知道,我们可以计算任何对向量进行运算并以 R 为基数返回单个值的摘要。 我想问一下,为什么当我尝试使用在summarize 中返回多个值函数的分位数时没有报错?

heights %>%
    filter(sex == "Male") %>%
    summarize(range = quantile(height, c(0, 0.5, 1)))

结果不是错误:

     range
1 50.00000
2 69.00000
3 82.67717

【问题讨论】:

标签: r dplyr summarize


【解决方案1】:

只要发表我的评论,@27φ9 就会给出答案。

dplyr 版本1.0.0 开始,summarise 允许返回包含多个值的输出。

例子:

mtcars %>%
  group_by(cyl) %>%
  summarise(qs = quantile(disp, c(0.25, 0.75)), prob = c(0.25, 0.75))

# A tibble: 6 x 3
# Groups:   cyl [3]
#     cyl    qs  prob
#   <dbl> <dbl> <dbl>
# 1     4  78.8  0.25
# 2     4 121.   0.75
# 3     6 160    0.25
# 4     6 196.   0.75
# 5     8 302.   0.25
# 6     8 390    0.75

有关更多示例,请参阅documentation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-23
    • 1970-01-01
    • 1970-01-01
    • 2021-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多