r - 使用组大小 (`group_size` ) 在 `summarise` 在 `dplyr`

标签 r dplyr

<分区>

我想在 dplyr::summarise 中使用组的大小作为分组操作的一部分。

例如,通过将 cars 数据按 cyl 分组并将手册数量除以组的大小来计算汽缸的手册比例:

mtcars %>%
  group_by(cyl) %>%
  summarise(zz = sum(am)/group_size(.))

但是,(我认为),因为 group_size 在分组的 tbl_df. 之后,所以返回

Error in mutate_impl(.data, dots) : basic_string::resize

有办法吗?

最佳答案

您可能可以使用 n() 获取组的行数

library(dplyr)
mtcars %>%
  group_by(cyl) %>%
  summarise(zz = sum(am)/n())

#    cyl    zz
#  <dbl> <dbl>
#1  4.00 0.727
#2  6.00 0.429
#3  8.00 0.143

关于r - 使用组大小 (`group_size` ) 在 `summarise` 在 `dplyr`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50362461/

相关文章:

R观星者: Different decimals

r - 如何查找特定于 ODBC 驱动程序的参数

引用另一个表中的列名以插入共享 ID 中的值

r - "Hmisc"软件包或 namespace 无法加载-没有名为'latticeExtra'的软件包

r - 如果列中的值不同,则绑定(bind)两个表的行

r - 努力在 tidyverse 中优雅地改变列

r - 在dplyr mutate中,如何引用多个类似命名的变量

r - 使用字符串作为输入使用 dplyr 编程

r - 如何创建一个依赖于先前观察到的事件的平均值的列?

R:匹配奇数次重复