Удаление данных с помощью NA за весь квартал, но не за весь набор данных - PullRequest
2 голосов
/ 08 мая 2019

У меня есть набор данных, который содержит данные о компаниях за несколько кварталов. Некоторые компании имеют точки данных NA. В этом случае мне нужно удалить данные компании за весь квартал, но НЕ для всего набора данных, поскольку данные из других кварталов могут быть полными.

Identifier     Quarter     Date          Value
a              2013.1      02-02-2013    1
a              2013.1      02-03-2013    2
a              2013.1      02-03-2013    NA
a              2014.1      02-02-2014    4
b              2014.1      02-03-2014    5

В приведенном выше примере мне нужно будет удалить данные для компании a за первый квартал 2013 года, но не за первый квартал 2014 года.

Любая помощь приветствуется!

1 Ответ

4 голосов
/ 08 мая 2019

Мы можем сгруппировать по «Идентификатору», «Кварталу», если в «Значение» есть элементы any, «NA», filter из строк для этого «Квартала»

library(dplyr)
df1 %>% 
     group_by(Identifier, Quarter) %>% 
     filter(!any(is.na(Value))
...