read.table()中的一个字节分隔符参数

时间:2013-06-20 21:09:59

标签: r read.table

我正在将不可预测的字符集字符串放入表中,预期列数。我在选择合适的分离器时遇到了麻烦。

例如,示例表可能如下所示:

FILENAME:foo.txt

分离者:“\ u00AA”

ROW1,COL1:foo

ROW1,COL2:b,ar

ROW1,COL3:fo; obar

ROW1,COL4:bo \ tt

然后。

在R中,我会给出

  

read.table('foo.txt',sep =“\ u00AA”)

并获取

  

无效的'sep'值:必须是一个字节

我应该使用什么分隔符来避免与不可预测的字符串冲突? Unicode被接受到\ u007F,但R将更高的任何东西解释为多字节。为什么呢?

2 个答案:

答案 0 :(得分:1)

想出来。谢谢你的灵感。

关键是设置comment.char =“”和quote =“”

例如,

  

read.table('foo',sep =“\ t”,quote =“”,comment.char =“”)

返回正确的data.frame。

答案 1 :(得分:0)

调试输入问题的方法是首先运行table(count.fields( 'file.nam'))oddities <- which(count.fields('file.nam') %in% odd_counts),然后查看readLines('fil.nam')[oddities]版本或使用sed查看有问题的行。通常问题是注释字符,默认情况下为“#”,在这种情况下,解决方案是在comment.char=""调用中使用read.delim(.)