R If语句检查两个条件

R If语句检查两个条件,r,if-statement,R,If Statement,如果一个变量为NA,则尝试删除/过滤掉两个观察值,如果变量为Male==2,则不过滤观察值 Ex <- readRDS("Session07//More data//ex.Rda") Ex01 <- Ex %>% if(is.na(Ex$Idnumber02)=="TRUE"){ if(Ex$Male==1){ filter(!is.na(Idnumber02)) } } 有人(我相信你们大多数人)知道我错在哪里吗?备选方案: Ex =

如果一个变量为NA,则尝试删除/过滤掉两个观察值,如果变量为Male==2,则不过滤观察值

Ex <- readRDS("Session07//More data//ex.Rda")

Ex01 <- Ex %>%
  if(is.na(Ex$Idnumber02)=="TRUE"){
    if(Ex$Male==1){
      filter(!is.na(Idnumber02))
    }
  }
有人(我相信你们大多数人)知道我错在哪里吗?

备选方案:

Ex = Ex %>% filter(!is.na(Idnumber02) | Male == '2')

管道在这里完全没有作用。有时,我会考虑tidyverse对R usageNo做了什么,我需要在此处添加equals TRUE
如果(is.na(xxxx)=“TRUE”
请更改为
!is.na(Ex$Idnumber02)
为什么要添加
Ex$
呢?我想这就是你们喜欢所有这些管道的原因吗?写得很快,各方面都是如此!看起来更好。我还想删除对字符串
'2'
的引用。OP没有指出它不是数字,所以
Ex=Ex%%>%
不是必需的。相反,
Ex%%
Ex = Ex %>% filter(!is.na(Idnumber02) | Male == '2')