我正在尝试使用 R 处理 1909x139352 数据集。由于我的计算机只有 2GB RAM,因此该数据集对于传统方法来说太大(500MB)。所以我决定使用ff
包裹。然而,我遇到了一些麻烦。功能read.table.ffdf
无法读取第一个数据块。它因下一个错误而崩溃:
txtdata <- read.table.ffdf(file="/directory/myfile.csv",
FUN="read.table",
header=FALSE,
sep=",",
colClasses=c("factor",rep("integer",139351)),
first.rows=100, next.rows=100,
VERBOSE=TRUE)
read.table.ffdf 1..100 (100) csv-read=77.253sec
Error en ff(initdata = initdata, length = length, levels = levels, ordered = ordered, :
write error
有人知道发生了什么事吗?
此错误消息表明您打开的文件太多。在 ff 中,ffdf 中的每一列都是一个文件。您只能打开有限数量的文件 - 并且您已经达到了该数量。请参阅我的回复关于如何调试此 FF 错误有什么想法吗?.
因此,在您的情况下,仅使用 read.table.ffdf 是行不通的,因为您有 139352 列。不过,可以将其导入到 ff 中,但在打开列并在 RAM 中获取数据时需要小心,以避免出现此问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)