У меня есть фрейм данных, который выглядит следующим образом:
Period No. Frequency
1 Month
2 Month
3 Month
3 Quarter
6 Quarter
9 Quarter
1 YTD
2 YTD
3 YTD
Я хочу добавить столбец с именем «Период», значения которого определяются значениями в столбцах «Номер периода» и «Частота». Итак:
Period No. Frequency Period
1 Month 1
2 Month 2
3 Month 3
3 Quarter Q1
6 Quarter Q2
9 Quarter Q3
1 YTD YTD-Jan
2 YTD YTD-Feb
3 YTD YTD-Mar
Сейчас я использую вложенные операторы if для этого. Например:
data$Period <-
ifelse(
(data$`Period No.` == '3') & (data$Frequency == 'Q1'), 'Q1',
ifelse(
(data$`Period No.` == '6') & (data$Frequency == 'Q2'), 'Q2',
ifelse(
(data$`Period No.` == '9') & (data$Frequency == 'Q3'), 'Q3', 'ERROR'
)
)
)
Если бы я делал это каждый месяц для каждой итерации частоты, у меня было бы 30 вложенных операторов ifelse. Мне интересно, есть ли более краткий способ сделать то, чего я пытаюсь достичь?