我使用spdep包中的函数autocov_dist来估计协变量。我使用反向距离作为权重。当我在我的数据上测试它时,我得到了这个错误消息:
Error in autocov_dist(Var, xy, nbs = 100, style = "B", type = "inverse") : is.vector(z) is not TRUE下面是一个可重现的例子(我在坐标中显示了很大的值,因为在我的实际数据中,空间坐标是以UTM表示的):
library(spdep)
set.seed <- 123
xy<- as.data.frame(cbind(rnorm(1000,100000, 100), (rnorm(1000,500000, 100))))
Var <- rnorm(1000,2, 1)
autocov <- autocov_dist(Var, xy, nbs=100, style="B",type="inverse")另外,相邻半径的确切定义是什么(函数中的nbs参数),因为我在函数文档中找不到明确的定义。
发布于 2021-01-16 12:01:51
要设置种子,您必须使用set.seed(number)。
xy必须是您已将其转换为数据帧的矩阵。尝试:
library(spdep)
set.seed(123)
xy<- cbind(rnorm(1000,100000, 100), (rnorm(1000,500000, 100)))
Var <- rnorm(1000,2, 1)
autocov <- autocov_dist(Var, xy, nbs=100, style="B",type="inverse")https://stackoverflow.com/questions/65746257
复制相似问题