Как прочитать файл.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" на "ИСТИНА", чтобы предотвратить преобразование строк в факторы.