我刚刚开始学习 R,我正在尝试创建一张 map 来显示康涅狄格州每个城镇的学生人数。我有一个位置和注册信息的 .csv,如下所示:
name lon lat resStudent
1 ANDOVER -72.37472 41.73278 657
2 ANSONIA -73.07900 41.34621 2999
3 ASHFORD -72.12162 41.87307 736
4 AVON -72.83052 41.80962 3563
5 BARKHAMSTED -72.97222 41.92917 680
6 BEACON FALLS -73.06176 41.44265 1039
7 BERLIN -72.78064 41.61460 3165
8 BETHANY -72.99250 41.42556 1028
9 BETHEL -73.41396 41.37123 3034
10 BETHLEHEM -73.20861 41.63917 490
11 BLOOMFIELD -72.73336 41.83945 2484
我已经能够使用以下代码生成我想叠加此信息的 map :
tempMap <- get_openstreetmap(bbox = c(left = -73.8, bottom = 40.9, right = -71.7, top = 42.1), scale = 829486, color = "bw")
ggmap(tempMap)
我遇到了将两者结合起来的问题。这是我正在使用的代码:
enrollData<-read.csv("enrollData.csv")
enrollMap <- tempMap + geom_point(data = enrollData,aes(x = lon, y = lat, size = resStudent)
运行后,我收到一条错误消息:
Error in Ops.raster(tempMap, geom_point(data = enrollData, aes(x = lon, :
Operator not meaningful for raster objects
关于如何解决这个问题有什么想法吗?
最佳答案
您需要先调用ggmap
创建基础层。以下应该有效:
ggmap(tempMap) + geom_point(data = enrollData,aes(x = lon, y = lat, size = resStudent)
关于r - 如何将 openstreetmap 与 R 中的点结合起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15275514/