gpt4 book ai didi

r - 为什么 ifelse() 返回单值输出?

转载 作者:行者123 更新时间:2023-12-04 10:40:06 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





if-else vs ifelse with lists

(3 个回答)


6年前关闭。




这两个函数应该给出相似的结果,不是吗?

f1 <- function(x, y) {
if (missing(y)) {
out <- x
} else {
out <- c(x, y)
}
return(out)
}

f2 <- function(x, y) ifelse(missing(y), x, c(x, y))

结果:
> f1(1, 2)
[1] 1 2
> f2(1, 2)
[1] 1

最佳答案

这与missing无关,而是你对 ifelse 的错误使用.来自 help("ifelse") :

ifelse returns a value with the same shape as test which is filled with elements selected from either yes or no depending on whether the element of test is TRUE or FALSE.



你的“形状” test是一个长度为一的向量。因此,返回长度为一的向量。 ifelse不仅仅是 if 的不同语法和 else .

关于r - 为什么 ifelse() 返回单值输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27778559/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com