R初学者在这里。我正在尝试创建一个函数,使用if-else转换R中列表的值。我很确定我在R中违反了一些带有语法/逻辑的基本规则,我已经阅读了几个关于函数和if / else语句的手册/在线帮助工具,但我无法确定我做错了什么。这是我正在使用的内容:
convTemp <- function(vector, to="Celsius"){
if (to = "Celsius" ) {
return (vector - 32) * 5/9
}
else
print (vector)
}
任何帮助/建议表示赞赏。谢谢。
答案 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" )