目前,我正试图在rworldmap包中的地图上绘制一些坐标。
据我所见,这应该是相对简单的,但它给我带来了麻烦。
我的数据的一个例子可以找到这里
为了绘制地图(我关注的是欧亚大陆),我使用了:
library(rworldmap)
plot(newmap, xlim = c(-27.0, 174.0), ylim = c(17.5, 77.7), col = "grey",border = "darkgrey", bg = "lightblue")下一步是把我在地图上的坐标画成点。包含坐标的数据帧是Coordinate_AD_Clean。我所做的如下:
points(Coordinate_AD_Clean$long, Coordinate_AD_Clean$lat, col = "red", pch = "+")然而,这是它崩溃的地方,因为生成的图看起来像这。我知道这是错误的,因为我的坐标都不在海洋中,地图上应该有116个点(我的数据框架中的数字),而地块上的坐标则少得多。
我不知道为什么我有错误的和丢失的坐标。我的数据框架中的坐标来自google地图,这不应该是一个问题,因为我测试了从google地图中随机提取的2到3个不同的坐标,并将这些坐标绘制到地图上。数据是如何在我的数据框架内格式化的?我也有多个重复坐标,这会是个问题吗?我有点不知所措,所以任何帮助都会很感激。
非常感谢你的阅读!
发布于 2020-03-04 19:18:24
在咨询了一个在R方面比我更有经验的人之后,解决方案已经向我展示了。
在使用dput查看数据中发生了什么之后,我可以看到数据框架中的大量级别,这些级别在我查看数据本身时并不存在。某种隐藏格式在某个时候发生了,无论是在原始的.csv数据中,还是在我格式化R中的数据时。
解决这一问题的方法是使用write.csv(dataframe, "filename.csv")创建一个新的.csv文件,其中只包含我在R中设置的数据,然后我将这个新的.csv中的数据读取回R中,然后使用这个数据重新尝试这个图,问题就解决了。
希望这能有所帮助!
发布于 2020-03-03 13:59:43
你有什么特别的理由使用rworldmap吗?否则,leaflet是生成交互式地图的最佳选择!
library(leaflet)
m <- leaflet() %>%
addTiles() %>% # Add default OpenStreetMap map tiles
addMarkers(lng=174.768, lat=-36.852, popup="The birthplace of R")https://stackoverflow.com/questions/60508273
复制相似问题