1
我需要在lapply函数中写入一个文件。我刮了一大堆网页,我想每100次左右保存一次输出。我用下面的代码R:保存在一个lapply中
from = seq(1,100, 10)
aa <- length(url)
func1 = function(url){
out <- tryCatch(
{
aa <<- aa -1
print(aa)
doc = htmlParse(url)
address= as.data.frame(xpathSApply(doc,'//div[@class="panel-body"]', xmlValue, encoding="UTF-8"))
page = cbind(address,url)
if (aa %in% from){
pg = suppressMessages(melt(cc))
write.csv(pg,paste("bcc_",aa,".csv"))
}
}
cc = lapply(url, func1)
然而,当我这样做,我得到一个错误说对象“CC”是找不到的。我知道这可以使用for循环完成。但是有没有办法使用apply函数来完成这个任务。
这是一个需要逗号的简单情况吗? 'lapply(url,func1)'不'lapply(url func1)'? – NJBurgo
没有问题仍然存在,他们正试图调用一个在其环境中尚不存在的对象。如果他们要使用for循环(用户特别要求避免的),他们可以用'list()'初始化一个空白列表,将输出附加到这个循环内部的空白列表中,然后在cc达到正确值时保存输出长度。使用for循环将是更简单的解决方案。 – TJGorrie
@ NJBurgo-不是逗号 – rrodrigorn0