[R] try to find the MLE of a function

Moshe Olshansky m_olshansky at yahoo.com
Thu Jun 19 07:57:57 CEST 2008


mle caused me some confusion too.

Anyway, first of all, your x should not contain 0, so make it, let say, (1:10)/10.
Secondly, f should not be the density, but -log(density), so in your case it should be
f <-function(theta) -sum(log(theta) + (theta-1)*log(x))

and finally you must specify a start value, i.e. your call should be

--- On Thu, 19/6/08, Manli Yan <manliyanrhelp at gmail.com> wrote:

> From: Manli Yan <manliyanrhelp at gmail.com>
> Subject: [R] try to find the MLE of a function
> To: "r-help at r-project.org" <r-help at r-project.org>
> Received: Thursday, 19 June, 2008, 1:49 PM
> Hi everyone:
>     I have a density function
> f(x|theta)=theta*x^(theta-1),where
> 0<x<1,0<theta<infinite
> I want to pratice on R to find the MLE of this
> function,here is my code:
>     x <- (0:10)/10
> f<-function(theta) prod(theta*x^(theta-1))
> mle(f)
> and r gave me :Error in eval(expr, envir, enclos) :
> argument is missing,
> with no default
> what mistake I just made?and how to add a constraint of
> theta>0 in my
> function.
> Great thanks for your time~
> 	[[alternative HTML version deleted]]
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained,
> reproducible code.

More information about the R-help mailing list