Функция dplyr mutate_at выдает ошибку: ожидание односторонней формулы, функции или имени функции - PullRequest
1 голос
/ 28 апреля 2020

Я создал следующий фиктивный фрейм данных, который называется aa :

a b
1 5
2 6
3 7
4 8

и следующий код:

aa_ <- 
  aa %>% 
  mutate_at(.vars = vars("a"),
            .funs = list(.*b))

выдает следующую ошибку:

Ошибка: ожидание односторонней формулы, функции или имени функции.

Что я делаю не так?

PD: Если я изменяю "a" для a в команде mutate_at ничего не меняется

Ответы [ 2 ]

3 голосов
/ 28 апреля 2020

При использовании . в mutate_at необходимо указать ~. Попробуйте:

library(dplyr)
aa %>%  mutate_at(.vars = vars("a"),.funs = list(~. * b))

Тем не менее, mutate_at используется, когда у вас есть функция для подачи заявки на более чем один столбец. Только для одного столбца вы можете сделать следующее:

aa %>% mutate(a  = a * b)
0 голосов
/ 28 апреля 2020

Мы можем использовать mutate_ без list

library(dplyr)
aa %>%
   mutate_at(vars('a'), ~ . * b)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...