【问题标题】:If else building blockIf else 构建块
【发布时间】:2013-09-02 08:07:30
【问题描述】:

R 中是否有等效的构建块

if ($a > $b) {
    echo "a is bigger than b";
} elseif ($a == $b) {
    echo "a is equal to b";
} else {
    echo "a is smaller than b";
}

来自 PHP 还是 Java?

【问题讨论】:

  • 也许 [this][1] "switch" 能帮到你? [1]:stackoverflow.com/questions/10393508/…
  • 对于了解 R 但不了解 PHP 或 Java 的人来说,或许可以描述 echo 的作用。也许还将您想要的结果添加到您的帖子中。也许还可以在您的帖子中添加 PHP 和 Java 标签。
  • else if 是你想要的。

标签: r if-statement


【解决方案1】:

这不是惯用的,但答案是肯定的:

if (a > b) {
  cat("a is bigger than b")
} else if (a == b) {
  cat("a is equal to b")
} else {
  cat("a is smaller than b")
}

【讨论】:

  • 也许值得解释一下,这不是惯用的,因为它不是矢量化的。 ifelse 函数是矢量化的替代方法。另外,我会被message 而不是cat 所吸引(这是低级别的,并不是真的要直接调用)。
  • 另外值得解释的是,花括号(我的编辑)是必要的,以避免 R 将前两行作为完整语句读取然后抛出 Error: unexpected ’else’ in "else" 的可能性。
  • @Richie message 可能会被推荐,但我认为cat 可以说更接近echo
  • @flodel 这是一个很好的修正。另一种选择是将else 放在换行符之前。如果在函数中定义所有工作(包括原件)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-07
  • 2022-01-07
  • 1970-01-01
相关资源
最近更新 更多