我想写一个类似下面形式的if语句:
a=5
b=2
la<-function(a,b){
if(a>3){a}
else{b}
}
现在我想做的不仅仅是在if语句中有一个动作,而是两个,例如:
if(a>3){a and c<<-1000}
在这种情况下,要返回'a'并在变量'c'中写入1000。
我的问题是如何在if语句之后放置多个操作。我想写一个类似下面形式的if语句:
a=5
b=2
la<-function(a,b){
if(a>3){a}
else{b}
}
现在我想做的不仅仅是在if语句中有一个动作,而是两个,例如:
if(a>3){a and c<<-1000}
在这种情况下,要返回'a'并在变量'c'中写入1000。
我的问题是如何在if语句之后放置多个操作。你应该使用分号。
if(a>3){c<-1000;a}
最后一个语句是返回值。
编辑:这也适用于多个语句。如果使用换行符,可以省略分号,例如:
if(a>3) {
c<-1000
d<-1500
a
} else {
e <- 2000
b
}
编辑:这应该也适用于 ifelse
。不过要记住,你正在对向量进行操作。以下是一个例子:
x <- sample(10, 100, replace=TRUE)
ifelse(x>3, {y <- 100; y+x}, x)
这仅向x中大于3的元素添加100。