Не удается прочитать файл с "#" и пробелом, используя read.table или read.csv в R - программирование
Подтвердить что ты не робот

Не удается прочитать файл с "#" и пробелом, используя read.table или read.csv в R

У меня есть файл, где первая строка является заголовком. Заголовок может иметь пробелы и символ # (могут быть и другие специальные символы). Я пытаюсь прочитать этот файл, используя read.csv или read.table, но он продолжает бросать мне ошибки:

undefined columns selected 

more columns than column names 

Мой файл с хромовой фильтрами с разделителями табуляции выглядит так:

Chromosome# Chr chr Size    UCSC NCBI36/hg18    NCBIBuild36 NCBIBuild37
1   Chr1    chr1    247199719   247249719   247249719   249250621
2   Chr2    chr2    242751149   242951149   242951149   243199373

Команда:

chromosomes <- read.csv(chromFile, sep="\t",skip =0, header = TRUE,  )

Я хочу сначала найти способ прочитать файл как он, не заменяя пробел или # другим прочитанным символом.

4b9b3361

Ответ 1

Из документации (?read.csv):

комментарий .char: символьный вектор длиной один, содержащий один символ или пустую строку. Используйте "", чтобы полностью отключить интерпретацию комментариев.

По умолчанию используется comment.char = "#", что вызывает проблемы. Следуя документации, вы должны использовать comment.char = "".

Пробелы в заголовке - это еще одна проблема, которую, как любезно отметили mrdwab, можно решить, установив check.names = FALSE.

chromosomes <- read.csv(chromFile, sep = "\t", skip = 0, header = TRUE,
                        comment.char = "", check.names = FALSE)