<div><span style="font-size: medium; color: #0000ff;">Ele não acessa este source</span></div>
<div><span style="font-size: medium; color: #0000ff;"><span style="font-family: monospace, monospace;">source(paste0("</span><a style="font-family: monospace, monospace; font-size: 12.8px;" href="https://raw.githubusercontent.com/walmes/" target="_blank"><span style="color: #0000ff;">https://raw.githubusercontent.com/walmes/</span></a><span style="font-family: monospace, monospace;">",</span><span style="font-family: monospace, monospace;">"wzRfun/master/R/rp.nls.R"))</span></span></div>
<div dir="ltr">
<div class="gmail_default" style="font-family: trebuchet ms,sans-serif;"> </div>
<div class="gmail_default" style="font-family: trebuchet ms,sans-serif;"> </div>
<div class="gmail_default" style="font-family: trebuchet ms,sans-serif;">André,<br /><br />Apenas para complementar a solução do Marcus, encaminho o código que faz uso de uma função com recursos do pacote rpanel para ajuste de modelo não linear de forma interativa. Essa função (na versão antiga) gerou o GIF que fica na capa da página da lista no Nabble (rs). O uso da interface não elimina o problema do chute inicial, só diminui porque ao invés de passar um valor você passa um intervalo e calibra visualmente. Além disso, tem a parte de análise de resíduos.<br /><br /><span style="font-family: monospace,monospace;">Brasil <- c(13.63, 13.93, 14.09, 15.12, 15.98, 16.08, 16.45, 17.96,<br /> 18.83, 19.28, 19.18, 20.89, 21.87, 21.85, 23.43, 25.38,<br /> 25.64, 26.99, 28.68, 31.92, 32.92, 33.32, 34.37, 34.99,<br /> 36.08, 37.72, 40.41, 42.81, 44.18, 44.91, 48.97, 51.59,<br /> 53.44, 56.49, 62.2, 66.49, 67.01, 68.41, 74.14, 77.58,<br /> 80.39, 85.71, 89.58, 96.3, 100.9, 102.8, 107.69, 111.51,<br /> 111.42, 116.59, 118.85, 121.42, 127.53)<br />anos <- 1961:2013<br /><br />anos2 <- anos - min(anos) + 1<br /><br /># Calibrando o chute inicial (por tentativa-erro faça aproximar).<br />start <- list(a = 12, b = 1.049)<br />plot(Brasil ~ anos2)<br />with(start,<br /> curve(a * (b^(anos2)),<br /> xname = "anos2",<br /> add = TRUE,<br /> col = 2))<br /><br />fit <- nls(Brasil ~ a * (b^(anos2)),<br /> start = start)<br /><br /># Verificando o ajuste.<br />plot(Brasil ~ anos2)<br />with(as.list(coef(fit)),<br /> curve(a * (b^(anos2)),<br /> xname = "anos2",<br /> add = TRUE,<br /> col = 4))<br /><br /># rp.nls: função que usa recursos no pacote rpanel para ajuste de<br /># modelos de regressão não linear.<br />source(paste0("<a href="https://raw.githubusercontent.com/walmes/" target="_blank">https://raw.githubusercontent.com/walmes/</a>",<br /> "wzRfun/master/R/rp.nls.R"))<br />library(rpanel)<br /><br />fit <- rp.nls(Brasil ~ a * (b^(anos2)),<br /> data = data.frame(Brasil = Brasil, anos2 = anos2),<br /> start = list(a = c(5, 20),<br /> b = c(0.95, 1.5)))<br />summary(fit)<br /><br /># Função que era do pacote nls2() mas foi removida (guardei o fonte).<br />source("~/Dropbox/CursoR/GeneticaEsalq/as.lm.R")<br />library(nls2)<br /><br />mit <- as.lm(fit)<br /><br /># Diagnóstico do modelo.<br />par(mfrow = c(2, 2))<br />plot(mit)<br />layout(1)<br /><br /># ! Relação média variância !<br /><br /># Linear!<br />plot(log(Brasil) ~ anos2)<br /></span><br />À disposição.</div>
<div class="gmail_default" style="font-family: trebuchet ms,sans-serif;">Walmes.</div>
<div class="gmail_default" style="font-family: trebuchet ms,sans-serif;"> </div>
</div>
<div>_______________________________________________<br />R-br mailing list<br />R-br@listas.c3sl.ufpr.br<br /><a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br />Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forne�a c�digo m�nimo reproduz�vel.</div>