我发现自己的data.frame包含一列列表。在这些列表中是多边形的坐标;其余的列是多边形的特征。展开列表的data.frame列
我想“展开”列表中的坐标点,以便我可以使用ggplot2
绘制多边形并制作地图,但无法解决如何执行此操作。
我不太了解列表的结构,它们都是不同的大小,因为多边形有不同的形状。
该数据本来是一个json文件。我jsonlite
包拉它,然后试图熬下来的相关组件,如下所示:
library(jsonlite)
json_file <- "https://raw.githubusercontent.com/OpenOil-UG/concessionsmap/master/concessions/data/NG_contracts%2B.geojson" json_data <- jsonlite::fromJSON(json_file, simplifyDataFrame=T) data <- json_data$features data2 <- flatten(data)
这可能不是先从JSON文件正确的方法。对我来说,就像从json获取数据到我能理解的数据框架那样,这似乎是最直接的。
*编辑,包括真实数据,而不是样品
不知道你在问什么。 Base R已经有了一个绘制多边形的函数,记录在'?polygon'上。像'x = a [[1]] [,, 1]; y = a [[1]] [,, 2]; plot(NULL,xlim = range(x),ylim = range(y));多边形(x,y,col =“blue”)' – Frank
你是如何结束这样的数据结构的?你似乎有一个三维数组。如果你包含某种[可重现的示例],这将有所帮助(http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)。目前还不清楚你提供的是一行数据框。为您的示例输入提供所需的输出。 – MrFlick