4
我有一个数据文件,#
符号作为分隔符,我想用read.file
命令阅读。使用'#'作为分隔符时,Read.table不起作用?
首先;这是一个大的数据文件,我不想改变分隔符,因为:
- 使用已经在数据存在(注意不同的分隔符的风险:可以检查,但2点使这一点稍微复杂一点)
- 我希望有更多的所有
#
的符号分隔这些数据文件的,所以我不希望更改数据文件每次当我想读再次将这些文件
所以我想我可以使用read.file
命令的sep
参数。但它没有按照我的预期为#
签字。只读取第一列。我尝试了一些不同的分隔符,除了#
符号之外,所有分隔符都工作正常。请参阅下面的一些示例,其中包括#
分隔符。
文件看起来像:
H1#H2#H3
a#b#c
d#e#f
守则R,进行包括结果,对于同一个文件,其中我改变了分隔符。对于=
,|
,@
和$
它工作得很好,但不适合#
...
> read.table(file='test_data.dat', check.names=F, sep='=', header=T)
H1 H2 H3
1 a b c
2 d e f
> read.table(file='test_data.dat', check.names=F, sep='|', header=T)
H1 H2 H3
1 a b c
2 d e f
> read.table(file='test_data.dat', check.names=F, sep='@', header=T)
H1 H2 H3
1 a b c
2 d e f
> read.table(file='test_data.dat', check.names=F, sep='$', header=T)
H1 H2 H3
1 a b c
2 d e f
> read.table(file='test_data.dat', check.names=F, sep='#', header=T)
H1
1 a
2 d
任何人可以帮我在这? 这是一个已知的'错误'吗?有没有解决方法?
在此先感谢您的帮助!
谢谢!它的工作原理......但我仍然需要注意新定义的注释字符未在文件中使用:)(尽管它改变了文件要好得多) – FBE 2012-03-20 15:26:39
您也可以将'comment.char'设置为空(' “”')。 – 2012-03-20 17:00:18
@FBE:真的,但通常人们对他的数据文件有一点了解,并且可以很好地猜测unicode序列的哪个部分永远不会在文件中:-)。 – 2012-03-20 17:22:42