1
我試圖用uniroot中的多個參數調用一個函數來解決和找到x的值。下面的代碼,在uniroot中調用一個具有多個參數的函數R
mean1 = 0
mean2 = 1
sigma1 = 0.5
sigma2 = 0.5
priors1 = 0.6
priors2 = 0.1
threshold = function(mu1, sigma1, mu2, sigma2, prior1, prior2, x) {
(dnorm(x,mu1,sigma1) * prior1 - dnorm(x, mu2, sigma2) * prior2)
}
uniroot(threshold(mean1,sigma1,mean2,sigma2, priors1, priors2), c(0,5))
但是對uniroot的調用失敗,因爲該函數也期望x被傳遞。我如何解決這個問題?
'uniroot'會對這些功能的「附加參數」的說法。在這裏,它應該是'uniroot(threshold,c(0,5),mu1 = mean1,sigma1 = sigma1,mu2 = mean2,sigma2 = sigma2,prior1 = priors1,prior2 = priors2) –