Мне труднее всего использовать функцию для условного удаления столбца в R, если значения не являются двоичными (например, 0 или 1). Для проведения статистического анализа мне нужно, чтобы все столбцы были дихотомическими, и мне нужна функция, которую можно применить к нескольким dfs. Пока что я, кажется, могу найти только результаты, удаляющие строки ...
Например, если один df1 имеет 3 столбца (col1, col2 и col3), но col3 имеет более двух различных значений, Я бы хотел это удалить. Точно так же, если в df2 было 5 столбцов и только 1 из этих столбцов был дихотомическим, я бы хотел удалить все четыре, и так далее и так далее.
В некоторых сообщениях предлагалось удалить их по имени, но проблема в том, что Мне нужно запустить это на сотнях фреймов данных, поэтому определение каждого столбца и их удаление вручную не будет оптимальным.
В настоящее время я пробовал:
data %>% select_if(~ is.numeric(.) && all(between (., 0, 1)))
Это, к сожалению, не работает и я получаю несколько ошибок. Кроме того, я не уверен, сохраняются ли при этом столбцы с NA (но я бы хотел сохранить и эти столбцы!)
Есть ли у кого-нибудь предложения? Любая помощь будет принята с благодарностью!