我在函数中有两个嵌套的ifelse
语句。当我调用该函数时,它会失败,因为最后一个else
子句中的变量未定义 - 即使未达到该子句。
x <- factor(c("a", "b", "c", "d"))
h <- "hi"
l <- "lo"
现在从未使用未定义的变量m
,但这会产生错误:
ifelse(as.numeric(x) > 2, h,
ifelse(as.numeric(x) < 3, l, m))
ifelse错误(as.numeric(x)&lt; 3,l,m):object&#39; m&#39;找不到
即使x
的所有四个值都满足前两个if
条件:
> sum(as.numeric(x) > 2 | as.numeric(x) < 3)
[1] 4
编辑:我在这个例子中故意没有定义m
,但是我想知道如何评估它,以便当最后一个子句是R时,R查找m
从未到过。