2
我是R的新手!使用優化R的非線性優化
我想找到最適合我的實驗計數數據的伽瑪分佈參數。 optim
函數的幫助文件說函數的第一個參數應該是要優化的參數。所以,我想:
x = as.matrix(seq(1,20,0.1))
yexp = dgamma(x,2,1)*100 + rnorm(length(x),0,1)
f = function(p,x,yexp) {sum((p[1]*dgamma(x,p[2],scale=p[3]) - yexp)^2)}
mod = optim(c(50,2,1),f(p,x,yexp))
我得到的錯誤信息:
Error in f(p, x, yexp) : object 'p' not found
任何暗示,我錯了?
問題補充:有沒有其他辦法,以適應標準分配計數數據
[fitdistr](http://stat.ethz.ch/R-manual/R-devel/library/MASS/html/fitdistr.html)? – Roland 2015-02-09 10:59:27