<div>Ola colegas de lista.</div><div>Eu estava lendo sobre seleção de modelos e fiquei na duvida se estou indo pelo caminho certo no R.</div><div>Outra coisa, eu não achei exatamente nos livros que li o que eu deveria reportar em um artigo, ao longo destes passos (se estes estiverem fazendo sentido).</div>
<div>Eu tentei fazer um exemplo com uma com uma uma variavel resposta e duas variaveis explicativas.</div><div>Usei o dataset do anscombe que vem no R, usando o primeiro exemplo dele mais uma variavel ao acaso para exemplificar.</div>
<div> </div><div>Aqui vai um codigo de como estava pensando:</div><div> </div><div>#Abrindo os dados</div><div><br>anscombe<br>x2<-runif(11)</div><div> </div><div>#fazendo um plot para olhar<br>panel.hist <- function(x, ...)<br>
{<br> usr <- par("usr"); on.exit(par(usr))<br> par(usr = c(usr[1:2], 0, 1.5) )<br> h <- hist(x, plot = FALSE)<br> breaks <- h$breaks; nB <- length(breaks)<br> y <- h$counts; y <- y/max(y)<br>
rect(breaks[-nB], 0, breaks[-1], y, col="cyan", ...)<br>}<br>panel.cor <- function(x, y, digits=2, prefix="", cex.cor, ...)<br>{<br> usr <- par("usr"); on.exit(par(usr))<br> par(usr = c(0, 1, 0, 1))<br>
r <- abs(cor(x, y))<br> txt <- format(c(r, 0.123456789), digits=digits)[1]<br> txt <- paste(prefix, txt, sep="")<br> if(missing(cex.cor)) cex.cor <- 0.8/strwidth(txt)<br> text(0.5, 0.5, txt, cex = cex.cor * r+1)<br>
}<br>panel.lm = function(x, y, ...) {<br>tmp <- lm(y ~ x, na.action = na.omit)<br>abline(tmp)<br>points(x, y, ...)}</div><div><br>#legal, y1 é relacionado com x1 mas nao com x2 olhando esse grafico</div><div><br>pairs(cbind(y1=anscombe$y1,x1=anscombe$x1,x2),diag.panel=panel.hist,<br>
lower.panel=panel.cor,upper.panel=panel.lm)</div><div> </div><div>#agora fazendo um modelo</div><div><br>modelo1<-lm(anscombe$y1~anscombe$x1+x2)<br>modelo1</div><div><br>#vendo premissas<br>par(mfrow=c(2,2))<br>plot(modelo1)</div>
<div><br>#vendo o quanto os parametros ajudam<br>drop1(modelo1)</div><div><br>#testando quem ajuda significativamente</div><div><br>drop1(modelo1,test="F")</div><div><br>#novo modelo que eu vou ficar ja que vi no drop1 que posso tirar o x2</div>
<div> </div><div>modelo2<-lm(anscombe$y1~anscombe$x1)<br>modelo2</div><div> </div><div>#vendo premissas pro novo modelo<br>par(mfrow=c(2,2))<br>plot(modelo2)</div><div><br>#o que reportar num artigo de todo o processo?</div>
<div> </div><div>#todo esse processo pode ser inverso tb, começando de um modelo simples e indo pra um mais complexo<br>add1(modelo2, ~anscombe$x1+x2,test="F")</div><div> </div><div>É isso. Agradeço a paciencia de te</div>
<div><br>-- <br></div><div>Grato<br>Augusto C. A. Ribas</div>
<div> </div>
<div>Site Pessoal: <a href="http://augustoribas.heliohost.org" target="_blank">http://augustoribas.heliohost.org</a></div>
<div>Lattes: <a href="http://lattes.cnpq.br/7355685961127056" target="_blank">http://lattes.cnpq.br/7355685961127056</a><br></div><br>