У меня есть следующий фрейм данных (извините за то, что не предоставил пример с dput, кажется, он не работает со списками, когда я вставляю его сюда):
Теперь я пытаюсь создать новый столбец y
, который принимает разницу между mnt_ope
и ref_amount
для каждого элемента ref_amount
. Результатом будет в каждой строке список с тем же количеством элементов, что и соответствующее значение ref_amount
.
Я пытался:
data <- data %>%
mutate( y = mnt_ope - ref_amount)
Но я получаю как ошибку:
Evaluation error: non-numeric argument to binary operator.
С dput
:
structure(list(mnt_ope = c(500, 500, 771.07, 770.26, 770.26,
770.26, 770.72, 770.72, 770.72, 770.72, 770.72, 779.95, 779.95,
779.95, 779.95, 2502.34, 810.89, 810.89, 810.89, 810.89, 810.89
), ref_amount = list(c(500, 500), c(500, 500), c(771.07, 770.26,
770.26), c(771.07, 770.26, 770.26), c(771.07, 770.26, 770.26),
c(771.07, 770.26, 770.26), c(771.07, 770.26, 770.26), c(771.07,
770.26, 770.26), c(771.07, 770.26, 770.26), c(771.07, 770.26,
770.26), c(771.07, 770.26, 770.26), c(771.07, 770.26, 770.26
), c(771.07, 770.26, 770.26), c(771.07, 770.26, 770.26),
c(771.07, 770.26, 770.26), 2502.34, c(810.89, 810.89, 810.89
), c(810.89, 810.89, 810.89), c(810.89, 810.89, 810.89),
c(810.89, 810.89, 810.89), c(810.89, 810.89, 810.89))), row.names = c(NA,
-21L), class = c("tbl_df", "tbl", "data.frame"))