R-для каждой строки в фрейме данных, как проверить, если хотя бы один столбец не является NA? [дубликат]


На этот вопрос уже есть ответ здесь:

У меня есть такой фрейм данных

col_1 col_2 col_3 col_4
12344 53445 34335 AAA
12545 56565 12123 AAB
NA    54556 32323 ABB
NA    NA    NA    NA
43434 65654 NA    ABA

Я хочу получить строки С хотя бы не-NA значением, или, другими словами, строки со всеми NAs (строка 5 в этом случае) должны быть удалены. Не могли бы вы дать мне совет?

1 3

1 ответ:

Если ваш фрейм данных называется dta:

dta[rowSums(!is.na(dta)) > 0, ]
Это работает, проверяя, является ли каждый элемент is.na, принимая противоположный !, принимая rowSums, находя те, которые являются > 0, а затем используя [ для подмножества их.