【问题标题】:How to define a bernoulli density function?如何定义伯努利密度函数?
【发布时间】:2016-07-08 09:36:38
【问题描述】:

以下是为伯努利分布定义的函数。我是新的 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)

【问题讨论】:

    标签: r bernoulli-probability


    【解决方案1】:

    当你写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)

    【讨论】:

    • 可能还值得一提的是部分参数匹配以及按名称与位置传递参数。即dbernoulli(p=0.7, x=y) 等价于dbernoulli(y, 0.7)
    猜你喜欢
    • 2020-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-21
    • 2019-03-23
    • 1970-01-01
    • 2016-02-19
    • 2018-04-11
    相关资源
    最近更新 更多