我一直在玩ggmap R 包,我真的很喜欢它用于显示地理数据的绘图功能。我一直在尝试使用该geocode
函数绘制一些城市人口数据的简单图,但我无法弄清楚如何以合乎逻辑的方式排列数据。就目前而言,我的数据结构像这样
City Type Population
1 Detroit city 713777
2 Grand Rapids city 188040
3 Warren city 134056
4 Sterling Heights city 129699
5 Lansing city 114297
6 Ann Arbor city 113934
我想在“列”后面加上geocode
. 具体来说,如果上面的数据框被命名为密歇根州,我正在抓取坐标
lapply(as.vector(michigan$City), geocode)
它接受一个字符串(在本例中为城市名称)并使用 Google Maps api 猜测坐标,生成列表列表:
[[1]]
lon lat
1 -83.04575 42.33143
[[2]]
lon lat
1 -85.66809 42.96336
[[3]]
lon lat
1 -83.0282 42.493
[[4]]
lon lat
1 -83.0302 42.58031
[[5]]
lon lat
1 -84.55553 42.73253
[[6]]
lon lat
1 -83.74304 42.28083
我想将纬度和经度值michigan
作为“列”附加到数据框中,但是因为我的结果lapply
是列表列表,这比仅仅切片一些数组更棘手 - 惯用的最佳方法是什么在 R?