簡體   English   中英

R中的數據混搭:“下標越界”

[英]Data mashups in R: "subscript out of bounds"

我正在通過“R 中的數據混搭”學習 R,但無法獲得第 1 頁上的示例。 5 上班。 我使用的代碼是這樣的:

# 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

我究竟做錯了什么?

API 已被棄用。 這是當前的 試試這個:

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)

它對我有用。 不過,您可能想檢查它是否有正確的地址。 沒有ZIP代碼嗎? 您可能還想查看Google 的地理編碼 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"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM