dplyr Заменить значения в нескольких переменных - PullRequest
0 голосов
/ 31 мая 2018

Мне нужно заменить не 4 на 80 в цил, шестерня, карбюратор колонны.Я попробовал следующее, но это не работает.

mtcars %>% mutate_at(vars(cyl, gear, carb), replace(which(.!=4), 80))

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

Error in replace(which(. != 4), 80) : 
  argument "values" is missing, with no default

Что мне здесь не хватает?

1 Ответ

0 голосов
/ 31 мая 2018

Вам необходимо передать функцию или формулу в mutate_at в качестве второго аргумента:

mtcars %>% mutate_at(vars(cyl, gear, carb), ~ replace(., which(.!=4), 80))

Или создать функцию, используя funs:

mtcars %>% mutate_at(vars(cyl, gear, carb), funs(replace(., which(.!=4), 80)))
...