2016-06-28 6 views
1

내 요청을 고려할 사람에게 도움과 감사를 표합니다.데이터 프레임의 가장 빠른 날짜부터 날짜 열을 변환하십시오.

내 데이터 프레임의 날짜 열 (클래스 = 날짜)을 1966-10-01부터 2006-09-30까지 포함 된 가장 빠른 관찰 일 이후의 날로 변환하고 싶습니다. 따라서 매일 관찰하는 데는 40 년 동안 1에서 14640 (40 * 366)의 고유 값이 있어야합니다. 내 일자 칼럼의

여기 부분 : 어떤 도움이 정말 apreciated 될

Date 
17/12/1966 
05/05/1968 
30/10/1968 
16/08/1970 
07/01/1971 
25/11/1971 
29/09/1973 
18/01/1974 
17/09/1975 
06/01/1976 
28/11/1976 
04/07/1978 
15/11/1978 
27/07/1980 
20/09/1981 
03/10/1981 
11/09/1983 
23/09/1984 
25/10/1984 
03/12/1985 
07/12/1986 

[...] 

. 감사

+0

가능한 복제를 [R에 율리우스 일에 날짜 벡터로 변환] (http://stackoverflow.com/questions/21414847/convert-a-date-vector-into-julian-day-in-r) – ytk

+0

감사합니다. 방금 질문을 수정했습니다. –

답변

1

이 작동합니다 :

library(lubridate) 
ref_date <- dmy('01-10-1966') 
new_date <- dmy('17/12/1966') 
day_number <- as.numeric(difftime(new_date, ref_date)) 

편집 :

예였다

; , 데이터 집합에 직접 적용하기 위해 사용

df$day_number <- as.numeric(difftime(df$Date, ref_date)) 
+0

안녕하세요, 네 그것은 작동하지만 .. 17/12/1966 날짜에만 따라서 나는 단지 하나의 율리우스 데이를 가지고 있습니다. 어떻게 전체 날짜 열로 확장 할 수 있습니까? 감사합니다 –

+0

df $ day_number <- as.numeric (difftime (df $ Date, ref_date)) – mkt

+0

확실한 것! 도와 줄 수있어서 기뻐. – mkt

2

자료 R 원점 지정하는 옵션과 율리우스 기능을 가지고 :의

#example 
date<-as.Date("2016-06-27") 

#base R 
result<-julian(date, origin=as.Date("1966-10-01")) 
result 
#[1] 18167 
#attr(,"origin") 
#[1] "1966-10-01" 

as.numeric(result) 
#18167 
관련 문제