4
比方說,我有相同的4個光柵化層,4個不同年份的數據擴展:2006,2008,2010和2012:R:不同日期的光柵層之間的插值
library(raster)
r2006<-raster(ncol=3, nrow=3)
values(r2006)<-1:9
r2008<-raster(ncol=3, nrow=3)
values(r2008)<-3:11
r2010<-raster(ncol=3, nrow=3)
values(r2010)<-5:13
r2012<-raster(ncol=3, nrow=3)
values(r2012)<-7:15
現在我想創建在2006年到2013年間(或者甚至更長),每年通過內插/外插(線性方法應該是一個好的開始)4個柵格圖層的值。結果應該是這樣的:
r2006<-raster(ncol=3, nrow=3)
values(r2006)<-1:9
r2007<-raster(ncol=3, nrow=3)
values(r2007)<-2:10
r2008<-raster(ncol=3, nrow=3)
values(r2008)<-3:11
r2009<-raster(ncol=3, nrow=3)
values(r2009)<-4:12
r2010<-raster(ncol=3, nrow=3)
values(r2010)<-5:13
r2011<-raster(ncol=3, nrow=3)
values(r2011)<-6:14
r2012<-raster(ncol=3, nrow=3)
values(r2012)<-7:15
r2013<-raster(ncol=3, nrow=3)
values(r2013)<-8:16
使用lm()
或approxExtrap
似乎沒有很大的幫助。
這適用於線性插值,如果您的數據集中沒有任何NA。我的解決方案有NA,'approxTime'無法處理:只需將所有NA改爲數據集中沒有的數字(例如0),並用'is.na',做_interpolation_並將數字改回NA之後。 –
是的,關於如何規避NA的好方法。 –
很好的插值解決方案。我使用'Hmisc'包中的'approxExtrap'嘗試了相同的代碼,但是我只是得到了一個包含兩個組件的'list':一個具有相互和外推的年份,另一個僅填充0。這很奇怪,因爲'approxTime'和'approxExtrap'似乎都是基於'approxfun'。關於@Ram Narasimhan的任何想法? –