Подтвердить что ты не робот

Удалять строки, содержащие NA в определенных столбцах R

У меня есть data.frame, который содержит много столбцов. Я хочу сохранить строки, у которых нет NA в 4 из этих столбцов. Усложнение возникает из-за того, что у меня есть другие строки, которые разрешены, в них есть NA, поэтому я не могу использовать complete.cases или is.na. Какой самый эффективный способ сделать это?

4b9b3361

Ответ 1

Вы можете использовать complete.cases(). Просто примените его к нужным столбцам (столбцы 1: 4 в приведенном ниже примере), а затем используйте логический вектор, который он возвращает, чтобы выбрать допустимые строки из всего файла data.frame.

set.seed(4)
x <- as.data.frame(replicate(6, sample(c(1:10,NA))))
x[complete.cases(x[1:4]),]
#    V1 V2 V3 V4 V5 V6
# 1   7  4  6  8 10  5
# 2   1  2  5  5  1  2
# 5   6  8  4 10  6  6
# 6   2  6  9  3  4  4
# 7   4  3  3  1  2  1
# 9   8  5  2  7  7  3
# 10 10 10  1  2  5 NA