gpt4 book ai didi

返回一个 `ifelse` 的矩阵

转载 作者:行者123 更新时间:2023-12-04 20:08:18 26 4
gpt4 key购买 nike

我有两个矩阵:

mat <- matrix(1:6, 2, 3)
mat2 <- matrix(1:2, 2, 3)

和一个参数
a <- 1

使用 ifelse , 是否可以在 a 时返回矩阵是一定的值吗?
我正在使用的代码不起作用。例如:
mat.new <- ifelse(a == 1, mat, mat2)

最佳答案

返回长度完全由length(a == 1)决定.另请参阅 ?ifelse 的帮助文件.您的代码只会返回一个值。
ifelse目标向量输入/输出。即使你得到正确的长度,说:ifelse(rep(TRUE, 6), mat, mat2) ,你得到一个向量而不是矩阵输出。所以一个外matrix调用重置维度是必要的。

提示 1:

对于您的示例,看起来像一个简单的 result <- if (a == 1) mat else mat2足够了。无需触摸 ifelse .

提示 2:

不是不可能问ifelse返回一个矩阵,但你必须用一个列表来保护它(记住一个列表是一个向量):

ifelse(TRUE, list(mat), list(mat2))

但是,这很不方便。

关于返回一个 `ifelse` 的矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40340081/

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