mutate_all之后的dplyr :: summarise_all错误

时间:2018-05-05 03:08:06

标签: r dplyr

为什么dplyr::summarise_alldplyr::mutate_all之后抛出错误?

mtcars %>% dplyr::mutate_all(scale) %>% dplyr::summarise_all(mean)

其中任何一个似乎都能正常工作,但在mutate_all之后似乎没有总结。

mtcars %>% dplyr::mutate_all(scale)
mtcars %>% dplyr::summarise_all(mean)

1 个答案:

答案 0 :(得分:2)

scales返回一个matrix,其中一列作为每列的输出。

mtcars %>%
  dplyr::mutate_all(scale) %>%
  str
#'data.frame':  32 obs. of  11 variables:
#  $ mpg : num [1:32, 1] 0.151 0.151 0.45 0.217 -0.231 ... ####
#   ..- attr(*, "scaled:center")= num 20.1
#   ..- attr(*, "scaled:scale")= num 6.03
#  ...

我们可以使用vectoras.vector将其转换为c,然后应用summarise_all

mtcars %>% 
    dplyr::mutate_all(funs(as.vector(scale(.)))) %>% 
    dplyr::summarise_all(mean)
相关问题