На основании моего вопроса здесь
У меня есть набор данных: я хочу, чтобы столбцы основывались на диапазоне значений: все значения подмножественных столбцов должны быть в диапазоне от 99 до 1000.
var1 <- c(333, NA, 456)
var2 <- c(3, 10, 500)
var3 <- c(356, 813, 856)
var4 <- c("aaa", "bbb", "ccc")
var5 <- c(NA, 111, 989)
dataset <- data.frame(var1, var2, var3, var4, var5)
Хорошо работает без значений NA
dataset %>%
select_if(~ is.numeric(.) && all(between(., 99, 1000)))
или
purrr::keep(dataset, ~is.numeric(.) && min(.) >= 99 && max(.) <= 1000)
, но когда я ввожу NA в мои данные:
select_if
функция возвращает мне эту ошибку:
«Только символы могут быть преобразованы в символы»
puur::keep
функция возвращает мне эту ошибку: «Функции предиката должны возвращать один TRUE
или FALSE
, а не пропущенные значение "
Как мне управлять NA? Выберите столбцы на основе диапазона значений, содержащих значения Alos NA?