R中的read.table函数无法读取'i'

时间:2013-07-02 05:41:26

标签: r

read.table或read.csv函数将在csv文件的单元格中返回NA为“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  

干杯, 帮友

1 个答案:

答案 0 :(得分:5)

这是因为您没有使用colClasses为您的列指定类。

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

itype.convert解释为尝试复杂,但返回NA

type.convert('i')
## NA

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