我正在尝试进行基于邮政编码返回多个数据框(不同大小)的网络搜索。我想将每个搜索结果转储到以邮政编码命名的数据框中。
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)
}
所以我的问题是:如何为resultsdataframe获取不同的名称,每个名称都是从zip [i]动态命名的?非常感谢。
答案 0 :(得分: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