为什么我们可以使用ifelse()
但不能else if(){}
inwith()
或within()
语句?
我听说第一个是可矢量化的,而不是后者。这是什么意思 ?
为什么我们可以使用ifelse()
但不能else if(){}
inwith()
或within()
语句?
我听说第一个是可矢量化的,而不是后者。这是什么意思 ?
该if
构造仅在将向量传递给它时考虑第一个组件,(并给出警告)
if(sample(100,10)>50)
print("first component greater 50")
else
print("first component less/equal 50")
该ifelse
函数对每个组件执行检查并返回一个向量
ifelse(sample(100,10)>50, "greater 50", "less/equal 50")
例如,该ifelse
函数对 很有用transform
。在条件和或中使用&
或通常很有用。|
ifelse
&&
||
if
回答你的第二部分:
*当 x 的长度为 1 但 y 的长度大于 1 时使用*if
x <- 4
y <- c(8, 10, 12, 3, 17)
if (x < y) x else y
[1] 8 10 12 3 17
Warning message:
In if (x < y) x else y :
the condition has length > 1 and only the first element will be used
ifelse
当 x 的长度为 1 但 y 的长度大于 1 时使用
ifelse (x < y,x,y)
[1] 4 4 4 3 4