r-rworldmap图中的坐标不匹配/丢失



我目前正试图在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个点(我数据框中的数字(,而地图上的点要少得多。

我不确定为什么我有不正确和缺失的坐标。我数据框中的坐标来自谷歌地图,这应该不是问题,因为我随机测试了从谷歌地图中提取的2到3个不同的坐标,这些坐标都被绘制到了地图上。问题是如何在我的数据框架内格式化数据?我还有多个重复的坐标,这可能是个问题吗?我有点不知所措,所以任何帮助都将不胜感激。

非常感谢您的阅读!

您有使用rworldmap的具体原因吗?否则leaflet是生成交互式地图的最佳选项!

library(leaflet)
m <- leaflet() %>%
addTiles() %>%  # Add default OpenStreetMap map tiles
addMarkers(lng=174.768, lat=-36.852, popup="The birthplace of R")

在咨询了一位在R方面比我更有经验的人后,我看到了解决方案。

在使用dput查看数据中发生了什么之后,我可以看到数据框架中的大量级别,而这些级别在我查看数据本身时并不存在。在某个时刻发生了某种隐藏的格式化,无论是在原始.csv数据中,还是在我格式化R.内的数据时

对此的解决方案是使用write.csv(dataframe, "filename.csv")创建一个新的.csv文件,该文件仅包含我在R中子集化的数据。然后,我将这个新的.csv中的数据读取回R,并使用这个数据帧重试绘图,问题就解决了。

希望这能有所帮助!

最新更新