如何定义伯努利密度函数?
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)
我想在定义函数中,我们已经预先确定了参数prob
为0.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)
.
以下是为伯努利分布定义的函数。我是新的 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)
当你写 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)
.