【发布时间】:2020-01-11 07:50:03
【问题描述】:
为了学习如何创建函数,我正在尝试制作一个计算平均值的函数,其中包含三种不同的错误代码。但是,在运行此代码时,我收到了两条不同的错误消息。
如果我尝试avg(5),它只有一个数字,我会得到“缺少参数“no”,没有默认值”。在尝试avg("f") 时,对于不是数字的东西,我得到错误:“不允许多参数返回”
.
我想要的是它说明如果只给出一个数字,它需要几个数字,如果给出一个字符,参数必须是数字。我确实相信第二个问题可以通过某种“停止”命令来解决,但是我的(可能是可怕的)谷歌搜索并没有让我遇到这样的事情。
感谢所有帮助,并提前致谢!
avg <- function(x){
ifelse(class(x) == "numeric" & length(x)>1,
return(sum(x)/length(x)),
ifelse(class(x)!= "numeric",
return("Need to be numeric",
ifelse(length(x) <= 1,
return("Need more than one number"),
return("Unknown error")))))
}
【问题讨论】:
标签: r function if-statement return