我有一个数据集,我需要计算从现在开始的过去几个季度,每个日期是。四分之一等于92天。
我认为我已经正确编写了大部分代码,其计算季度部分是错误的。
我可以从QTR中删除日期吗?或者有更好的方法来计算季度。另外,我需要在不使用自定义包的情况下执行此操作。所以没有rubridate,Datetime等。
我希望获得这样的数据框(这些结果已经完成):
日期差异QTR
1 2014-06-24 342天4
2 1999-04-11 1201天137
3 1979-01-01 13000天1254
相反,我得到了这个:
日期差异QTR
1 2014-06-24 342天4天
2 1999-04-11 1201天137天
3 1979-01-01 13000天1254天
Date=c("2014-06-24","1999-04-11","1979-01-01")
Quarter=as.Date(Date, origin="1970-01-01")
Fun=function(Quarter){
Today=Sys.Date()
Diff=difftime(Today,Quarter[],units='days')
QTR=floor(Diff/92)
data.frame(Date,Diff,QTR)
}
Fun(Quarter)
答案 0 :(得分:0)
加入as.numeric
Date=c("2014-06-24","1999-04-11","1979-01-01")
Quarter=as.Date(Date, origin="1970-01-01")
Fun=function(Quarter){
Today=Sys.Date()
Diff=difftime(Today,Quarter[],units='days')
QTR=as.numeric(floor(Diff/92))
data.frame(Date,Diff,QTR)
}
Fun(Quarter)
R> Fun(Quarter)
Date Diff QTR
1 2014-06-24 216 days 2
2 1999-04-11 5769 days 62
3 1979-01-01 13174 days 143
R>