gpt4 book ai didi

r - 为什么在没有逻辑条件的情况下评估 R 中的 `if statement`?

转载 作者:行者123 更新时间:2023-12-02 08:02:25 25 4
gpt4 key购买 nike

我注意到,如果我将除 0 以外的任何数字作为参数传递给 if 语句if 语句 中的代码就会编译。我很困惑为什么会这样!我知道 R 在内部将 0 识别为 FALSE 并且 if condition 中的语句未被评估,这是有道理的,但为什么要对其他数字进行评估?

if(5) {
5 * 5
}

我原以为我会得到一个错误,但代码编译后我得到了 25 作为答案。

最佳答案

if 帮助页面中,if 期望:

A length-one logical vector ... Other types are coerced to logical if possible, ignoring any class

基本上是这样

as.logical(5)
# [1] TRUE

因为它是 5 != 0,所以这是真的

as.logical(0)
# [1] FALSE

在语言中,任何非 0 的数字都被解释为“真”是很常见的

关于r - 为什么在没有逻辑条件的情况下评估 R 中的 `if statement`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55736420/

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