0

以下は、ベルヌーイ分布のために定義された関数です。私は新しい 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)
4

1 に答える 1

2

function(x, prob=0.5)あなたが言うことを書くときは:

2 つのパラメーターを受け取る関数を作成し、

  • x、デフォルト値なし
  • prob、デフォルト値は0.5です。

dbernoulli(y)したがって、割り当てられる関数を呼び出すとx = y、 の値を渡さなかったため、定義したデフォルト値であるため、prob割り当てprob = 0.5られます。

ここで、 のように のデフォルト値を削除するとprob、 のようfunction(x, prob)に、関数を呼び出すときに使用する prob を常に指定する必要がありますdbernoulli(y,prob = 0.7)

于 2016-07-08T10:00:19.420 に答える