2012-08-31 40 views
1

我可以使用lapply,sapply,mapply来下载网页。如何使用vapply下载网页?

urls <- c(
    "http://stat.ethz.ch/R-manual/R-devel/library/base/html/connections.html", 
    "http://en.wikipedia.org/wiki/Xz") 
x1=lapply(urls,readLines) 
x2=sapply(urls,readLines) 
x3=mapply(con=urls,readLines) 

如何在本例中使用vapply?

+1

您需要知道输出的形式('FUN.VALUE'),因此在这种情况下将读取的行数(并且这必须是常数) – mnel

回答

3

你将不得不换的东西readLines将始终返回相同的长度矢量

vapply(urls, function(i) list(readLines(i)), list(1)) 

这样做是因为,虽然readLines将返回一个变量的行数,它是第一个list的元素长度为1

+0

+ 1对vapply()的“必须是常量”限制有一个很好的“解决方法”! – Rappster