[R] nls factor
Manuel Morales
Manuel.A.Morales at williams.edu
Wed Apr 15 17:05:25 CEST 2009
A more compact way to code factors in nls is to use the syntax factor[].
Here's an example using a simplified version of Ravi's example:
n <- 200
set.seed(123)
x <- runif(n)
a <- gl(n=2, k=n/2) # a two-level factor
eps <- rnorm(n, sd=0.5)
y <- as.numeric(a) * x^.5 + eps
nls(y ~ a[]*x^b, start=list(a=c(1,1), b=0.25))
Wed, 2009-04-15 at 10:22 -0400, Ravi Varadhan wrote:
> Hi,
>
> Here is one-way to do it (the following code shows a simulation example):
>
> n <- 200
>
> set.seed(123)
>
> x <- runif(n)
>
> f <- gl(n=2, k=n/2) # a two-level factor
>
> x1 <- x * (f == 1)
>
> x2 <- x * (f == 2)
>
> a <- c(rep(2, n/2), rep(5, n/2))
>
> b <- 0.5
>
> nsim <- 100
>
> nls.coef <- matrix(NA, nsim, 3)
>
> for (i in 1:nsim) {
>
> eps <- rnorm(n, sd=0.5)
>
> y <- a * x^b + eps
>
> ans.nls <- try(nls(y ~ a1*x1^b + a2*x2^b, start=list(a1=1, a2=1, b=0.25)),
> silent=TRUE)
>
> if (class(ans.nls) != "try-error") nls.coef[i, ] <- coef(ans.nls)
>
> }
>
> apply(nls.coef, 2, summary)
>
> Hope this helps,
> Ravi.
>
> ----------------------------------------------------------------------------
> -------
>
> Ravi Varadhan, Ph.D.
>
> Assistant Professor, The Center on Aging and Health
>
> Division of Geriatric Medicine and Gerontology
>
> Johns Hopkins University
>
> Ph: (410) 502-2619
>
> Fax: (410) 614-9625
>
> Email: rvaradhan at jhmi.edu
>
> Webpage: http://www.jhsph.edu/agingandhealth/People/Faculty/Varadhan.html
>
>
>
> ----------------------------------------------------------------------------
> --------
>
>
> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On
> Behalf Of Manuel Gutierrez
> Sent: Wednesday, April 15, 2009 8:27 AM
> To: r-help at r-project.org
> Subject: [R] nls factor
>
> I want to fit the model y=a*x^b using nls; where "a" should be different for
> each level of a factor.
> What is the easiest way to fit it? Can i do it with nls?
> I've looked the help pages and the MASS example in page 249 but the formula
> is different and I don't know how to specify it for my model.
> Thanks,
> Manuel
>
> [[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.
>
> ______________________________________________
> 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.
--
http://mutualism.williams.edu
More information about the R-help
mailing list