2012-04-08 7 views
4

「Rのデータマッシュアップ」を使ってRを学習していますが、pの例は得られません。 5を働かせる。私が使用するコードは、このです:Rのデータマッシュアップ:「範囲外の下付き文字」

# Install and load RCurl 
install.packages("RCurl") 
library("RCurl") 

# Install and load the XML package 
install.packages("XML") 
library("XML") 

# Download file and parse it 
appid<- 'ucVVQzLV34GQR4ppLwbdW6G8cCSZDoCBqAc53NXsWB3gXkmP1I4epLwMxboV.PfADi_2ubr2A7Cg8FO4Z3xVxxujza2FJ 8M-' 
street<-"11408 Bellflower Road" 
RCurl<-paste( 
"http://local.yahooapis.com/MapsService/V1/geocode?appid=", 
appid, 
"&street=", 
URLencode(street), 
"&city=Cleveland&state=OH" 
,sep="") 
#xmlResult<-xmlTreeParse(requestUrl,isURL=TRUE) 
xmlResult<-xmlTreeParse(getURL(RCurl)) 

#Print the output 
str(xmlResult) 

しかし、私はこれを行うとき、私は次のような結果得ることはありません:

List of 2 
$ doc:List of 3 
    ..$ file :List of 2 
    .. ..$ text : Named list() 
    .. .. ..- attr(*, "class")= chr [1:5] "XMLTextNode" "XMLNode" "RXMLAbstractNode"  "XMLAbstractNode" ... 
    .. ..$ Message:List of 1 
    .. .. ..$ text: Named list() 
    .. .. .. ..- attr(*, "class")= chr [1:5] "XMLTextNode" "XMLNode" "RXMLAbstractNode" "XMLAbstractNode" ... 
    .. .. ..- attr(*, "class")= chr [1:4] "XMLNode" "RXMLAbstractNode" "XMLAbstractNode" "oldClass" 
    .. ..- attr(*, "class")= chr [1:4] "XMLNode" "RXMLAbstractNode" "XMLAbstractNode" "oldClass" 
    ..$ version : Named list() 
    .. ..- attr(*, "class")= chr [1:5] "XMLCommentNode" "XMLNode" "RXMLAbstractNode" "XMLAbstractNode" ... 
    ..$ children: 
Error in x$children[[...]] : subscript out of bounds 

は私が間違って何をやっているの?

+0

おそらく、何もありません。 URLが404エラーを返すように見えるので、間違っているか期限切れですか? – joran

答えて

9

このAPIは廃止予定です。 Here is the current one。代わりにこれを試してください:

library("RCurl") 
library("XML") 
appid  <- 'ucVVQzLV34GQR4ppLwbdW6G8cCSZDoCBqAc53NXsWB3gXkmP1I4epLwMxboV.PfADi_2ubr2A7Cg8FO4Z3xVxxujza2FJ 8M-' 
address <- paste("11408+Bellflower+Road", "Cleveland", "OH", sep=",+") 
urlRequest <- paste("http://where.yahooapis.com/geocode?q=", 
        address, appid=appid, sep = "") 
doc <- xmlToList(xmlTreeParse(urlRequest)) # Convert to List 
str(doc) 

私のために働いています。あなたはそれが正しいアドレスを持っていることを確認したいかもしれませんが。郵便番号はありませんか?また、Google's Geocoding APIを調べることもできます。それはもはや迷惑なキーを必要としません。

List of 7 
$ Error  : chr "0" 
$ ErrorMessage: chr "No error" 
$ Locale  : chr "us_US" 
$ Quality  : chr "87" 
$ Found  : chr "1" 
$ Result  :List of 29 
    ..$ quality  : chr "87" 
    ..$ latitude : chr "41.511326" 
    ..$ longitude : chr "-81.605583" 
    ..$ offsetlat : chr "41.511230" 
    ..$ offsetlon : chr "-81.605453" 
    ..$ radius  : chr "2900" 
    ..$ name  : NULL 
    ..$ line1  : chr "11408 Bellflower Rd" 
    ..$ line2  : chr "Cleveland, OH 44106" 
    ..$ line3  : NULL 
    ..$ line4  : chr "United States" 
    ..$ house  : chr "11408" 
    ..$ street  : chr "Bellflower Rd" 
    ..$ xstreet  : NULL 
    ..$ unittype : NULL 
    ..$ unit  : NULL 
    ..$ postal  : chr "44106" 
    ..$ neighborhood: NULL 
    ..$ city  : chr "Cleveland" 
    ..$ county  : chr "Cuyahoga County" 
    ..$ state  : chr "Ohio" 
    ..$ country  : chr "United States" 
    ..$ countrycode : chr "US" 
    ..$ statecode : chr "OH" 
    ..$ countycode : NULL 
    ..$ uzip  : chr "44106" 
    ..$ hash  : chr "BFBDCAB96C2CB175" 
    ..$ woeid  : chr "12776632" 
    ..$ woetype  : chr "11" 
$ .attrs  : Named chr "1.0" 
    ..- attr(*, "names")= chr "version" 
+3

南カリフォルニア大学(USC)も素晴らしいジオコーディングサービスを提供しています。国勢調査情報(国勢調査、ブロックなど)が含まれているなど、Googleが提供していない多くのオプションを提供しています。また、CSVなどの返品用のオプションも数多く提供していますフルCSVドキュメントを作成するために追加することができます)とKML(Google Earthやマップで表示するための)フォーマットを追加することができます。ドキュメントのURLはhttps://webgis.usc.edu/Services/Geocode/WebService/GeocoderWebService.aspx –

+0

です。ありがとうございます!それは本当に素晴らしいです。次のステージに進むことができるかどうかを確認するために、もう少し詳しくお話します! =) – histelheim

関連する問題