Как не читать буквы «NA» как отсутствующие (или NA)? - PullRequest
1 голос
/ 26 февраля 2020

У меня есть большой файл (csv) записей библиотеки, который включает Классификация Библиотеки Конгресса номера вызовов, из которых я извлек буквы. Подкласс архитектуры - это NA. Таким образом, запись, классифицированная как «NA 1053 .B69 P4 1994», содержит «NA», извлеченный в другой столбец. Однако при чтении этого файла в R эти буквы NA читаются как NA или пропущенные значения. Есть ли способ избежать этого, возможно, обозначив то, что следует считать «отсутствующим», и как они кодируются?

1 Ответ

0 голосов
/ 26 февраля 2020

В зависимости от того, какую функцию вы используете для чтения csv, вы можете переопределить поведение по умолчанию для интерпретации "NA" как NA. Большинство функций чтения данных с разделителями имеют необязательные аргументы для управления тем, что считается отсутствующим.

  • При read.csv аргумент равен na.strings, по умолчанию "NA" .

  • С readr::read_csv аргумент равен na, по умолчанию c("", "NA").

  • С data.table::fread, аргумент также называется na.strings, по умолчанию "NA", но также управляется параметром пакета. Подробнее в NEWS .

Итак, в вашем примере вы должны написать что-то вроде readr::read_csv(file = "path/to/file", na = ""), поэтому "NA" в файле не будет интерпретироваться как NA. Конечно, обычно имеет смысл делать это в ситуации, подобной вашей, когда "NA" имеет значение и не представляет пропущенное значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...