如何定义伯努利密度函数?

How to define a bernoulli density function?

以下是为伯努利分布定义的函数。我是新的 R 用户。我不太了解以下代码。

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

dbernoulli(y, prob=0.7)

我想在定义函数中,我们已经预先确定了参数prob0.5,那么为什么我们在使用定义函数时可以将其更改为0.7呢?这些代码合理吗?我可以更正如下吗?

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

dbernoulli(y, prob=0.7)

当你写 function(x, prob=0.5) 你说的是:

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

  • x,无默认值
  • prob,默认值为0.5

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

现在,如果您删除 prob 的默认值,例如 function(x, prob),那么您将始终需要说明调用函数时要使用的概率,如 dbernoulli(y,prob = 0.7).