- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何在 R 中读入/操作超出分配内存限制的数据集?
编辑:到目前为止帮助很大,谢谢。让我添加一个额外的约束。服务器是企业所有,我没有管理权限。有没有办法使用 read.table 或类似的东西读取部分文件(例如,通过指定 nrows 一次只读取 100,000 行)?需要一个可以在当前环境下运行的解决方法,因此不能使用 fread、bigmemory 等。
我的目标数据集包含大约 3200 万行和 30 列,分为 12 个大致相等的文件(一些可读,一些不可读)。
文件是“|”以 12 个单独的文件分隔并存储在远程服务器上。大约一半的文件可以使用 R 读取,另一半超过允许的限制。
我正在使用一个简单的读取和 rbind 脚本:
path<-"filepath/mydata/contains 12 files.txt/"
fulldf<-data.frame()
for(i in 1:length(dir(path))){
file1<-read.table(file=paste0(path,dir(path[i]), sep="|", fill=T, quote="\"")
fulldf<-rbind(fulldf,file2)
}
我主要希望能够对数据进行子集化并将其写入 .csv(例如,逐段读取数据,按位置划分子集,然后 rbind),但有些文件太大,甚至无法写入读入。
有没有一种方法可以逐段读取大文件的一部分,即将不可读的文件拆分成可读的文件?
系统:微软 window 服务器 2003 R2企业版服务包 2
计算机:Intel(R)Xeon(TM) MP 中央处理器3.66GHz3.67 GHz,12.0 GB 内存物理地址扩展
> sessionInfo()
R version 2.12.1 (2010-12-16)
Platform: i386-pc-mingw32/i386 (32-bit)
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] data.table_1.7.1
loaded via a namespace (and not attached):
[1] tools_2.12.1
最佳答案
我认为iotools使用 chunk.reader
,read.chunk
和 chunk.apply
可能就是您正在寻找的。
如果你不能安装包,那么我用 nrows
和 skip
参数收集 read.table
应该做什么?您可以使用 colClasses
参数来确保它们都具有相同的列类。
关于R:如何在 Windows 上使用 R 逐个读取大型数据集(>35 MM 行)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22000658/
我尝试在 d3.js 中进行链式转换。为此,我在数组中定义了一组转换,并(尝试)创建一个函数以使用 .each("end", function()) 递归调用它们,以在前一个为完成,但我还没有结果。
我是一名优秀的程序员,十分优秀!