【发布时间】:2019-07-13 08:10:33
【问题描述】:
我在调试我的嵌套 ifelse 语句时遇到了一些问题。
它运行第一部分很好,然后不会运行第二个ifelse 语句。我试过颠倒陈述的顺序。我有几个类似的功能。我不明白为什么下半场没有按预期运行。
如果数学、读、写都是读“通过”,那么结果向量中的元素应该是“通过”,如果有一个“是”豁免列,那么结果向量中的元素应该是“豁免”其他所有内容都应为“未通过”。
Math <-c("Pass", "Not Pass", "Not Pass", "NA", "NA", "NA")
Read<-c("Pass","Pass","Not Pass", "NA", "NA", "NA")
Write<-c("Pass","Pass", "Not Pass", "NA", "NA", "NA")
Exempt<-c( "NA", "NA", "NA","yes","yes","yes")
dat<-cbind(Math,Read,Write,Exempt)
dat$Result <-
ifelse(dat$math=="Pass" & dat$Read=="Pass" & dat$writing == "Pass",
"Pass",
ifelse(dat$Exempt == "yes", "Exempt", "Not Pass"))
【问题讨论】:
-
嗨,如果你不provide any data,我们对你的代码无能为力。
-
您的示例中仍然缺少
dat$Math和Praxis_Dat -
注意:您发布的示例数据不是数据框,而是字符矩阵。清除并修复区分大小写和列的拼写后,就没有问题了:rextester.com/WQJRU6005。
标签: r if-statement nested