【发布时间】:2019-08-11 21:56:55
【问题描述】:
对于这篇文章缺乏特异性,我提前道歉,但在这种情况下我无法提供可重现的示例。我正在尝试使用 R 阅读器的read_tsv 读取制表符分隔的数据文件。数据来自机密来源,因此我无法分享,即使只是有问题的部分。 read_tsv 停止了大约 20% 的阅读进度,除非我快速杀死 R,否则我的 RAM 使用量开始飙升到我的计算机死机的程度(我在 Ubuntu 18.04 上)。具体来说,我正在跑步:
read_tsv(file = path_to_file,
skip = 10e6,
n_max = 1e5)
我正在跳过行并设置 n_max 以模糊地隔离问题所在并运行更快的测试。我还尝试将read_tsv 的语言环境设置为locale(encoding = 'latin1'),但没有成功。我尝试通过阅读阅读器的read_lines 来检查这个有问题的部分:
read_lines(file = path_to_file,
skip = 10e6,
n_max = 1e5)
那里没有阅读问题:我得到一个字符串列表。我对所有这些都运行了validUTF8,它们似乎都是有效的。我只是不知道什么类型的问题会导致read_tsv 停止。有什么想法吗?
【问题讨论】:
-
请在新的 R 会话中尝试使用
data.table::fread(会更快) -
文件有多大?可能只是它太大而无法放入内存。