【问题标题】:If-Else/Function DebuggingIf-Else/函数调试
【发布时间】:2017-06-22 23:01:49
【问题描述】:

R 初学者在这里。我正在尝试创建一个函数,该函数使用 if-else 转换 R 中列表的值。我很确定我在 R 中使用语法/逻辑违反了一些基本规则,并且我已经阅读了一些函数和 if/else 语句的手册/在线帮助工具,但我无法确定我做错了什么.这是我正在使用的:

convTemp <- function(vector, to="Celsius"){
  if (to = "Celsius" ) { 
  return (vector - 32) * 5/9 
} 
 else
 print (vector) 
}

任何帮助/建议表示赞赏。谢谢。

【问题讨论】:

    标签: r function debugging if-statement vector


    【解决方案1】:

    您甚至不需要为此定义函数,只需使用 base R 的ifelse()

    temp_in_celsius <- ifelse(to == "Celsius", (vector - 32) * 5/9, vector)
    

    至于你做错了什么,to = "Celsius" 是一个赋值,而不是一个等式表达式。你可能打算做if (to == "Celsius") {...}

    【讨论】:

      【解决方案2】:

      在 R 中,检查相等性需要两个等号“==”。 将 if 语句更改为以下内容:

      if (to == "Celsius" )
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-13
        • 2023-02-07
        • 2016-12-25
        相关资源
        最近更新 更多