Не удается прочитать файл с "#" и пробелом, используя 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, )
Я хочу сначала найти способ прочитать файл как он, не заменяя пробел или # другим прочитанным символом.
Ответы
Ответ 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)