Как я могу создать новые столбцы, применяя различные преобразования к одному и тому же столбцу, используя mutate? - PullRequest
0 голосов
/ 29 октября 2019

Мне нужно создать новые столбцы, применяя преобразования к одному столбцу даты. Как я могу добиться этого с помощью 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 месяцев из столбца даты. Цикл не запускается.

Любая помощь приветствуется! Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...