编写成本函数

时间:2018-04-29 13:50:47

标签: r function

我遇到了编写成本函数的问题。 我得到的信息是:'查尔斯已经占领了他卖鲜鱼的市场摊位。每天早上他都会从批发商处购买鱼,每公斤4美元,最高100公斤 对于100公斤以上的任何东西,每公斤2.5美元。'

这是我到目前为止所写的:

cost= function(n)

{
  if (n<=100)
    cost = n*4

  if (n>100)
    cost = 2.5*(n-100) +100*4

}

cost(5)

它没有运行,我哪里出错了?我可以帮忙。

谢谢。

1 个答案:

答案 0 :(得分:0)

我认为你只是忽略了从你的函数中返回一个值:

cost <- function(n) {
    total <- 0
    if (n <= 100) {
        total <- n*4
    }
    else {
        total = 2.5*(n-100) + 100*4
    }

    return(total)
}

cost(5)

Demo

R有规则确定是否存在隐式返回值以及它将是什么,但是使用显式return语句总是一件好事,因为它清楚地表明了你的函数实际在做什么。 / p>

注意:使用ifelse我们实际上可以在一行代码中处理整个逻辑:

cost <- ifelse(n <= 100, n*4, 2.5*(n-100) + 100*4)