用R读取中文文本(UTF-8),经常无端出错,常常指定了sep=" “,结果仍然有字段内部仍然包含" "。分隔符换成 ”,"也不行!
更郁闷的是,read.table 读出来的域数量,竟然比 count.fields 返回的少。
最终解决的方法是,在分隔符前后加上空格。读取的时候再把空格去掉,这样问题就解决了。有相同问题的可以试试。
cat data.csv | iconv -f UTF-16 -t UTF-8 | sed "s/ / /g" > df.csv read.csv("df.csv", sep=" ", header=TRUE, encoding="UTF-8", strip.white=TRUE)