If-Else / Function Debugging

时间:2017-02-06 04:41:24

标签: r function debugging if-statement vector

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

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

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

2 个答案:

答案 0 :(得分:3)

你甚至不需要为此定义一个函数,只需使用基础R ifelse()

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

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

答案 1 :(得分:1)

在R中,检查相等性需要两个相同的符号&#34; ==&#34;。 将if语句更改为以下内容:

if (to == "Celsius" )