Read.table при использовании "#", так как разделитель не работает?

У меня есть файл данных с # подписать, что я хотел бы прочитать с read.file команда.

Прежде всего; это большой файл данных, и я не хочу менять разделитель, потому что:

  1. риск использования другого разделителя, который уже существует в данных (примечание: можно проверить, но пункт 2 делает это немного более сложным)
  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="@")
Другие вопросы по тегам