我在思考如何设置从真的ifelse语句中得到两个或更多结果。
例如,如果x=2
,我想要设置y = 2
和t=3
。我的想法是代码应该看起来像这样:
x=2
ifelse(x==2,y=2 & t=3, y=0 & t=0)
然而,这并不起作用。
我在思考如何设置从真的ifelse语句中得到两个或更多结果。
例如,如果x=2
,我想要设置y = 2
和t=3
。我的想法是代码应该看起来像这样:
x=2
ifelse(x==2,y=2 & t=3, y=0 & t=0)
if(x == 2){
y = 2
t = 3
}
else {
y = 0
t = 0
}
或者,你可以尝试:
ifelse(x == 2, {y = 2; t = 3;}, {y = 0; t = 0;})
ifelse
通常用于长度>1的向量,在这种情况下,您的使用方式将产生与人们从ifelse
期望的不同的结果。 - talat正如在这里回答的R中带有多个操作的if语句,对于块IF语句,ELSE应该与前一个花括号在同一行。
因此,不要写成
if(x ==2) {
y = 2
t = 3
}
else {
y = 0
t = 0
}
格式应该是(ELSE与前一个花括号在同一行)
if(x ==2) {
y = 2
t = 3
} else {
y = 0
t = 0
}
x
是一个标量? - Wolfgangifelse
的结果/返回值中进行赋值,而不是在ifelse
本身内部进行赋值。如果您需要多次使用它,请将逻辑向量存储为索引,并在每个赋值中使用它。 - talat