如果语句在R中有多个动作

use*_*765 12 r

我想写一个以下形式的if语句:

a=5
b=2

la<-function(a,b){
if(a>3){a}
else{b}
}
Run Code Online (Sandbox Code Playgroud)

现在我想做的不仅是在if语句中有一个动作而且有两个动作,例如:

if(a>3){a and c<<-1000}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,返回'a'并在变量'c'中写入1000

我的问题是如何在if语句之后放入多个动作.

Kar*_* W. 20

你应该使用分号

if(a>3){c<-1000;a}
Run Code Online (Sandbox Code Playgroud)

最后一个语句是返回值.

编辑这也适用于多个语句.如果使用换行符,则可以省略分号,如

if(a>3) {
  c<-1000
  d<-1500
  a
} else {
  e <- 2000
  b
}
Run Code Online (Sandbox Code Playgroud)

  • 请注意,在函数中使用时,这不会返回c,d和a.然后只返回一个. (3认同)