我一直在玩ggmap R包,我非常喜歡它的繪圖功能來顯示地理數據。我一直在試圖用geocode
函數對一些城市人口數據進行簡單繪圖,但我無法弄清楚如何以邏輯方式安排數據。既然這樣,我有一個列表的結構化數據,像這樣如何將列表附加到R數據框?
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)
這需要一個字符串(在這種情況下,一個城市的名稱),並使用谷歌地圖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中慣用這種方式的最佳方式是什麼?
你能張貼一些示例代碼和您使用的'地址解析()'函數的數據?簡短的答案可能是使用'merge()'函數,除非你的數據結構很好,在這種情況下'cbind()'可能就足夠了。 – David
嘗試從** plyr **中'ldply'而不是'lapply'或'do.call(rbind,...)'結果。 – joran
嘿。特拉弗斯城在哪裏? –