normalObs.MLE = function() { negLL = function(param) { mu = param[1] sigma = exp(param[2]) (-1)*sum(dnorm(y, mean=mu, sd=sigma, log=T)) } y = c(8.51, 4.03, 8.20, 4.19, 8.72, 6.15, 5.40, 8.66, 7.91, 8.58) fit = optim(c(0,0), negLL, method='BFGS') list(logLikelihood=-fit$value, mu=fit$par[1], sigma2=exp(fit$par[2])^2) }