<div dir="ltr"><div><div><div>Caros amigos<br><br></div>Estou tentando criar um gráfico de um modelo não linear utilizando a função gnls (pacote nlme). Utilizei essa função por que meus dados não possuem variâncias homogêneas e a função gnls me permite lidar melhor com isso.<br>
<br></div>Pois bem. Dei uma lida no post do Walmes em seu blogo (Ridículas) sobre como fazer (<a href="http://ridiculas.wordpress.com/2011/05/19/bandas-de-confianca-para-modelo-de-regressao-nao-linear/">http://ridiculas.wordpress.com/2011/05/19/bandas-de-confianca-para-modelo-de-regressao-nao-linear/</a> ) no entanto  não consigo obter a matriz gradiente e Hessiana neste modelo e por isso não consigo dar continuidade.<br>
<br></div><div>Abaixo segue o CMR, bem como os comando fornecido pelo Walmes até onde consegui evoluir. Este é meu gargalo!<br><br></div><div>Desde já agradeço a atenção<br></div><div><br><span class="" style="border-collapse:separate;color:rgb(0,0,0);font-family:DotumChe;font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:15px;text-indent:0px;text-transform:none;white-space:pre-wrap;word-spacing:0px;background-color:rgb(225,226,229)"><pre tabindex="0" class="" style="font-family:DotumChe;font-size:10pt!important;outline-style:none;outline-width:initial;outline-color:initial;border-style:none;border-width:initial;border-color:initial;white-space:pre-wrap!important;margin:0px;line-height:1.2">
GM<-structure(list(Animal = c(1L, 60L, 62L, 68L, 72L, 7L, 73L, 98L, 
99L, 100L, 91L, 92L, 93L, 51L, 83L, 89L, 86L, 87L, 94L, 95L, 
17L, 82L, 84L, 97L, 3L, 76L, 78L, 48L, 52L, 55L, 69L, 13L, 22L, 
33L, 63L, 12L, 67L, 77L, 80L, 41L, 42L, 46L, 50L, 25L, 53L, 57L, 
64L, 28L, 35L, 58L, 61L, 21L, 24L, 54L, 59L, 20L, 30L, 38L, 45L, 
10L, 11L, 19L, 9L, 14L, 18L, 32L, 56L, 2L, 4L, 5L, 23L, 27L, 
29L, 40L, 47L, 6L, 8L, 31L, 34L, 36L, 39L, 44L, 65L), Manejo = c(1L, 
1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 
1L, 1L, 1L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 1L, 1L, 
1L, 1L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 1L, 1L, 
1L, 1L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 
1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L), Gest = c(0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 90L, 
90L, 90L, 90L, 90L, 90L, 90L, 90L, 90L, 90L, 90L, 90L, 90L, 90L, 
110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 
110L, 110L, 110L, 110L, 130L, 130L, 130L, 130L, 130L, 130L, 130L, 
130L, 130L, 130L, 130L, 130L, 130L, 130L, 130L, 130L, 140L, 140L, 
140L, 140L, 140L, 140L, 140L, 140L, 140L, 140L, 140L, 140L, 140L, 
140L, 140L, 140L, 140L, 140L, 140L, 140L, 140L, 140L, 140L, 140L, 
140L, 140L, 140L, 140L), Fetos = c(0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L), NaGLAMA = c(0.515523054, 
0.274319898, 0.260406616, 0.345393579, 0.941416811, 3.242298603, 
0.543581754, NA, NA, 0.310913983, 0.103119122, 0.242179757, 1.511982572, 
0.248561812, 1.377624119, 1.239927094, NA, 0.347712662, NA, 0.907352204, 
NA, 1.629736193, 0.707560235, 1.260423046, 0.6423459, 1.314054397, 
NA, 0.728530524, 0.398189115, 0.749234643, 0.544891837, NA, 5.434432736, 
1.273166074, NA, 1.055026755, 0.937103858, 1.297767845, 0.691943258, 
1.336532109, NA, 1.69233929, 2.762457777, 1.639361362, 1.220678864, 
0.696944641, 0.555373873, 2.694735252, 1.593673698, 4.8664716, 
1.14279477, 0.952757874, 1.538877833, 3.417410969, NA, 3.827188165, 
4.90094219, NA, 1.254578538, 3.997852624, 1.562503764, 2.689082873, 
8.459237956, 8.787103701, 2.535628503, 4.715973548, 2.187817632, 
1.860875669, 2.656679208, 4.929889812, 2.548334487, 4.177756252, 
4.293566946, 5.717494612, 1.55775636, 4.922141642, 4.650077264, 
6.112568346, 5.235183032, 1.907048841, 2.814221997, 5.477504341, 
5.465705692)), .Names = c("Animal", "Manejo", "Gest", "Fetos", 
"NaGLAMA"), row.names = c(NA, -83L), class = "data.frame")<br><br>library(nlme)<br>NAGLM1<-gnls(NaGLAMA~a*exp(c*Gest),start=list(a=0.04,c=0.03),weight=varIdent(form=~1|Gest),na.action=na.omit,data=GM[-c(59,57,61),],subset=c(Gest>0 & Fetos==1))<br>
</pre></span><br></div>#Códigos fornecidos pelo Walmes Adaptado<br><br>criando função que representa o modelo, retorna gradidente e hessiano<br><br>expo.der <- deriv3(~a*exp(c*Gest),<br>                   c("a", "c"),<br>
                   function(Gest, a,c) NULL)<br>str(expo.der)<br><br>#-----------------------------------------------------------------------------<br># diagnose gráfica e primeiro chute<br><br>plot(NaGLAMA~Gest, data=GM, xlab="idade Gestacional (dias)",<br>
     ylab="Conteudo de sodio(g)")<br>a <- 0.04; c <-0.03;<br>curve(expo.der(x, a, c), add=TRUE, col=2)<br>start <- list(a=a, c=c)<br><br>#-----------------------------------------------------------------------------<br>
# ajustando o modelo aos dados a partir dos valores iniciais via gráfico<br><br>n0 <- gnls(NaGLAMA~expo.der(Gest, a,c),weight=varIdent(form=~1|Gest),na.action=na.omit, data=GM[-c(59,57,61),], start=start)<br>summary(n0)<br>
confint(n0)<br>#----------------------------------------------------------------------------------------------------<br><div class=""><code class="">#Não consigo acessar estas matrizes. Não consegui progredi.<br></code></div>
<div class=""><code class="">str</code><code class="">(n0)</code></div><div class=""><code class="">str</code><code class="">(n0$m$</code><code class="">fitted</code><code class="">())</code></div><div class=""><code class="">c</code><code class="">(n0$m$</code><code class="">fitted</code><code class="">())</code></div>
<div class=""><code class="">attr</code><code class="">(n0$m$</code><code class="">fitted</code><code class="">(), </code><code class="">"gradient"</code><code class="">)</code></div><div class=""><code class="">attr</code><code class="">(n0$m$</code><code class="">fitted</code><code class="">(), </code><code class="">"hessian"</code><code class="">)</code></div>
<br></div>