LINUX.ORG.RU

n <- 250 # количество строк в таблице данных
m <- 15 # количество столбцов
limit <- 0.7 # порог для исключения столбцов
DF <- as.data.frame(replicate(m, runif(n))) # генерируем таблицу данных
colnames(DF) <- LETTERS[1:m] # именуем столбцы
for (i in 1:m) DF[sample(1:n, size = sample(1:n, replace = TRUE)), i] <- NA # заполняем таблицу пропущенным значениями 
to_drop <- sapply(DF, function(x) sum(is.na(x)) / n) > limit # определяем в каких столбцах превышен лимит
DF <- DF[, !to_drop] # удаляем столбцы из таблицы
unikum ★★★★★
()

ужас блин какой :) вот так надо

data[,which(sapply(data, function(v)length(which(is.na(v))))/nrow(data)>порог)]

psv1967 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.