我意识到这个问题之前已经被问过100次了,但是到目前为止,我所读到的所有答案似乎都不适合我的问题。
我有数据。我有纬度和经度值。我已经阅读了有关sp的内容,并在数据框中制作了一堆形状对象。我已将此数据框与我要映射的变量匹配。
我无法终生弄清楚如何ggplot2
来绘制多边形。有时,它需要显式的x,y值(无论如何都是形状的一部分,因此看起来很多余),或者需要一些我实际上没有的外部形状文件。没有用荧光笔着色,我很茫然。
如果我带一个单独的sps对象(在导入,清理和整理大量数据之后使用以下函数构建)
createShape = function(sub){
#This funciton takes the list of lat/lng values and returns a SHAPE which should be plottable on ggmap/ggplot
tempData = as.data.frame(do.call(rbind, as.list(VICshapes[which(VICshapes$Suburb==sub),] %>% select(coords))[[1]][[1]]))
names(tempData) = c('lat', 'lng')
p = Polygon(tempData)
ps = Polygons(list(p),1)
sps = SpatialPolygons(list(ps))
return(sps)
}
这些形状然后与我的数据存储在相同的数据框中-仅由于某种原因,今天下午我什至无法查看,因为尝试查看会产生以下错误。
head(plotdata)
Error in prettyNum(.Internal(format(x, trim, digits, nsmall, width, 3L, : first argument must be atomic
我意识到我现在对此感到非常恼火,但是我大约有70%的成绩都以此为生,而我的大学没有人能够提供帮助。
我在这里粘贴了前几行数据-https://pastebin.com/vFqy5m5U-显然您无法使用s4对象(我要绘制的形状文件)打印数据。
无论如何。我正在尝试将每个形状绘制到地图上。多边形需要x,y值。我没有其他任何形状的文件。我根据大量的lat和long值以及上面的代码块创建了它们。我在这里真的很茫然,甚至都不知道要问什么问题。我有基于位置的兴趣变量,以及每个位置的形状。我想念什么?