2015-01-26 3 views
0

나는 현재 날짜로부터 과거 몇 시간을 계산할 필요가있는 데이터 세트를 가지고 있으며, 각 날짜는입니다. 1 분기는 92 일입니다.분기 계산 R 코드

나는 대부분의 코드가 올바르게 쓰여졌으며, 계산 부분이 잘못되었다고 생각합니다.

QTR에서 일을 삭제할 수 있습니까? 또는 분기를 계산할 수있는 더 좋은 방법이 있습니까? 또한 사용자 지정 패키지를 사용하지 않고이 작업을 수행해야합니다. 그래서

더 lubridate, 날짜 시간, 등등이 같은 데이터 프레임 (이러한 결과가 만들어집니다) 싶어하지 :

날짜 DIFF QTR을

1 2014년 6월 24일 342일 4

2 1999년 4월 11일 1천2백1일 137

3 1979년 1월 1일 1만3천일 1,254

,

대신 난이 얻을 :

날짜 DIFF QTR

1 2014년 6월 24일 3백42일 사일

2 1999년 4월 11일 1천2백1일 137일

3 1979 -01-01 1만3천일 1,254일

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

diff의 속성을'as.vector() '로 제거 할 수 있습니다. –

답변

0

에 추가

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> 
+0

정말 고맙습니다! 나는 내가 시도한 것처럼 맹세한다. 게시하기로 결정하기 전에 행운이 없다. 그것은 명백한 해결책이었습니다! – April