2012-01-17 2 views
6

NOAA에서 일부 데이터를 가져오고 있으며 별도의 열에 날짜와 시간이 있습니다. 내 R 데이터 프레임에 단일 datetime 열을 추가하는 우아한 방법을 찾았지만 불가능했습니다. 나는 역 교환에 관한 스택 교환 질문을 발견했지만이 것은 아니다. 실행할 수있는 간단한 as.Date 명령이 있습니까? 나는 단순히 다운로드 한 텍스트 파일에 대해 read.table을 사용하고 있으며 가져 오기는 그냥 찾는다.별도의 열에있는 날짜와 시간, R 시간 단위로 변환

부표 데이터는 여기에 있습니다 : http://www.ndbc.noaa.gov/data/realtime2/51202.txt

>yr mo dy hr mn degT m.s m.s.1 m sec sec.1 degT.1 hPa degC degC.1 degC.2 nmi hPa.1 ft 
>2012 1 16 3 55 MM MM MM 1.4 10 7.2 339 MM MM 23.9 MM MM MM MM 
+0

2012 년이 올해이고 데이터 라인 시작 부분의 1이 샘플 식별자 일뿐입니다. –

+0

고마워 개빈, 네, 맞습니다. –

답변

10

. sec 인수를 0으로 지정하십시오.

Data$timestamp <- with(Data, ISOdatetime(YY,MM,DD,hh,mm,0)) 
5

네, 당신은 함께 날짜 시간 열을 붙여 넣은 다음 날짜 시간 객체에 그 전체 문자열을 강요하고 싶습니다.

dat <- within(dat, datetime <- as.POSIXlt(paste(yr, mo, dy, hr, mn), 
              format = "%Y %m %d %H %M")) 

dat은 부표 데이터를 포함하는 개체입니다. 이렇게하면 "POSIXlt"클래스 객체 인 새 열이 추가되거나 다른 형식을 선호하는 경우 as.POSIXct()을 사용할 수 있습니다.

또는은, 그래서 자신의 열 이름을 사용할 수있는 파일에보고 한 : 당신은 as.POSIXct에 단순한 래퍼 인 ISOdatetime을 사용할 수 있습니다

dat <- within(dat, datetime <- as.POSIXlt(paste(YY, MM, DD, hh, mm), 
              format = "%Y %m %d %H %M"))