如何将列表附加到R数据帧?
我一直在玩R软件包,我真的很喜欢它的绘图功能来显示地理数据。我一直试图用如何将列表附加到R数据帧?,r,ggmap,R,Ggmap,我一直在玩R软件包,我真的很喜欢它的绘图功能来显示地理数据。我一直试图用geocode函数对我拥有的一些城市人口数据进行简单的绘图,但我不知道如何以逻辑方式排列数据。目前,我已经将数据组织在一个类似这样的列表中 City Type Population 1 Detroit city 713777 2 Grand Rapids city 188040 3 Warren city 134056
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
返回的纬度和经度条目附加“columns”。具体地说,如果上面的数据帧命名为Michigan,我将用
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
数据框中,但由于我的lappy
的结果是一个列表列表,这比只切片一些数组要复杂得多——在R中用惯用的方法做这件事的最佳方法是什么?它非常简单:
cbind(your_df, geocode(your_df$City))
简单到:
cbind(your_df, geocode(your_df$City))
您能否发布一些用于
geocode()
函数的示例代码和数据?简短的回答可能是使用merge()
函数,除非您的数据结构非常好,在这种情况下cbind()
可能就足够了。请尝试从plyr中选择ldply
,而不是lappy
或do.call(rbind,…)
查看结果。嘿。Traverse City在哪里?您能否发布一些用于geocode()
函数的示例代码和数据?简短的回答可能是使用merge()
函数,除非您的数据结构非常好,在这种情况下cbind()
可能就足够了。请尝试从plyr中选择ldply
,而不是lappy
或do.call(rbind,…)
查看结果。嘿。特拉弗斯城在哪里?