首页 > 解决方案 > 如何根据所属列值将R中count()函数的结果添加到原始数据框中?

问题描述

我需要计算每个列值有多少个案例,然后对另一列进行平均,该列按我在 R 中使用 count() 函数的列值分组。但是当我使用 count() 函数时,除了那些列之外的所有列我对数据进行分组的那个已经消失了。有谁知道如何根据我用来对数据进行分组的列值将给定的 count() 值附加到原始数据框,或者直接计算每个列值的案例,以便其余数据框列(哪个不用于对数据进行分组)不会消失?谢谢。

标签: r

解决方案


如上所述,如果您共享一段数据会更好,这样您就有更好的机会获得所需的输出。但是,如果您希望将count函数的结果添加到您的数据集中,请add_count改用。我希望这个例子是你想到的:

library(dplyr)

df <- tribble(
  ~name,    ~gender,   ~runs,
  "Max",    "male",       10,
  "Sandra", "female",      1,
  "Susan",  "female",      4
)

df %>% 
  add_count(gender) %>%
  group_by(gender) %>%
  mutate(avg_runs = mean(runs))

# A tibble: 3 x 5
# Groups:   gender [2]
  name   gender  runs     n avg_runs
  <chr>  <chr>  <dbl> <int>    <dbl>
1 Max    male      10     1     10  
2 Sandra female     1     2      2.5
3 Susan  female     4     2      2.5


推荐阅读