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