R 如果我希望tm_fill()是来自新对象的变量,如何指定它?
我正在尝试创建一个R函数,该函数将对用户从空间多边形数据帧指定的变量运行GWR。运行该函数的最终结果是两个映射—一个独立变量的值和GWR模型的一个系数值。我在第二张地图上遇到了麻烦 我已经设法为我将要可视化的系数创建了GWR模型和“结果”对象R 如果我希望tm_fill()是来自新对象的变量,如何指定它?,r,fill,tmap,spatial-data-frame,gwr,R,Fill,Tmap,Spatial Data Frame,Gwr,我正在尝试创建一个R函数,该函数将对用户从空间多边形数据帧指定的变量运行GWR。运行该函数的最终结果是两个映射—一个独立变量的值和GWR模型的一个系数值。我在第二张地图上遇到了麻烦 我已经设法为我将要可视化的系数创建了GWR模型和“结果”对象 gwr.model <- gwr(SpatialPolygonsDataFrame@data[, y] ~ SpatialPolygonsDataFrame@data[, x], data = Spatia
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))
但是我得到一个错误,即fill参数既不是colors,也不是有效的变量名
如果有任何提示可以帮助我解决问题,我将不胜感激。切换到软件包
sf
-将sp
留在后面-可能会解决您的问题
在缺乏可复制示例的情况下,让我尝试提出以下建议:
使用
gwr.map.sf转换到包sf
-将sp
留在后面-可能会解决您的问题
在缺乏可复制示例的情况下,让我尝试提出以下建议:
使用gwr.map.sf转换结果
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)
map2 <- tm_shape(gwr.map.sf) + tm_fill("results", n = 5, style = "quantile", title = "Coefficient") +
tm_layout(frame = FALSE, legend.text.size = 0.5, legend.title.size = 0.6)