## ---------- Leitura dos dados ---------- ## ---------- Baixe os dados Acuidade.txt da WIKI e coloque o diretório salvo abaixo Acuidade <- read.table("D:\\Dados\\Acuidade.txt", header=TRUE) X <- Acuidade$idade Y <- Acuidade$tempo tempo attach(Acuidade) tempo ## ---------- Ajuste do modelo ---------- modelo.ajustado <- lm(Y~X) plot(X,Y, pch=16, xlab="Idade", ylab="Tempo de reação", main="Modelo de regressão linear simples") abline(modelo.ajustado) summary(modelo.ajustado) ## ---------- Tabela ANOVA ---------- anova(modelo.ajustado) ## ---------- Tabela ANOVA com erro puro e falta de ajuste # install.packages("alr3") ## Executar somente uma vez para instalar a biblioteca library(alr3) pure.error.anova(modelo.ajustado) ## ---------- Análise de resíduos ---------- y.ajustado <- fitted(modelo.ajustado) resíduos <- residuals(modelo.ajustado) plot(y.ajustado, resíduos) plot(y.ajustado, resíduos, pch=16, xlab=expression(hat(Y)), ylab=expression(e[i]), main="Gráfico de resíduos") plot(y.ajustado, resíduos, pch=16, xlab=expression(hat(Y)), ylab=expression(Y-hat(Y)), main="Gráfico de resíduos") n<-length(Y) sigma.chapéu <- sqrt(sum(modelo.ajustado$residuals^2)/(n-2)) resíduos.padronizados <- resíduos/sigma.chapéu plot(y.ajustado, resíduos.padronizados) faixay <- range(c(-3,3),resíduos.padronizados) plot(y.ajustado, resíduos.padronizados, pch=16, ylim=faixay, xlab=expression(hat(Y)), ylab=expression(d[i]), main="Gráfico de resíduos padronizados") abline(qnorm(0.975),0, col=2, lty=2) abline(qnorm(0.025),0, col=2, lty=2) ## ---------- Gráfico de probabilidade normal ---------- # ---------- Baixar os dados Acuidade.txt Acuidade <- read.table("D:\\Dados\\Acuidade.txt", header=TRUE) attach(Acuidade) n <- length(tempo) fit.model <- lm(tempo~idade) r <- residuals(fit.model) sig.chapeu <- sqrt ( sum(r^2) / (n-2) ) rp <- sort(r)/sig.chapeu # resíduo padronizado sig.chapeu <- sqrt ( sum(r^2) / (n-2) ) # estimativa de sigma rp <- sort(r)/sig.chapeu # resíduo padronizado q <- qnorm( (1:n - 0.5)/n ) plot(q, rp, pch=16, main="QQ plot") abline(0,1) # qqnorm(rp, pch=16) # faz direto o gráfico QQ # ---------- Baixe o envel_norm.txt de www.ime.usp.br/~giapaula/envel_norm source("D:\\Fontes\\envel_norm.txt")