Вопрос очень простой.Я использую пакет haven
, который создает собственный класс с именем haven_labelled
при импорте данных из Stata в R (который имеет преимущество отображения меток в R).Я хотел бы выбрать столбцы, которые имеют этот пользовательский класс (или любой другой пользовательский класс).
Со стандартными классами можно использовать is.numeric
, is.factor
и т. Д.
Например:df <- Filter(is.numeric, df)
.
Можно найти множество других способов сделать это здесь .
Я попытался заменить эти примеры на class=="haven_labelled"
.
Например: df <- Filter(class=="haven_labelled", df)
, но это не работает.Выдает ошибку:
Error in class == "haven_labelled" :
comparison (1) is possible only for atomic and list types
Есть идеи?
РЕДАКТИРОВАТЬ:
При попытке найти решение H 1 я выяснил две вещи, которые могут быть важны для всех, кто используетпакет убежища.
- На самом деле имя класса должно быть «помечено», а не «haven_labelled».
- Выбор не работает, потому что в гавани создаются двойные классы для каждой переменной (и все они
labelled
в дополнение к другому классу).Следовательно, выборка, основанная на метке, просто возвращает полный набор данных.