【发布时间】:2020-04-27 15:39:03
【问题描述】:
我有一个如下所示的数据框:
Period No. Frequency
1 Month
2 Month
3 Month
3 Quarter
6 Quarter
9 Quarter
1 YTD
2 YTD
3 YTD
我想添加一个名为“Period”的列,其值由 Period No. AND Frequency 列中的内容确定。所以:
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 语句。我想知道是否有更简洁的方法来完成我想要实现的目标?
【问题讨论】:
标签: r if-statement nested