Подтвердить что ты не робот

Ошибка в R: ошибка в сканировании (файл, что, nmax, sep, dec, quote, skip, nlines, na.strings,: строка 1 не имела 42 элементов)

Я новичок в R. Я пытаюсь прочитать в файле "CSV", который ограничен пространством. Файл не имеет заголовков. Похоже на это

Element1 Element2
Element5 Element6 Element7

Я пытаюсь прочитать это следующим образом:

> mydata <- read.table("/PathTo/file.csv")
Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings,  : 
  line 1 did not have 14 elements

Почему он ожидает 14 элементов в первой строке? Как импортировать этот файл?

4b9b3361

Ответ 1

read.table хочет вернуть data.frame, который должен иметь элемент в каждом столбце. Поэтому R ожидает, что каждая строка будет иметь одинаковое количество элементов и по умолчанию не заполняет пустые пространства. Попробуйте read.table("/PathTo/file.csv" , fill = TRUE ) заполнить пробелы.

например.

read.table( text= "Element1 Element2
Element5 Element6 Element7" , fill = TRUE , header = FALSE )
#        V1       V2       V3
#1 Element1 Element2         
#2 Element5 Element6 Element7

Заметка о том, устанавливать или не устанавливать header = FALSE... read.table, пытается автоматически определить, есть ли у вас строка заголовка:

header устанавливается в TRUE тогда и только тогда, когда первая строка содержит одно меньшее поле, чем число столбцов

Ответ 2

Чтобы прочитать символы, попробуйте

scan("/PathTo/file.csv", "")

Если вы читаете числовые значения, просто используйте

scan("/PathTo/file.csv")

scan по умолчанию будет использовать пробел в качестве разделителя. Тип второго arg определяет "что" читать (по умолчанию используется double()).