【发布时间】:2015-08-21 06:29:31
【问题描述】:
我目前正在尝试对一些大型数据文件使用 readr 包中的 read_table() 函数。我只想要第二列,所以我在函数中使用这个参数将所有其他列设置为 NULL:
col_types = c(paste("_", "c", paste(rep("_", 20000), sep = "", collapse = ""), sep = "", collapse = ""))
编辑: 在上面的代码中,第一对和第三对闭引号之间应该有一个下划线。
然而,read_table 似乎坚持读入整个数据文件(并使用过多的内存并导致崩溃),而不是仅仅读入第 2 列。
对于read.table(),我尝试了一个类似的论点:colClasses = c("NULL", "character", rep("NULL", 20000),它可以完美地工作而不会占用过多的内存,但我想使用read_table,因为它应该更快。关于为什么read_table 占用这么多内存的任何想法,即使我包含一个只保留一列的论点?
【问题讨论】: