次の形式の if 文を書きたいと思います。
a=5
b=2
la<-function(a,b){
if(a>3){a}
else{b}
}
ここで私がやりたいことは、if ステートメントに 1 つのアクションだけでなく、2 つのアクションを含めることです。次に例を示します。
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 ステートメントに 1 つのアクションだけでなく、2 つのアクションを含めることです。次に例を示します。
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)
これは、3 より大きい x の要素にのみ 100 を加算します。