2

私は学生の研究職にあり、R は初めてです。同様の質問をしました (ここに投稿: MLE Issues )。最初の問題は解決しましたが、この機能でさらに問題が発生しました。

私はまだこの関数を使用してここに画像の説明を入力 、他の変数のそれぞれが現在知られている theta[i] を推定しようとしています。

以下は私のコードです:

  maxParam <- function(theta) {
    logl <- sum(for (i in 1:length(doses)) {
      sum(
        for (j in 1:LITTERS.M) {
          sum(
            for (k in 0:(litterResponses[i,j]-1)) {
              sum(log10(probabilityResponses[i] + k * theta[i]))
            }
            +
            for (k in 0:(litterSizes[i,j]-litterResponses[i,j]-1)) {
              sum(log10(1 - probabilityResponses[i] + k * theta[i]))
            }
            -
            for (k in 0:(litterSizes[i,j] - 1)) {
              sum(log10(1 + k * theta[i]))
            }
          )
        }
      )
    })

    return (-logl)
  }

  mle.fit <- mle(maxParam, start=list(theta=c(1,1,1,1,1,1)))
  print(mle.fit)

私がスローされているエラーは次のとおりです。

エラー: 引数 "theta" がありません。デフォルトはありません

エラーがばかげている場合は申し訳ありません。私はRについてほとんど知識がありません。

注: シータのテストとして (1,1,1,1,1,1) のベクトルを使用しています。実際のデータではありません。用量は、血清の用量レベルに対応する 6 のベクトルです。同腹反応は、同腹あたりの用量ごとの血清に対する反応を説明するマトリックスです。LitterSizes は、1 腹あたりの投与量ごとの 1 腹のサイズを表す行列です。LITTERS.M は、血清と接触した同腹児の初期数です。ProbabilityResponses は、特定のマウスが血清の影響を受ける確率を表すベクトルです。

4

2 に答える 2