Я хочу сделать «простое» обратное взвешивание на расстоянии. В прошлом я использовал функцию idw в gstat, но она перестала работать. Я нашел эквивалентный idw0 в том же пакете, но я не могу заставить это работать. Этот пример кода должен произвести 50 оценок для z-hat в 50 точках в неизвестном фрейме данных .df.
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,а что такое х?