使用多个if else语句

时间:2015-05-29 19:50:50

标签: r

我无法弄清楚我需要什么。这是我实际需要的简化。

如果某个数字出现在矢量中,我想处理每个函数, 这是例子:

v <- c(111,88,222,99,555,1,9,6)

if(111 %in% v){
   x <- 111+0.1
 } else if(222 %in% v){
   y <- 222+0.1
 } else if(555 %in% v){
   z <- 555+0.1
 }

如果在向量v中找到给定的数字,我想处理每个函数。

在上面的示例中,if else示例会给出数字111.1222.1333.1,我在这里做错了什么?

基本上,如果某个数字出现在向量中,我想计算每个函数。

1 个答案:

答案 0 :(得分:2)

您希望始终评估if检查,但是当第一个检查为true时,永远不会检查以下内容,因为它们前面有èlse。只需删除else子句:

v <- c(111,88,222,99,555,1,9,6)

if(111 %in% v){
   x <- 111+0.1
}
if(222 %in% v){
   y <- 222+0.1
}
if(555 %in% v){
   z <- 555+0.1
}