Read.table при использовании "#", так как разделитель не работает?
У меня есть файл данных с #
подписать, что я хотел бы прочитать с read.file
команда.
Прежде всего; это большой файл данных, и я не хочу менять разделитель, потому что:
- риск использования другого разделителя, который уже существует в данных (примечание: можно проверить, но пункт 2 делает это немного более сложным)
- Я ожидаю больше этих файлов данных со всеми
#
подписать как разделитель, поэтому я не хочу менять файлы данных каждый раз, когда я хочу снова прочитать эти файлы
Поэтому я предположил, что мог бы использовать sep
аргумент read.file
команда. Но это не сработало для #
подписать, как я ожидал. Только первый столбец читается. Я пробовал несколько разных разделителей, все работало нормально, кроме #
знак. Ниже приведены некоторые примеры, в том числе #
разделитель.
Файл выглядит так:
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
Кто-нибудь может мне помочь в этом? Это известная ошибка? Есть ли обходной путь?
Заранее спасибо за помощь!
1 ответ
Символ комментария также #
так что вам нужно что-то вроде:
read.table(file='tmp.txt', check.names=FALSE, sep='#',
header=TRUE, comment.char="@")