0

考虑这两段代码。第一个,一切正常,R的内存使用稳定:

for (i in 1:100) {
x <- rnorm(1000000)
write.table(x, file="test", col.names=F, append=T)
}

现在考虑这个相关的代码,我从世界银行那里抓取一些经济指标的信息。在这里,内存使用量随着循环的迭代而上升:

library(RCurl)
library(XML)
for (i in 1:26) {
x <- getURL(paste("http://api.worldbank.org/countries/all/indicators/AG.AGR.TRAC.NO?per_page=500&date=1960:2012&page=", as.character(i), sep=""))
x <- xmlToDataFrame(x)
write.table(x, file="test", col.names=F, append=T)
}

从写入数据的角度来看,这两个片段有什么区别,如何确保第二个片段正确释放内存?

4

1 回答 1

0

好的,我这样做是为了让它工作。我从http://www.omegahat.org/R/bin/windows/contrib/2.14/下载了二进制文件,并使用 install.packages("XML", repos=NULL) 安装。它仅适用于 32 位 R。

于 2012-06-22T13:35:41.837 回答