3

read.table 或 read.csv 函数将在 csv 文件的单元格中返回 NA is "i"。例如

read.table(text <- textConnection('a, b, c
b,i,i
'), sep = ',', head = TRUE)


a  b  c
1 b NA NA

有什么建议可以解决这个问题吗?

> sessionInfo()
R version 3.0.1 (2013-05-16)
Platform: x86_64-w64-mingw32/x64 (64-bit)

locale:
[1] LC_COLLATE=English_Australia.1252  LC_CTYPE=English_Australia.1252   
[3] LC_MONETARY=English_Australia.1252 LC_NUMERIC=C                      
[5] LC_TIME=English_Australia.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
[1] digest_0.6.3   evaluate_0.4.3 formatR_0.8    tools_3.0.1  

干杯,邦友

4

1 回答 1

5

出现这种情况是因为您没有使用colClasses.

因此,read.table使用type.convert尝试将其转换为逻辑、整数、数字或复数。

i被解释type.convert为试图变得复杂,但返回NA.

type.convert('i')
## NA

使用 `colClasses = 'character') 强制所有列都是字符,或者使用命名向量来确保为所需的列设置类。

于 2013-07-02T05:54:38.327 回答