首页 > 解决方案 > R:read.table 和缺失值

问题描述

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

Error in scan(file = file, what = what, sep = sep, quote = quote, dec = dec,  : line 3 did not have 5 elements

这是我的数据:

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

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

在 R 中加载数据时,有什么方法可以保留实际文本(#N/A)或至少用 N/A 替换它?

标签: rnaread.table

解决方案


您可以尝试将 read.table 函数与 fill= TRUE 一起使用。

read.table(file =file, sep = sep, fill=TRUE)

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

readLines(...)

推荐阅读