首页 > 解决方案 > 在数字数据的字符串中嵌入 nul

问题描述

使用 R,我正在读取一个带有 fread 的文件,它是一个包含许多列和行的文件。该文件如下所示:

1_17118 1_18353 1_21882 1_21955 1_22054
Ind0001  -1      -1      -1      -1
Ind0002  -1      -1      -1      -1
Ind0003  -1      -1      -1      -1
Ind0005  -1      -1      -1      -1
Ind0006  -1      -1      -1      -1

我正在像这样重新编辑文件:

M <- fread("file.txt")

我得到下一个错误:

Error in fread("file.txt") :
  embedded nul in string: '\xff\xff\xff\001\0\0'
Execution halted

我阅读了另一个看起来非常相似的文件,我之前没有遇到过这个问题。

我的列,除了标题 ant 第一列有 -1、1 和 0。我猜想 -1、1 和 0 内应该有一个字符串,这是导致问题的原因。你知道我如何识别文件中的任何字符串吗?我用 grep 尝试了几种可能性。但我不确定如何查找任何字符串。你知道我怎么能解决这个问题吗?

标签: rlinuxfread

解决方案


就我而言, fread 的问题是我的文件大小(2.7G)。使用 R 版本 3.6.0,fread 无法读取整个文件。解决方案是将我的文件分成两个较小的文件。然后我执行了一个 rbind 来合并这两个文件,之后一切正常。


推荐阅读