2017-03-01 30 views
0

我已經通過從RasterBrick提取時間序列中創建一個對象動物園刪除間隙:時間序列圖中R:從積[動物園]

library(zoo) 
s <- RasterBrick 

target_cell <- 23265 

ss <- zooExtract(s, target_cell) 

windows() 
plot.zoo(ss, type = "o") 

我的結果如下所示。我想要一條線貫穿所有的要點,但我似乎無法使它工作,我已經通過以前的回答查看了這個問題。我試過lines(),它給出了相同的結果。

+0

看起來你有NA在您的數據值,但不能沒有一個重複的例子, –

+0

多說是的,我有很多數據缺口和不規則的時間序列,這是問題嗎? – dtanon

+1

這些應該工作'ss_filled = zoo :: na.locf(ss); plot.zoo(ss_filled,type =「o」)'或'ss_complete_cases = ss [complete.cases(ss),]; plot.zoo(ss_complete_cases,type =「o」)''但是也會建議保存失蹤日期數據 – OdeToMyFiddle

回答

1

由於@Richard德福建議在情節的差距是由於數據缺失。 隨着基函數complete.caseszoona.locf差距 可以去除或填充以前的意見如下:

#to identity periods with missing data 

missingPeriod = as.Date(index(ss[!complete.cases(ss),])) 


#to retain only periods with no missing data 
ssComplete = ss[complete.cases(ss),] 


#to retain all periods with gaps filled with previous value 
#maxgap parameter controls number of missing data replaced with prev observation 
N = 5 
ssFilled = zoo::na.locf(ss,maxgap=N); 

#plots 
plot.zoo(ssComplete , type = "o") 

plot.zoo(ssFilled, type = "o")