距离反比加权:spDists(s0,s)中的错误:包gstat中的ncol(x)== ncol(y)不是TRUE

时间:2019-11-06 12:00:02

标签: r spatial prediction

我希望做一些“简单的”反距离称量。过去,我在gstat中使用过idw函数,但该函数停止了工作。我在同一软件包中找到了一个等效的idw0,但无法正常工作。此示例代码应在unknown.df数据帧的50个点上产生50个对z帽的估计。

library(gstat)

set.seed(1)
x<-runif(100,0,1)
y<-runif(100,0,1)
z<-runif(100,0,1)
known.df<-data.frame(x,y,z)

x<-runif(50,0,1)
y<-runif(50,0,1)
unknown.df<-data.frame(x,y)

idw<-idw0(z~1,known.df,unknown.df)
idw<-idw0(z~1,known.df,unknown.df,y=as.matrix(known.df$z))

这会产生错误

> idw<-idw0(z~1,known.df,unknown.df)
Error in spDists(s0, s) : ncol(x) == ncol(y) is not TRUE
> idw<-idw0(z~1,known.df,unknown.df,y=as.matrix(known.df$z))
Error in spDists(s0, s) : ncol(x) == ncol(y) is not TRUE

Y的长度为50,但是x是多少?

1 个答案:

答案 0 :(得分:1)

需要明确表示坐标字段。

library(gstat)
library(sp)

set.seed(1)
x<-runif(100,0,1)
y<-runif(100,0,1)
z<-runif(100,0,1)
known.df<-data.frame(x,y,z)
coordinates(known.df) = ~ x + y

x<-runif(50,0,1)
y<-runif(50,0,1)
unknown.df<-data.frame(x,y)
coordinates(unknown.df) = ~ x + y

idw<-idw0(z~1,known.df,unknown.df)