Search code examples
rdplyrsummarize

Using mtcars data to make a summarised table of cylinders versus centered(mpg)


Bare with me... I am using the R/RStudio with the data mtcars, dplyr , mutate and the summarise commands. Also tried group by.

I want to center the values mtcars$mpg then take that info and display the summary of the number of cylinders vs centered mtcars$mpg.

So far...

mtcars %>% mutate(centered_mpg = mpg - mean(mpg, na.rm = TRUE)) %>% summarise(centered_mpg, cyl)

The above produces:

centered_mpg cyl
0.909375 6
0.909375 6
2.709375 4
1.309375 6
... ...

INSTEAD, I WANT:

centered_mpg cyl
x1 4
x2 6
x3 8

Solution

  • Are you looking for this?

    with(mtcars, aggregate(list(centered_mpg=scale(mpg, scale=FALSE)), list(cyl=cyl), mean))
    #   cyl centered_mpg
    # 1   4    6.5730114
    # 2   6   -0.3477679
    # 3   8   -4.9906250