Мне нужно создать новые столбцы, применяя преобразования к одному столбцу даты. Как я могу добиться этого с помощью mutate?
Я пробовал цикл с mutate, но это не работает.
Вот код, который я пытаюсь:
c <- c(1,6,12) # numbers that I need to subtract from the target date column of the data frame, and create corresponding new columns.
PS: числовой вектор является динамическим, то есть может иметь больше или меньше чисел, чем показано. Ниже приведен код:
for (i in length(c)) {
df <- df %>%
mutate(paste("newcolumn",i)= ceiling_date((`target date`) %m-% months(hor[i]), "month") - days(1))
}
Это дает мне ошибку: неожиданный '}' в "}"
В то время как когда я заменяю "=" на "," внутри mutate:
for (i in length(c)) {
df <- df %>%
mutate(paste("newcolumn",i), ceiling_date((`target date`) %m-%
months(hor[i]), "month") - days(1))
}
Он только мутирует / создает один столбец, т.е. берет только c[3]
из числового вектора и вычитает 12 месяцев из столбца даты. Цикл не запускается.
Любая помощь приветствуется! Спасибо!