我在一個學生研究職位,並且是新來的R.我問了一個類似的問題(貼在這裏:MLE Issues)。我已經解決了最初的問題,但是我遇到了這個功能的更多問題。更多MLE麻煩
我仍然使用這個函數來試圖估計θ[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)
我被拋出的錯誤是:
Error: argument "theta" is missing, with no default
我道歉,如果錯誤是愚蠢的,我有R.
的小知識說明: 我使用(1,1,1,1,1,1)的向量作爲theta的測試。這不是實際的數據。劑量是對應於血清劑量水平的6的載體。垃圾反應是一個矩陣,描述了每個垃圾每個劑量對血清的反應。 LitterSizes是一個矩陣,用於描述每窩每窩的垃圾大小。 LITTERS.M是與血清接觸的初產仔仔數。 ProbabilityResponses是描述給定小鼠受血清影響的概率的向量。
'mle'函數來自哪個軟件包?看看它的幫助文件。 –
它屬於stats4。我知道mle需要的功能是一個對數似然函數。我相信錯誤是在我的功能,我只是不知道我在做什麼錯了。 –
我無法讓我的功能在mle中工作。我知道我必須爲mle功能做些什麼。 –