[R-br] Estimar vários modelos não lineares de uma só vez

Walmes Zeviani walmeszeviani em gmail.com
Sexta Dezembro 2 09:44:11 BRST 2011


É possível sim. Use apply(), para jogar uma coluna por vez para a nls(), ou
talvez melhor, deixe as y em uma lista de vetores e use lapply(). Se o
mesmo modelo o chutes podem ser usados, isso não será complicado. Na
situação em que os chutes podem mudar é mais indicado criar uma função
selfStart para se livrar da tarefa de atribuir chutes.

x <- 1:10
y <- list()
y$y1 <- 10*x/(2+x)+rnorm(x,0,0.1)
y$y2 <- 10*x/(2+x)+rnorm(x,0,0.1)
y$y3 <- 10*x/(2+x)+rnorm(x,0,0.1)
matplot(x, do.call(cbind, y))

nls.l <- lapply(y,
                function(yi){
                  n0 <- nls(yi~A*x/(B+x), start=c(A=10, B=3))
                  n0
                })
lapply(nls.l, coef)
lapply(nls.l, summary)
lapply(nls.l, fitted)
lapply(nls.l, residuals)

À disposição.
Walmes.

==========================================================================
Walmes Marques Zeviani
LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W)
Departamento de Estatística - Universidade Federal do Paraná
fone: (+55) 41 3361 3573
VoIP: (3361 3600) 1053 1173
e-mail: walmes em ufpr.br
twitter: @walmeszeviani
homepage: http://www.leg.ufpr.br/~walmes
linux user number: 531218
==========================================================================
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20111202/b440b466/attachment.html>


Mais detalhes sobre a lista de discussão R-br