Как исправить в r: неполная последняя строка, найденная readtableheader


Предупреждение, с которым вы можете столкнуться в R:

 Warning message:
In read.table(file = file, header = header, sep = sep, quote = quote, :
  incomplete final line found by readTableHeader on 'my_data.csv' 

Это предупреждение появляется, когда вы пытаетесь прочитать CSV-файл в R, но последняя строка файла не пуста.

Важно отметить, что это всего лишь предупреждение , а не ошибка. Даже когда появится это сообщение, ваш файл все равно будет импортирован в R.

В этом руководстве объясняется, как полностью избежать этого предупреждения.

Как воспроизвести предупреждение

Допустим, у меня есть следующий CSV-файл с именем my_data.csv , который я хочу импортировать в R:

Теперь предположим, что я пытаюсь использовать следующий код для импорта этого CSV-файла в R:

 #import CSV file
df <- read. csv (' my_data.csv ')

Warning message:
In read.table(file = file, header = header, sep = sep, quote = quote, :
  incomplete final line found by readTableHeader on 'my_data.csv'

Я получаю предупреждение, поскольку последняя строка файла CSV не пуста.

Однако файл все равно был успешно импортирован:

 #view imported data frame
df

  team points assists
1 to 20 5
2 B 15 3
3 C 19 9
4 D 20 3.

Способ 1: Как избежать предупреждения

Один из способов избежать этого предупреждения — просто поместить функцию read.csv() внутри функции подавленияWarnings() :

 #import CSV file and remove any warnings
df <- suppressWarnings( read.csv (' my_data.csv '))

#view data frame
df

  team points assists
1 to 20 5
2 B 15 3
3 C 19 9
4 D 20 3

На этот раз мы можем импортировать файл CSV без какого-либо предупреждения.

Преимущество этого подхода в том, что нам не нужно напрямую изменять файл.

Обратной стороной этого подхода является то, что если есть более серьезные предупреждения, о которых нам нужно знать при импорте файла, мы не сможем их увидеть.

Способ 2: Как избежать предупреждения

Другой способ избежать этого предупреждения — напрямую отредактировать файл CSV.

Конкретно, мы можем перейти к последней строке файла и нажать Enter, чтобы создать новую пустую строку в конце файла:

Теперь, когда мы импортируем файл CSV, мы не получаем никакого предупреждения:

 #import CSV file
df <- read. csv (' my_data.csv ')

#view data frame
df

  team points assists
1 to 20 5
2 B 15 3
3 C 19 9
4 D 20 3

Преимущество этого подхода в том, что при импорте файла мы по-прежнему сможем видеть другие предупреждения.

Недостатком этого подхода является то, что нам приходится изменять файл напрямую, а не просто использовать программное решение.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в R:

Как использовать функцию readLines() в R
Как импортировать файлы CSV в R
Как использовать read.table в R

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *