我有一个带#
符号作为分隔符的数据文件,我想用read.file
命令读取.
首先; 它是一个大数据文件,我不想更改分隔符,因为:
#
符号都是分隔符,所以每次我想再次读取这些文件时,我都不想更改数据文件所以我假设我可以使用命令的sep
参数read.file
.但#
正如我所预料的那样,它并没有成功.只读取第一列.我尝试了一些不同的分隔符,除了#
标志外,一切正常.请参阅下面的一些示例,包括#
分隔符.
该文件看起来像:
H1#H2#H3
a#b#c
d#e#f
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
有人可以帮我吗?这是一个已知的错误'?有解决方法吗?
在此先感谢您的帮助!
注释字符也是#
,所以你需要这样的东西:
read.table(file='tmp.txt', check.names=FALSE, sep='#',
header=TRUE, comment.char="@")
Run Code Online (Sandbox Code Playgroud)