Я пытаюсь проанализировать файлы .txt фиксированной ширины с readr
read_fwf
. Есть ~ 1,5 миллиона наблюдений и ок. 550 из них не хватает последних 25 из 60 переменных. Это упущение приводит к неправильному анализу последней переменной, которую имеют эти наблюдения, «описание» в примере ниже, и оставляет кадр данных без этих частично заполненных столбцов.
Например,
df_baseline <- read_fwf(file = file, fwf_widths(fwf_widths, fwf_names),
col_types = col_types, trim_ws = T) %>%
mutate_all(na_if, "")
Warning: 1148 parsing failures.
row col expected actual file
300495 description 240 chars 102 '/path/to/my/file/filename.txt'
300495 NA 59 columns 31 columns '/path/to/my/file/filename.txt'
500245 description 240 chars 56 '/path/to/my/file/filename.txt'
500245 NA 59 columns 31 columns '/path/to/my/file/filename.txt'
500333 description 240 chars 33 '/path/to/my/file/filename.txt'
See problems(...) for more details.
col_types
- это строка из 60 'c'
символов в строке, поэтому все столбцы считываются как символы. fwf_widths
и fwf_names
- соответствующие спецификации для предлагаемой ширины столбца и заголовков столбцов.
Я понимаю, что, пропуская значения в последнем столбце df, я нарушаю природу документа с фиксированной шириной.
Есть ли способ, которым я могу 1) Получить read_fwf
, чтобы сохранить эти частично заполненные строки? 2) Если нет, как я могу прочитать в этом текстовом файле, учитывая, что 99% его можно проанализировать в соответствии с нормальным FWF?