首页 > 解决方案 > 如何解决默认情况下缺少参数 K 错误

问题描述

我在下面有一个函数,我有 K 是一个值范围,并且想要设置 lambda = 2。

当我运行代码时,我在 R- 参数 k 中出现错误,没有默认值。

我究竟做错了什么?

lnmp <- function(mu, k) {
  n <- length(k)
  -n*mu + log(mu)*sum(k) - sum(lfactorial(k))
}

k<-c(5,12,10,22,45,67,39,28,45,53,45,41,4,lamhda=2)
lnmp(k)

标签: r

解决方案


lnmp使用两个输入设置函数,mu并且k. 但是,你只通过了一个。重要的是,您传递的参数名称无关紧要,它将是第一个参数。如果您命名它dog,它仍将被视为mu函数内部。由于您没有传递第二个参数,k因此未定义(它没有价值)。因此,您需要做的是在调用函数时传递两个参数(因此,lnmp(first, second)lnmp(mu, k))。


推荐阅读