找回密码
 立即注册
查看: 5207|回复: 3

R 亟待解决! 循环导入2G大小的大量txt文本,整合成一个表格时内存超载报错!

[复制链接]
发表于 2015-5-26 13:37:26 | 显示全部楼层 |阅读模式
新手请教高手们~
最近处理一个2G大小左右的txt文件系列(有2000多个txt文件,记录的都是气象数据),想要循环读入到一个表格里,再对数据进行统计分析。处理少量txt文件是没有问题,但是一旦到了大量文件时,读入数据很慢,最后系统还报错!内存不足了。网上找了半天攻略,有建议建立数据库处理,或者用ff包,但是还是没弄明白,看起来好难,在此请教高手们,有具体的解决办法么?最好能给出有参考价值的代码!太谢谢了!下面是我原先读入少量txt文件时写的代码:
files_tg <- list.files(pattern=”.txt$”)
DailyTG.40J <- data.frame()
for(j in files_tg){
tg <-read.table(j, header=TRUE, skip=19, sep=”,”,dec=”,”);
tg.1<-tg[which(tg$DATE>=19740101&tg$DATE<=20131231),];
DailyTG.40J <- rbind(DailyTG.40J, tg.1)
}
附件是其中一个txt文件的截图内容

气象数据.PNG
回复

使用道具 举报

发表于 2015-5-27 16:14:27 | 显示全部楼层
可不可以边整合边输出呢 用sink()这个函数试试
回复

使用道具 举报

发表于 2015-5-27 16:15:24 | 显示全部楼层
输出后的内容把他们从内存清理掉
回复

使用道具 举报

 楼主| 发表于 2015-5-30 09:03:47 | 显示全部楼层
Smiles 发表于 2015-5-27 16:14
可不可以边整合边输出呢 用sink()这个函数试试

哦,前几天用了data.table()包,用这个包读取数据速度快了很多,然后win系统换了mac系统,我的问题就解决了,下次再试试sink()
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|R语言中文网

GMT+8, 2024-11-25 22:36 , Processed in 0.026218 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表