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

Как исправить в 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 A 20 5
2 B 15 3
3 C 19 9
4 D 20 3.

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

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

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

#view data frame
df

 team points assists
1 A 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 A 20 5
2 B 15 3
3 C 19 9
4 D 20 3

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

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

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

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

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

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.