R:读取表和缺失值

CHO*_*ONG 5 r read.table na

当我在 R 中以制表符分隔格式加载数据文件时,收到以下错误消息:

Error in scan(file = file, what = what, sep = sep, quote = quote, dec = dec,  : line 3 did not have 5 elements
Run Code Online (Sandbox Code Playgroud)

这是我的数据:

KEY ID      code1   code2   name
1   sadsa   32423   344     ffsadsa
2   vdffsfs 21344   234     fsadfgg
3   3e4dsa  21321   #N/A    #N/A
4   dcxzc   23421   #N/A    #N/A
5   xzzcc   21223   124     erfsacf
6   sdas    21321   464     fsadfsa
7   assdad  32132   455     fsadfda
Run Code Online (Sandbox Code Playgroud)

我可以看到该错误是由我的数据中的“#N/A”值引起的。我尝试过 read.table 选项,例如 na.strings 或 comment.char = "#" 但它仍然不起作用。

在 R 中加载数据时,是否有任何方法可以保留实际文本(#N/A)或至少将其替换为 N/A?

小智 10

您可以尝试使用带有 fill= TRUE 的 read.table 函数。

read.table(file =file, sep = sep, fill=TRUE)
Run Code Online (Sandbox Code Playgroud)

如果这不起作用,我建议尝试 readLines 函数而不是 read.table。

readLines(...)
Run Code Online (Sandbox Code Playgroud)