2013-02-27 30 views
11

Tôi có chuỗi thời gian khí hậu với ngày bị thiếu (không thiếu giá trị). Ví dụ:Nội suy đối tượng vườn thú với ngày mất tích

n = 15 
full.dates = seq(Sys.Date(), by = 'day', length = n) 
serie.dates = full.dates[c(1:10, 12, 15)] # missing 11, 13, 14 
y = rnorm(n) 

require(zoo)  
serie = zoo(y, serie.dates) 

Làm cách nào tôi có thể 'điền' (sử dụng nội suy) các điểm bị thiếu này, cho véc tơ 'full.dates'? Cảm ơn!

Trả lời

17

Hợp nhất với đối tượng "trống" có tất cả các ngày bạn muốn, sau đó sử dụng na.approx (hoặc na.spline, v.v.) để điền vào các giá trị bị thiếu.

x <- merge(serie, zoo(,seq(start(serie),end(serie),by="day")), all=TRUE) 
x <- na.approx(x) 
+0

Cảm ơn, nó hoạt động! – Fernando

+1

Hãy thử cũng na.locf: nó có giá trị gần đây nhất trước một NA nhất định – natbusa

Các vấn đề liên quan