R中的网络连接图

时间:2012-05-05 21:29:09

标签: r geolocation social-networking

我想在R中创建一个网络连接世界地图。我有经度和 一个节点的纬度,但我只有城市和州/国家 其他节点。 ggplot或RGoogleMaps可以使用吗?我该怎么办? 我在Windows工作。

1 个答案:

答案 0 :(得分:-2)

如果您拥有其他节点的城市和州/国家/地区,则可以使用Python中的Googlemaps API获取经度和纬度。假设您在CSV文件中有城市名称列表,那么您可以一次循环访问它们,检索经度和纬度并将其写入新文件。然后可以将结果作为数据框加载到R中。

以下是Python代码示例:

from googlemaps import GoogleMaps
import csv

ifile=csv.reader(open('CapitalCities.csv','rb'),delimiter=',')
ofile=open('CapCoordinates.csv','wb')

w=csv.writer(ofile,delimiter=',')
w.writerow(['Name','State','Latitude','Longitude'])

gmaps=GoogleMaps(API_KEY)

count=0

for row in ifile:
   if count!=0:
      address=str(row[0])+" "+str(row[1])
      lat, lng = gmaps.address_to_latlng(address)
      w.writerow([str(row[0]),str(row[1]),str(lat),str(lng)])
      print row[0],lat,lng

   count+=1

ofile.close()

还有在R中做同样事情的方法。快速阅读这篇文章可能有用:http://forgetfulfunctor.blogspot.com.au/2012/02/undiscovered-country-tutorial-on.html