SASxport to R: ошибки при чтении файла XPT SAS - PullRequest
0 голосов
/ 26 марта 2020

Кто-нибудь знает, как игнорировать / пропустить ошибку при получении файла формата экспорта 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)

Работает, к сожалению, загружает целые данные - если есть какое-то ограничение размера, вероятно, я ничего не смогу сделать.

...