[R-br] COMPARANDO CURVAS [DÚVIDA]

Diego Vieira diegovieir4 em gmail.com
Dom Out 21 21:12:52 -03 2018


Obrigado Simone pela ajuda. Era exatamente o que estava procurando.

Em seg, 1 de out de 2018 às 19:43, <sisartorio em yahoo.com.br> escreveu:

> Diego, boa noite!
>
> Veja minha tese...la tem como vc fazer isso...
>
> Banco de teses da usp/ simone daniela sartorio
>
> Att.
> Simone
>
> Em 29 de set de 2018 13:49, Diego Vieira via R-br <
> r-br em listas.c3sl.ufpr.br> escreveu:
>
> Boa tarde pessoal,
>
> Estou querendo fazer a comparação de duas curvas ajustadas utilizando a
> função "nlsLM" do pacote "minpack.lm". No entanto, não consigo ajustar as
> duas curvas em um único nlsLM, para depois usar a anova para realizar um
> teste da razão de verossimilhança para testar a restrição em A, B e C.
> Alguém pode me ajudar a solucionar esse problema. Desde já agradeço muito a
> todas as sugestões. Além disso, preciso usar esse pacote por causa do
> algoritmo de Levenberg-Marquardt.  Segue o script reproduzível.
>
>
> if(!require("minpack.lm")){install.packages("minpack.lm",dependencies=T);require("minpack.lm")}
>
> if(!require("lattice")){install.packages("lattice",dependencies=T);require("lattice")}
>
> d <- expand.grid(parA=c(1,1.99,3,4,5,6,6), sistema =
> factor(c("TRAT1","TRAT2")))
> d$diversidade <- c(55.000, 19.572, 10.231, 7.225, 6.004, 5.4022, 5.0566,
>                    62.000, 31.6952, 21.4178, 17.6125, 15.7654, 14.7072,
> 14.0334)
>
> #ajusta as duas curvas em um unico nlsLM
> n0 <- nlsLM(diversidade ~ A[sistema]/(1+B[sistema]*exp(-C[sistema]*parA)),
>             data = d, start = list(A = c(-2.790,11.106), B =
> c(-1.050,-0.821),
>                                        C = c(-0.090, 0.248)))
> #Mensagem de erro:
> # Error in dimnames(x) <- dn :
> # length of 'dimnames' [2] not equal to array extent
> # In addition: Warning message:
> # In matrix(out$hessian, nrow = length(unlist(par))) :
> # data length [9] is not a sub-multiple or multiple of the number of rows
> [6]
>
>
> #ajusta o modelo em que A, B e C seja comum aos dois tratamentos
> n1 <- nlsLM(diversidade ~ A/(1+B*exp(-C*parA)),
>             data = d, start = list(A = 4.158, B = -0.9355, C = 0.079))
>
> anova(n0,n1)
>
>
>
> --
> Diego dos Santos Vieira
> Engenheiro Florestal - UFRA
> Mestre em Ciência Florestal - UFVJM
> Doutorando em Ciência Florestal - UFVJM
>
>
>

-- 
Diego dos Santos Vieira
Engenheiro Florestal - UFRA
Mestre em Ciência Florestal - UFVJM
Doutorando em Ciência Florestal - UFVJM
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20181021/5fddcb5c/attachment.html>


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