有没有一种方法可以在R中使用gstat包的IDW插值循环遍历SpatialPointsDataFrame对象内的变量?我的意思是像这样:
```R for (var in variables){ coordinates(data)<-~x+y idw<-idw(var~1, data, newdata) } ```
```R for (var in variables){ coordinates(data)<-~x+y idw<-idw(var~1, data, newdata) } ```
for (day in list_days) {
P.idw <- gstat::idw(day~1, P, newdata=grd, idp=2.0)
r <- raster(P.idw)
plot(r)
}
编辑: 因为那个结构给我错误:
Error in predict.gstat(g, newdata = newdata, block = block, nsim = nsim, :
too many spatial dimensions: 58
In addition: Warning message:
In predict.gstat(g, newdata = newdata, block = block, nsim = nsim, :
NAs introduced by coercion
但是如果我直接写变量名,它可以正常工作:
P.idw <- gstat::idw(X2018.01.14~1, P, newdata=grd, idp=2.0)
P.idw <- gstat::idw(get(day)~1, P, newdata=grd, idp=2.0)
进行插值。其中,day
是数据框P
中表示观测值的列名;grd
是一个用于插值的网格数据集;idp=2.0
指定了反距离权重插值的幂。 - Marco Sandri