Я пытаюсь отфильтровать строки со значениями NA по нескольким столбцам. Строку следует отбрасывать только в том случае, если все интересующие столбцы — NA.
Сценарий такой же, как в этом вопросе (но у меня недостаточно репутации, чтобы оставить комментарий): фильтрация фрейма данных на основе NA по нескольким столбцам
Одно из решений — использовать:
library(dplyr)
df_non_na <- df %>% filter_at(vars(type,company),all_vars(!is.na(.)))
Поскольку filter_at обесценивается в dplyr, как я могу использовать filter и through для достижения аналогичного результата?
Отвечает ли это на ваш вопрос? фильтр dplyr с условием для нескольких столбцов — person etrowbridge schedule 28.02.2021
Мы можем использовать
across
, чтобы перебирать столбцы type, company и возвращать строки, которые не имеют NA в указанных столбцах.С
filter
есть две опции, похожие наall_vars/any_vars
, используемые сfilter_at/filter_all
Или используя
if_all
данные
Есть ли способ изменить это так, чтобы удалялись только строки с несколькими значениями NA? Например, чтобы была удалена только первая строка в df (где и тип, и компания — NA). — person etrowbridge; 28.02.2021
@etrowbridge, пожалуйста, проверьте обновленное решение — person etrowbridge; 28.02.2021
Благодарность! Вот и все. (используя if_any) — person etrowbridge; 28.02.2021