Окей, у меня проблемы с чем-то, что должно быть простым. Если у меня есть такой фрейм данных:
x <- data.frame(a = seq(1,3), b = seq(2,4), c = seq(3,5), d = seq(4,6), b2 = seq(5,7), c2 = seq(6,8), d2 = seq(7,9))
# a b c d b2 c2 d2
# 1 2 3 4 5 6 7
# 2 3 4 5 6 7 8
# 3 4 5 6 7 8 9
Я хочу использовать mutate_at для создания новых столбцов на основе результатов b / b2, c / c2 и т. Д. Когда я пытаюсь:
myvars <- c(2:4)
dvars <- c(5:7)
x <- x %>%
mutate_at(vars(myvars), funs('_new' = vars(myvars) / vars(dvars)))
Я получаю сообщение об ошибке «Ошибка оценки: не числовой аргумент для двоичного оператора.»
Я также пытался использовать mapply
, но не смог заставить его работать.
Причина, по которой я хочу использовать mutate_at, заключается в том, что я хочу внести изменения в исходные столбцы на основе результата этого деления на следующем шаге.