【发布时间】:2017-09-08 03:40:09
【问题描述】:
我正在使用包含每个日历季度产品交易数量的日期框架 (INPUT)。第一列 (DATE) 包含格式为“2016 Q2”的日历季度。我想将此日期转换为财务季度格式,例如“2016/17 Q1”。财政年度从 4 月 1 日开始。
我想出了以下代码来完成这项工作,但我想知道是否有一个公式或更简洁的代码可以使用。
INPUT$FY_Date=character(nrow(INPUT))
for (i in 1:nrow(INPUT)) {
INPUT$FY_Date[i]= if(substr(INPUT$DATE[i],7,7)==1) paste(as.numeric(substr(INPUT$DATE[i],1,4))-1,"/",substr(INPUT$DATE[i],3,4)," Q4",sep="") else
paste(substr(INPUT$DATE[i],1,4),"/", formatC(as.numeric(substr(INPUT$DATE[i],3,4))+1,width=2,format="d",flag=0)," Q",as.numeric(substr(INPUT$DATE[i],7,7))-1,sep="")
}
我找不到任何以前的相关帖子,因此我将不胜感激。
【问题讨论】:
-
请确保您的示例完整(包括输入)且可重现,以便其他人可以轻松地从您的问题中复制它并将其粘贴到他们的会话中以运行它。还要确保它们是最小的。数据框在这里无关紧要,只是分散了问题的核心。
标签: r date calendar transform financial