Как читать файл .csv, содержащий апострофы в R?
Мне трудно получить R, чтобы прочитать файл .txt или .csv, содержащий апострофы.
Некоторые из моих столбцов содержат описательный текст, например "Посещение потребностей клиентов" или "Депутат шерифа". Мой файл открывается правильно в Excel (то есть все данные отображаются в правильных ячейках, есть 3 столбца и около 8000 строк, а отсутствующих данных нет). Но когда я прошу R прочитать файл, вот что происходит:
data <-read.table("datafile.csv", sep=",", header=TRUE)
Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, :
line 520 did not have 3 elements
(Строка 520 - это первая строка, содержащая апостроф.)
Если я войду в файл .txt или .csv и вручную удалю все апострофы, тогда R правильно прочитает файл. Тем не менее, я бы предпочел сохранить апострофы, если смогу.
Я новичок в R и буду благодарен за любую помощь.
Ответы
Ответ 1
По умолчанию read.table
видит одиночные и двойные кавычки в качестве цитирующих символов. Вам нужно добавить quote="\""
к вашему вызову read.table
. Или вы можете просто использовать read.csv
, который по умолчанию показывает только двойные кавычки в качестве цитирующих символов.
Ответ 2
Тщательно изучая варианты в. read.table будет окупиться в долгосрочной перспективе. Значения по умолчанию для цитирования символов: quote = "\" ' ", на самом деле это всего лишь два символа после того, как R анализирует это выражение, одинарная кавычка и двойная кавычка. Вы можете удалить их из рассмотрения с помощью quotes=NA
. также удалить" comment.char "по умолчанию" # ", и может быть полезно изменить" as.is" на TRUE, чтобы предотвратить преобразование строк в факторы.
Ответ 3
Установка параметра quote = "\\" в read.table должна сделать трюк.