r - 使用ff包导入文本文件

标签 r import ff large-data

我有一个450万行和90列的文本文件要导入到R中。使用read.table会收到cannot allocate vector of size...错误消息,因此我尝试在使用ff软件包进行导入之前对子集进行设置,以提取感兴趣的观察值(请参阅我的上一个问题)更多详细信息:Add selection crteria to read.table)。

因此,我使用以下代码进行导入:

test<-read.csv2.ffdf("FD_INDCVIZC_2010.txt", header=T)

但这会返回以下错误消息:
Error in read.table.ffdf(FUN = "read.csv2", ...) : 
only ffdf objects can be used for appending (and skipping the first.row chunk)

我究竟做错了什么?

这是文本文件的前5行:
    CANTVILLE.NUMMI.AEMMR.AGED.AGER20.AGEREV.AGEREVQ.ANAI.ANEMR.APAF.ARM.ASCEN.BAIN.BATI.CATIRIS.CATL.CATPC.CHAU.CHFL.CHOS.CLIM.CMBL.COUPLE.CS1.CUIS.DEPT.DEROU.DIPL.DNAI.EAU.EGOUL.ELEC.EMPL.ETUD.GARL.HLML.ILETUD.ILT.IMMI.INAI.INATC.INFAM.INPER.INPERF.IPO ...
1             1601;1;8;052;54;051;050;1956;03;1;ZZZZZ;2;Z;Z;Z;1;0;Z;4;Z;Z;6;1;1;Z;16;Z;03;16;Z;Z;Z;21;2;2;2;Z;1;2;1;1;1;4;4;4,02306147485403;ZZZZZZZZZ;1;1;1;4;M;22;32;AZ;AZ;00;04;2;2;0;1;2;4;1;00;Z;54;2;ZZ;1;32;2;10;2;11;111;11;11;1;2;ZZZZZZ;1;2;1;4;41;2;Z
2             1601;1;8;012;14;011;010;1996;03;3;ZZZZZ;2;Z;Z;Z;1;0;Z;4;Z;Z;6;2;8;Z;16;Z;ZZ;16;Z;Z;Z;ZZ;1;2;2;2;Z;2;1;1;1;4;4;4,02306147485403;ZZZZZZZZZ;3;3;3;1;M;11;11;ZZ;ZZ;00;04;2;2;0;1;2;4;1;14;Z;54;2;ZZ;1;32;Z;10;2;23;230;11;11;Z;Z;ZZZZZZ;1;2;1;4;41;2;Z
3             1601;1;8;006;05;005;005;2002;03;3;ZZZZZ;2;Z;Z;Z;1;0;Z;4;Z;Z;6;2;8;Z;16;Z;ZZ;16;Z;Z;Z;ZZ;1;2;2;2;Z;2;1;1;1;4;4;4,02306147485403;ZZZZZZZZZ;3;3;3;1;M;11;11;ZZ;ZZ;00;04;2;2;0;1;2;4;1;14;Z;54;2;ZZ;1;32;Z;10;2;23;230;11;11;Z;Z;ZZZZZZ;1;2;1;4;41;2;Z
4            1601;1;8;047;54;046;045;1961;03;2;ZZZZZ;2;Z;Z;Z;1;0;Z;4;Z;Z;6;1;6;Z;16;Z;14;974;Z;Z;Z;16;2;2;2;Z;2;2;4;1;1;4;4;4,02306147485403;ZZZZZZZZZ;2;2;2;1;M;22;32;MN;GU;14;04;2;2;0;1;2;4;1;14;Z;54;2;ZZ;2;32;1;10;2;11;111;11;11;1;4;ZZZZZZ;1;2;1;4;41;2;Z
5             1601;2;9;053;54;052;050;1958;02;1;ZZZZZ;2;Z;Z;Z;1;0;Z;2;Z;Z;2;1;2;Z;16;Z;12;87;Z;Z;Z;22;2;1;2;Z;1;2;3;1;1;2;2;4,21707670353782;ZZZZZZZZZ;1;1;1;2;M;21;40;GZ;GU;00;07;0;0;0;0;0;2;1;00;Z;54;2;ZZ;1;30;2;10;3;11;111;ZZ;ZZ;1;1;ZZZZZZ;2;2;1;4;42;1;Z

最佳答案

我遇到了与将csv读入ff对象有关的类似问题。使用时

read.csv2.ffdf(file = "FD_INDCVIZC_2010.txt") 

而不是隐式调用
read.csv2.ffdf("FD_INDCVIZC_2010.txt")

我摆脱了错误。显式传递给参数的值似乎是ff函数所特有的。

关于r - 使用ff包导入文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21489448/

相关文章:

match - 在 ff 匹配中使用 eof 或输入结束?

sql - 如何使用R语言处理50GB的大型CSV文件?

r - dplyr 'object not found' 仅中位数

使用 r 将栅格转为表格

java - E/AndroidRuntime(2835) : java. lang.NullPointerException异常

javascript - 找不到模块 '../../images/Logo.png' .ts(2307) 红色错误仍然显示

ruby - 如何在 extconf.rb 中为 SWIG 正确包含库路径和其他标志?

r - 按 glm 模型摘要中的 p 值对 xtable() 输出进行排序

r - 如何使用带传单的控制层面板显示/隐藏图例?

java - 免费 API 可将地址簿从 gmail、yahoo aol 和 hotmail 导入到 Web 应用程序