反距离加权:spDists(s0, s) 中的错误:ncol(x) == ncol(y) 在包 gstat 中不是 TRUE
Inverse Distance Weighting : Error in spDists(s0, s) : ncol(x) == ncol(y) is not TRUE in package gstat
我想做一些"simple"反距离称重。过去我在 gstat 中使用过 idw 函数,但它停止工作了。我在同一个包中找到了一个等效的 idw0,但我无法让它工作。此示例代码应在 unknown.df 数据框中的 50 个点处为 z-hat 生成 50 个估计值。
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 是多少?
需要明确表示坐标字段。
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)
我想做一些"simple"反距离称重。过去我在 gstat 中使用过 idw 函数,但它停止工作了。我在同一个包中找到了一个等效的 idw0,但我无法让它工作。此示例代码应在 unknown.df 数据框中的 50 个点处为 z-hat 生成 50 个估计值。
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 是多少?
需要明确表示坐标字段。
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)