如何定义bernoulli密度函数?

时间:2016-07-08 09:36:38

标签: r bernoulli-probability

以下是为bernoulli分布定义的功能。我是新的R用户。我不太了解以下代码。

dbernoulli <- function(x, prob=0.5) {
dbinom(x, size=1, prob=prob)
 }

dbernoulli(y, prob=0.7)

我认为在已定义的函数中,我们已将参数prob预先确定为0.5,那么为什么我们在使用已定义的函数时将其更改为0.7?这些代码是否合理?我可以按照以下方式更正吗?

dbernoulli <- function(x, prob) {
dbinom(x, size=1, prob=prob)
 }

dbernoulli(y, prob=0.7)

1 个答案:

答案 0 :(得分:2)

当您写下function(x, prob=0.5)时,您说的是:

创建一个接收两个参数的函数,

  • x,没有默认值
  • prob,默认值为0.5

因此,如果您调用函数dbernoulli(y),它将分配x = y并且因为您未传递prob的值,它将分配prob = 0.5,因为这是您为其定义的默认值。

现在,如果删除prob的默认值,例如function(x, prob),那么您将始终需要在调用函数时声明要使用的概率,如{{1} }}