单线: R 绘制 SpatialPolygonsDataFrame 的时间太长,我在网上找到的最佳答案是问题是特定于机器的。
问题:我正在尝试绘制从GADM下载的印度 SpatialPolygonsDataFrame(级别 = 1),但没有绘图函数(spplot、plot、tm_shape)在任何给定时间生成绘图;相反,R 似乎在后台工作,但 5 分钟后仍然没有情节。按下控制台上方出现的停止按钮没有任何作用,最终为了重试其他方法,我必须强制退出应用程序。我的问题与此问题类似,但对该问题的共识是该问题出现在机器特定的情况下,此后没有解决方案。
以下是有关我的机器/R Studio 版本的一些信息:R 版本 3.3.2 (2016-10-31) / R Studio 版本 1.0.136 / 操作系统:MacOS Sierra 版本 10.12.6。
文件下载自:RDS 格式的GADM
(1.) 我尝试了不同的绘图机制
setwd("~/Data/Reference/")
india <- readRDS("IND_adm1.rds")
library(sp)
library(tmap)
# Plot method #1
plot(india)
# Plot method #2
spplot(india, "NAME_1")
# Plot method #3
tm_shape(india) + tm_borders()
(2.) 我尝试从 shapefile 而不是 RDS 重新创建 SpatialPolygonsDataFrame
india <- readOGR(dsn = "~/Data/Reference/" , layer = "IND_adm1")
(3.) 我已经更新了机器上的所有包,并卸载并重新安装了 sp 包和 tmap 包。
(4.) 我试过其他国家的文件,也有同样的问题。
(5.) 我检查了 SpatialPolygonsDataFrame 的结构,并没有发现任何问题——一切似乎都已到位且方式正确。
(6.) 使用 maps 包来绘制他们的数据工作正常。由于某种原因,SpatialPolygonsDataFrame 类没有绘制。我现在还尝试从DIVA-GIS绘制形状文件。
library(maps)
tx <- map("county", "texas", plot = FALSE, fill = TRUE)
plot(tx) # this plots fine and immediately
要求我基本上需要一张印度的州边界图,我可以将其放入闪亮的交互式 RMarkdown 报告中,并根据因子变量填充州颜色。我可以使用的数据有一些解决方法吗?
问:我不确定该怎么做或如何进一步诊断。如果有帮助,我将不胜感激,并乐于提供更多信息。我还链接了我正在使用的确切 RDS 文件,以便您在您的机器上加载和试用。
更新 建议的解决方案都不适用于我的系统,但我认为我遇到的这个挑战是特定于系统的。我最终尝试在 Amazon Web 服务上的远程 Windows 实例上运行相同的代码,并且代码运行良好。所以我不确定这是 Mac 问题还是硬件问题,但我希望此更新对您有所帮助。