3

我正在尝试进行网络搜索,该搜索将根据邮政编码返回几个数据帧(不同大小)。我想将每个搜索结果转储到以邮政编码命名的数据框中。

require(XML)
zip <- c(zip1, zip2, zip3, etc)
k <-4        #index for the table that needs to be retrieved

for (i in 1:length(zip)) {
url <- paste(text1, zip[i], text2, sep="")
resultsdataframe <- data.frame (readHTMLTable(url), which = k)
}

所以我的问题是:如何为结果数据帧获取不同的名称,每个名称都是从 zip[i] 动态命名的?非常感谢。

4

1 回答 1

2

您可以使用sapply,它会为您分配名称。

sapply(zip, function(x)
{
  url <- paste(text1, x, text2, sep="")
  data.frame (readHTMLTable(url), which = k)
}

例如

zip <- paste('zip',1:5, sep ='')
ll <- sapply(zip, function(x)
   {
     data.frame ()
   })

ll
$zip1
data frame with 0 columns and 0 rows

$zip2
data frame with 0 columns and 0 rows
.... 

无需使用assign. 您可以像这样访问您的列表

ll[['zip1']]
data frame with 0 columns and 0 rows
于 2013-02-03T20:39:20.397 回答