Как прочитать файл.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 и был бы благодарен за любую помощь.

3 ответа

Решение

По умолчанию, read.table видит одинарные и двойные кавычки как символы цитирования. Вам нужно добавить quote="\"" на ваш read.table вызов. Или вы можете просто использовать read.csv, который видит только двойные кавычки как символы кавычек по умолчанию.

Тщательное изучение параметров в? Read.table окупится в долгосрочной перспективе. Значения по умолчанию для символов в кавычках: quote = "\" '", что на самом деле составляет всего два символа после того, как R анализирует это выражение, одинарные и двойные кавычки. Вы можете удалить их оба из рассмотрения, используя quotes=NA, Иногда необходимо также удалить "comment.char" со значением "#", и может быть полезно изменить "as.is" на "ИСТИНА", чтобы предотвратить преобразование строк в факторы.

Установка параметра quote="\\" в read.table должна помочь.

Другие вопросы по тегам