Comparar modelos com gnls

Quero comparar modelos para duas espécies de peixes. Consigo fazer usando nls mas não gnls. Alguém tem alguma idéia de como fazer? dados<-structure(list(Peixes = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c("1", "2"), class = "factor"), Tempo = c(0L, 0L, 0L, 30L, 30L, 30L, 60L, 60L, 60L, 90L, 90L, 90L, 240L, 240L, 240L, 270L, 270L, 270L, 0L, 0L, 0L, 30L, 30L, 30L, 60L, 60L, 60L, 90L, 90L, 90L, 240L, 240L, 240L, 270L, 270L, 270L), Peso = c(6.09, 6.09, 6.09, 65.73, 52, 53.13, 102.88, 115.8, 129.31, 161.06, 174.94, 213.63, 233.67, 291.93, 301.33, 258.47, 326.84, 337.04, 8.92, 8.92, 8.92, 78.8, 72.07, 85.8, 167.82, 146.13, 179.31, 255.75, 230.73, 207.06, 320.67, 280.2, 243.93, 376.55, 441.96, 349.84)), .Names = c("Peixes", "Tempo", "Peso"), row.names = c(NA, -36L), class = "data.frame") library(nlme) m1 <-gnls(Peso~a*(1-b*(exp(-c*Tempo)))^3, weights=varPower(), data=dados, start=c(a=350,b=1, c=0.01)) m2<- nls(Peso~a*(1-b*(exp(-c*Tempo)))^3,data=dados, start=c(a=300,b=10, c=0.05)) m3<-gnls(Peso~a[Peixes]*(1-b[Peixes]*(exp(-c[Peixes]*Tempo)))^3,, weights=varPower(), data=dados, start=list(a=c(300,300),b=c(10,10), c=c(0.05,0.05))) m4<-nls(Peso~a[Peixes]*(1-b[Peixes]*(exp(-c[Peixes]*Tempo)))^3,data=dados, start=list(a=c(300,300),b=c(10,10), c=c(0.05,0.05))) anova(m1,m3) anova(m2,m4)

A gnls() não entende a[Peixes], b[Peixes], enfim, separar parâmetros por variáveis indicadoras não é como na nls(). Você deve fazer isso por meio do argumento params= da gnls(). No seu CMR, o m3 ficaria assim m3 <- gnls(Peso~a*(1-b*(exp(-c*Tempo)))^3, params=list(a+b+c~Peixes), weights=varPower(), data=dados, start=list(a=c(300,0), b=c(10,0), c=c(0.05,0))) Veja a documentação da função para maiores informações. À 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@ufpr.br twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218 ==========================================================================

Com a dica do Walmes, você melhora substancialmente o seu modelo ao decompor os parâmetros, ou seja, verificando a influencia das espécies (peixe=1 e peixe=2) nos parâmetros do seu modelo. Nory Daniel Erazo Em 29 de março de 2012 15:21, Jonas Brito <jbsgyn@yahoo.com.br> escreveu:
Quero comparar modelos para duas espécies de peixes. Consigo fazer usando nls mas não gnls. Alguém tem alguma idéia de como fazer?
dados<-structure(list(Peixes = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c("1", "2"), class = "factor"), Tempo = c(0L, 0L, 0L, 30L, 30L, 30L, 60L, 60L, 60L, 90L, 90L, 90L, 240L, 240L, 240L, 270L, 270L, 270L, 0L, 0L, 0L, 30L, 30L, 30L, 60L, 60L, 60L, 90L, 90L, 90L, 240L, 240L, 240L, 270L, 270L, 270L), Peso = c(6.09, 6.09, 6.09, 65.73, 52, 53.13, 102.88, 115.8, 129.31, 161.06, 174.94, 213.63, 233.67, 291.93, 301.33, 258.47, 326.84, 337.04, 8.92, 8.92, 8.92, 78.8, 72.07, 85.8, 167.82, 146.13, 179.31, 255.75, 230.73, 207.06, 320.67, 280.2, 243.93, 376.55, 441.96, 349.84)), .Names = c("Peixes", "Tempo", "Peso"), row.names = c(NA, -36L), class = "data.frame")
library(nlme)
m1 <-gnls(Peso~a*(1-b*(exp(-c*Tempo)))^3 , weights=varPower(), data=dados, start=c(a=350,b=1, c=0.01))
m2<- nls(Peso~a*(1-b*(exp(-c*Tempo)))^3, data=dados, start=c(a=300,b=10, c=0.05))
m3<-gnls(Peso~a[Peixes]*(1-b[Peixes]*(exp(-c[Peixes]*Tempo)))^3, , weights=varPower(), data=dados, start=list(a=c(300,300),b=c(10,10), c=c(0.05,0.05)))
m4<-nls(Peso~a[Peixes]*(1-b[Peixes]*(exp(-c[Peixes]*Tempo)))^3, data=dados, start=list(a=c(300,300),b=c(10,10), c=c(0.05,0.05)))
anova(m1,m3) anova(m2,m4)
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
-- Nory Daniel de Carvalho Erazo Técnico em Sistemática Vegetal/Herbário Coordenação de Pesquisas em Biodiversidade Instituto Nacional de Pesquisas da Amazônia-INPA Av. André Araújo, 2936, Aleixo, CEP 69060-001, Manaus-AM Fone: (92) 3643-3125 Celular: (92) 9378-7592 E-mail: norydaniel@gmail.com nory@inpa.gov.br
participantes (3)
-
Jonas Brito
-
Nory
-
Walmes Zeviani