dplyr :: summarise_all ошибка после mutate_all - PullRequest
0 голосов
/ 05 мая 2018

Почему dplyr::summarise_all выдает ошибку после dplyr::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 голосов
/ 05 мая 2018

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
#  ...

Мы можем преобразовать его в vector с as.vector или c и затем применить summarise_all

mtcars %>% 
    dplyr::mutate_all(funs(as.vector(scale(.)))) %>% 
    dplyr::summarise_all(mean)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...