我正在尝试将季度系列数据转换为 R 中的月度系列。我可以为该季度的三个月中的每个月重复相同的季度数据。不确定为什么 as.yearmon 给出“Jul”而不考虑 Q1、Q2、Q3 等。此外,将 1986Q1 拆分为 1/31/1986、2/28/1986、3/31/1986 的任何帮助都会有所帮助。谢谢!
#输入
1986Q1 25
1986Q2 30
#输出
1986 年 1 月 31 日 25
2/28/1986 25
1986 年 3 月 31 日 25
1986 年 4 月 30 日 30
……
#代码
start=as.yearmon("1986Q1","%YQ")
end=as.yearmon("1986Q2","%YQ")
month=seq(start, end, 1/12)
print(as.yearmon("1986Q1","%YQ"))
"Jul 1986"
最佳答案
使用动物园
library(zoo)
qrtrs = c("1986Q1","1986Q2","1986Q3","1986Q4")
mnths = sapply(1:3, \(i) as.Date(as.yearmon(as.yearqtr(qrtrs)) + i/12) - 1)
sort(as.Date(mnths))
输出
[1] "1986-01-31" "1986-02-28" "1986-03-31" "1986-04-30" "1986-05-31" "1986-06-30" "1986-07-31"
[8] "1986-08-31" "1986-09-30" "1986-10-31" "1986-11-30" "1986-12-31"
这也适用于闰年
关于r - 将 YearQtr 系列转换为月末日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72935566/