R tidy adding a summary by group

Viewed 69

I am trying to add a column with a summary statistic calculated by group using group_by and mutate(). I've done it many times before w/o any issues, but the case is no longer. Now the new column contains the summary of the entire data set and not by group:

> mtcars %>% group_by(cyl) %>% mutate(mean = mean(disp))
# A tibble: 32 x 12
# Groups:   cyl [3]
     mpg   cyl  disp    hp  drat    wt  qsec    vs    am  gear  carb  mean
   <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
 1  21       6  160    110  3.9   2.62  16.5     0     1     4     4  231.
 2  21       6  160    110  3.9   2.88  17.0     0     1     4     4  231.
 3  22.8     4  108     93  3.85  2.32  18.6     1     1     4     1  231.
 4  21.4     6  258    110  3.08  3.22  19.4     1     0     3     1  231.
...
10  19.2     6  168.   123  3.92  3.44  18.3     1     0     4     4  231.

The 231 in the last column is the overall mean of disp. I'd expect the last column to contain group means, e.g. 183 for cyl=6 and 105 for cyl=4, etc. What am I doing wrong here?

0 Answers
Related