我正在尝试创建一个 R 函数,该函数将对用户从空间多边形数据框中指定的变量运行 GWR。运行该函数的最终结果是两个映射——一个自变量的值和一个来自 GWR 模型的系数值。第二张地图有问题。
我已经成功地为要可视化的系数创建了 GWR 模型和“结果”对象。
gwr.model <- gwr(SpatialPolygonsDataFrame@data[, y] ~ SpatialPolygonsDataFrame@data[, x],
data = SpatialPolygonsDataFrame,
adapt = GWRbandwidth,
hatmatrix = TRUE,
se.fit = TRUE)
results <- as.data.frame(gwr.model$SDF)
gwr.map <- SpatialPolygonsDataFrame
gwr.map@data <- cbind(SpatialPolygonsDataFrame@data, as.matrix(results))
要创建 GWR 系数的可视化,我必须将 my 指定tm_fill()
为“结果”对象中的一列,但我不知道如何做到这一点,以便该函数可以用于任何空间多边形数据框。到目前为止,我已经尝试使用该paste0()
函数,如下所示:
map2 <- tm_shape(gwr.map) + tm_fill(paste0("SpatialPolygonsDataFrame.", x), n = 5, style = "quantile", title = "Coefficient") +
tm_layout(frame = FALSE, legend.text.size = 0.5, legend.title.size = 0.6)
但是我收到一个错误,说填充参数既不是颜色也不是有效的变量名。
我将不胜感激任何可以帮助我解决问题的提示。