R 使用'时读取.table#';因为分隔符不起作用?
我有一个以R 使用'时读取.table#';因为分隔符不起作用?,r,read.table,R,Read.table,我有一个以#符号作为分隔符的数据文件,我想用read.file命令读取该文件 首先,;这是一个大数据文件,我不想更改分隔符,因为: 使用已存在于数据中的不同分隔符的风险(注意:可以检查,但第2点使这一点更复杂) 我希望有更多的数据文件使用所有的#符号作为分隔符,所以我不想每次想再次读取这些文件时都更改数据文件 因此我假设我可以使用read.file命令的sep参数。但是对于#符号,它并没有像我预期的那样起作用。只读取第一列。我尝试了一些不同的分隔符,除了#符号外,所有分隔符都很好。请参见下面的一
#
符号作为分隔符的数据文件,我想用read.file
命令读取该文件
首先,;这是一个大数据文件,我不想更改分隔符,因为:
#
符号作为分隔符,所以我不想每次想再次读取这些文件时都更改数据文件read.file
命令的sep
参数。但是对于#
符号,它并没有像我预期的那样起作用。只读取第一列。我尝试了一些不同的分隔符,除了#
符号外,所有分隔符都很好。请参见下面的一些示例,包括#
分隔符
该文件看起来像:
H1#H2#H3
a#b#c
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 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
有人能帮我吗?
这是已知的“bug”吗?有解决办法吗
提前感谢您的帮助 注释字符也是
#
,因此您需要如下内容:
read.table(file='tmp.txt', check.names=FALSE, sep='#',
header=TRUE, comment.char="@")
谢谢它是有效的。。。但是我仍然要注意新定义的注释字符没有在文件中使用:)(尽管这比更改文件要好得多),您也可以将
comment.char
设置为空白(”
)。@FBE:true,但通常情况下,人们对自己的数据文件知之甚少,并且可以公平地猜测unicode序列的哪一部分从不在文件中:-)。