如何将列表附加到R数据框?

时间:2013-07-10 20:07:44

标签: r ggmap

我一直在玩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

我想用“{1}}返回的纬度和经度条目附加”列“。具体来说,如果上面的数据框命名为密歇根州,我就会用

抓取坐标
geocode

采用字符串(在本例中为城市名称)并使用Google Maps api猜测坐标,生成列表列表:

lapply(as.vector(michigan$City), geocode)

我想将纬度和经度值附加到[[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的结果是列表列表,这比仅仅更简单切片一些数组 - 在R中以惯用方式执行此操作的最佳方法是什么?

1 个答案:

答案 0 :(得分:5)

这很简单:

cbind(your_df, geocode(your_df$City))