R - NA

2013-07-22 4 views
2

세이와 시계열 패딩 다음 I는 데이터 프레임이있는 경우 :R - NA

Date1 <- seq(from = as.POSIXct("2010-05-01 02:00"), 
      to = as.POSIXct("2010-10-10 22:00"), by = 3600) 
Dat <- data.frame(DateTime = Date1, 
        x1 = rnorm(length(Date1))) 

각 측정 사이의 간격을 1 시간이다. 그 해의 나머지 기간 동안이 데이터 프레임을 NA로 채우는 것이 가능합니다. 최종 솔루션의 길이는 8760, 즉 1 년 전체의 시간별 측정 값을 가져야합니다. 2010 년 1 월 1 일 00 시부 터 2010 년 12 월 31 일 23 시까 지의 범위로 DateTime 열을 가져오고 싶지만 원래 열에 추가 된 일에 대해 x1 열을 NA로 지정하고 싶습니다. 데이터 프레임 (그것이 의미가있는 경우). 데이터가 2009 년 5 월에서 2012 년 9 월까지 확장되는 경우 최종 솔루션에는이 데이터 세트가 있어야하지만 누락 된 시간 즉 2009 년 1 월에서 2012 년 12 월까지는 몇 년이 될 수있는 솔루션을 제안하고 싶습니다. NA로 채워져있어. 이 문제를 해결하려면 어떻게해야합니까?

답변

9

모든 시간을 포함하는 새 데이터 프레임을 만든 다음 두 데이터 프레임을 병합합니다.

df2<-data.frame(DateTime=seq(from = as.POSIXct("2010-01-01 00:00"), 
          to = as.POSIXct("2010-12-31 23:00"), by = "hour")) 
merge(df2,Dat,all=TRUE) 
+0

감사합니다. 병합과 관련된 데이터가 없으면 병합이 작동한다고 생각한 적이 없습니다. 훌륭한 솔루션. – KatyB

관련 문제