2017-10-31 15 views
0

내 데이터는이 같은 시작과 종료 시간 스탬프가 :집계 날짜와 시간

200401010000 200401010030 
200401010030 200401010100 
200401010100 200401010130 and so on... 

내가 사용 %의 YYYY의 % MM % DD % HH % MM 형식으로 이러한 필드를 변환하기 위해 노력하고있어 lubridate 및 as.POSIXct하지만 그것은 단지 나에게. 어떤 도움을 주시면 감사하겠습니다. 목표는 매월 데이터를 집계하는 것입니다.

start_time = as.POSIXct(dat$TIMESTAMP_START, format = "%YYYY%MM%DD %HH%MM",origin = "2004-01-01 00:00", tz="EDT") 
stop_time = as.POSIXct(dat$TIMESTAMP_END, format = "%YYYY%MM%DD%HH%MM",origin = "2004-01-01 00:30", tz="EDT") 
dat$interval <- interval(start_time, stop_time) 

답변

0

두 문제를 내가 볼 수 있습니다 : 다음과 같이 지금까지 사용했던 코드는

  1. 이미 lubridate를 사용하는 경우, 당신은 아마 기능 ymd_hm()을 사용해야하는 그냥 깨끗한 IMO입니다.

  2. 벡터에 해당 기능을 적용 할 수 없습니다 (dat$TIMESTAMP_STARTdat$TIMESTAMP_END). 이렇게하려면 다음을 사용할 수 있습니다.

    start_time <- sapply(dat$TIMESTAMP_START, ymd_hm()) 
    end_time <- sapply(dat$TIMESTAMP_END, ymd_hm()) 
    

    이렇게하면 벡터의 각 항목에 기능이 적용됩니다.