【发布时间】:2013-10-09 08:36:44
【问题描述】:
我使用 R 的 raster 包和 sampleStratified 函数从 raster 层中取出分层随机样本:
library(raster)
r<-raster(nrows=5, ncols=5)
r[]<-c(1,0,0,0,1,1,0,1,0,0,1,0,1,0,1,1,1,0,1,0,0,0,1,1,1)
#Stratified random sample size
sampleStratified(r, size=5)
cell layer
[1,] 3 0
[2,] 22 0
[3,] 7 0
[4,] 21 0
[5,] 12 0
[6,] 13 1
[7,] 17 1
[8,] 11 1
[9,] 8 1
[10,] 23 1
我现在想做的是按第一列对样本进行排序,对第一列进行插值以获得栅格的原始长度,并用 NA 填充第二列的缺失值,如下所示:
[,1] [,2]
[1,] 1 NA
[2,] 2 NA
[3,] 3 0
[4,] 4 NA
[5,] 5 NA
[6,] 6 NA
[7,] 7 0
[8,] 8 1
[9,] 9 NA
[10,] 10 NA
[11,] 11 1
[12,] 12 0
[13,] 13 1
[14,] 14 NA
[15,] 15 NA
[16,] 16 NA
[17,] 17 1
[18,] 18 NA
[19,] 19 NA
[20,] 20 NA
[21,] 21 0
[22,] 22 0
[23,] 23 1
[24,] 24 NA
[25,] 25 NA
我尝试使用 simecol 包中的 approxTime 函数,但填充 NA 失败。我有 10 个栅格图层,每个图层大约有 500,000 个值,因此非常感谢快速方法。
【问题讨论】:
-
我不熟悉空间包,但通常的方法是使用
merge或与data.tables 进行连接。
标签: r interpolation raster na