计算Quarters R代码

时间:2015-01-26 18:26:59

标签: r

我有一个数据集,我需要计算从现在开始的过去几个季度,每个日期是。四分之一等于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)

1 个答案:

答案 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>