【发布时间】:2015-10-03 02:00:24
【问题描述】:
希望有人可以在 R 中帮助解决这个问题。
我有一个数据集(df),有点简化,看起来像这样
Resp Status Threshold
1 16 3
0 134 4
1 3.5 3
我想对每一行执行这个 ifelse-test
CR.Wat = ifelse(Threshold != "NA" && Status != "NA",
ifelse(Resp != 1, Threshold/Status, Status/Threshold),
"")
我希望获得三个阈值/状态值。但相反,我只得到一个值。
我想我应该以某种方式告诉他们我希望每一行都有它。
我尝试使用这个公式来做到这一点
CR.Wat = ifelse(c(Threshold) != "NA" && c(Status) != "NA",
ifelse(c(Resp) != 1, c(Threshold/Status), c(Status/Threshold)),
"")
但这并没有影响任何事情。
【问题讨论】:
-
只使用一个
&即with(df, ifelse(Treshold!="NA" & Status!="NA",ifelse(Resp!=1,Treshold/Status,Status/Treshold),""))另外,顺便说一句,为了检查NA,它是is.na(Status)。我假设你有“性格”的 NAs
标签: r loops if-statement vector