Кто-нибудь знает, как игнорировать / пропустить ошибку при получении файла формата экспорта SAS в R?
require(SASxport)
asc = SASxport::read.xport("..\\LLCP2018.XPT_", keep = cols)
Проверка, имеет ли указанный файл соответствующий заголовок
Извлечение файла данных информация ...
Чтение файла данных ... ### Ошибка в [.data.frame
(ds, whichds): выбраны неопределенные столбцы
У меня есть много столбцов, и дон не хочу проверять один за другим, действительно ли он существует. Хотелось бы игнорировать пропущенные, но в функции нет опции.
РЕДАКТИРОВАТЬ
Нашел простое решение:
lu = SASxport::lookup.xport(xfile)
Теперь, вероятно, можете выбрать от lu$names
и пересекаются с cols
. Еще не все переменные можно прочитать, но это лучше.
Но когда я выбираю несколько столбцов (проверено), я получаю еще одну ошибку, которую невозможно пропустить:
Ошибка if (any (tooLong)) {: отсутствует значение где TRUE / Требуется ЛОЖЬ
Почему это останавливает процесс чтения и возвращает ноль?
РЕДАКТИРОВАТЬ 2
Найден обходной путь, считывающий то же самое функция, но из другого пакета:
asc <- foreign::read.xport(xfile)
Работает, к сожалению, загружает целые данные - если есть какое-то ограничение размера, вероятно, я ничего не смогу сделать.