我需要根据Plan_Year
1 less than
YEAR
以及CAT列中所有NA
行的条件进行过滤。
我有以下代码:
Table <- Table %>% filter(YEAR == Plan_Year+1)
如何包含/修改上面的代码以获取CAT列中包含NA的所有行?
提前致谢。
表:
YEAR CAT Plan_Year
1998 NA NA
1998 125-1 1997
1998 171-2 1997
1998 NA NA
.
.
2017 114-1 202
答案 0 :(得分:2)
使用|
和is.na
Table %>% filter(YEAR == Plan_Year+1|is.na(CAT))
YEAR CAT Plan_Year
1 1998 <NA> NA
2 1998 125-1 1997
3 1998 171-2 1997
4 1998 <NA> NA
或使用基础R
dt[which(dt$YEAR == (dt$Plan_Year + 1)|is.na(dt$CAT)),]
YEAR CAT Plan_Year
1 1998 <NA> NA
2 1998 125-1 1997
3 1998 171-2 1997
4 1998 <NA> NA
答案 1 :(得分:1)
使用|
(或)组合这两个条件:
Table %>% filter(YEAR == Plan_Year + 1 | is.na(CAT))