我在RStudio中创建了一个非常简单的if ... else语句,并遇到以下问题。我将不胜感激,如果你可能需要一些时间来看看这个: -一个非常简单的if ... else语句产生意想不到的结果
(A)代码: -
testing <- function(var1) {
if(var1 == "heart attack") {
col_no <- 11
col_no
} else if(var1 == "heart failure") {
col_no <- 17
col_no
} else if(var1 == "pneumonia") {
col_no <- 23
col_no
} else {"error"}
}
(B)输出: -
testing("heart attack")
# [1] 11
col_no
# Error: object 'col_no' not found
testing("heart failure")
# [1] 17
col_no
# Error: object 'col_no' not found
testing("pneumonia")
# [1] 23
col_no
# Error: object 'col_no' not found
当我键入“测试(”心力衰竭“)”,我期待col_no的值是17而不是错误。
同样,当我输入“测试(”肺炎“)”,我期待col_no的值是23而不是错误。
请帮忙!
对象'col_no '只对函数'testing()'是本地的。请阅读R的范围。您必须调用如下函数:'col_no < - testing(“heart attack”)' – jogo
放入'col_no << - 11'以将函数对象分配给用户环境。 –
@AdamQuek不要这样做,只是分配结果:'col_no < - testing(...)' – Cath