# Transformação na variável preditora # Modelo original Y ~ X rm(list=ls(all=TRUE)) X<-c(0.5,0.5,1,1,1.5,1.5,2,2,2.5,2.5) Y<-c(42.5,50.6,68.5,80.7,89,99.6,105.3,111.8,112.3, 125.7) par(pty="s") par(mfrow=c(1,3)) plot(X,Y, pch=16) abline(lm(Y~X), lwd=2) par(new=TRUE) plot(lowess(X,Y), type="l", ylim=range(Y), xlim=range(X), ylab="", xlab="", lty=2) legend(locator(1), c("modelo linear", "lowess"), lwd=c(2,1), lty=c(1,2)) fit.model <- lm(Y~X) ## Programa do Gilberto para resíduos padronizados X <- model.matrix(fit.model) n <- nrow(X) p <- ncol(X) H <- X%*%solve(t(X)%*%X)%*%t(X) h <- diag(H) lms <- summary(fit.model) s <- lms$sigma r <- resid(lms) si <- lm.influence(fit.model)$sigma tsi <- r/(si*sqrt(1-h)) a <- max(tsi)+1 b <- min(tsi)-1 plot(tsi, pch=16, ylab="resíduo padronizados", xlab="índices", ylim=range(a,b)) abline(2,0,lty=2) abline(-2,0,lty=2) qqnorm(tsi, pch=16, ylab="resíduos", xlab="índices") abline(0,1) library(alr3) pureErrorAnova(fit.model) source("d:\\fontes\\envel_norm.txt") # Transformação na variável preditora # Modelo original Y ~ log(X) rm(list=ls(all=TRUE)) X<-c(0.5,0.5,1,1,1.5,1.5,2,2,2.5,2.5) Y<-c(42.5,50.6,68.5,80.7,89,99.6,105.3,111.8,112.3, 125.7) par(new=FALSE) par(pty="s") par(mfrow=c(1,3)) plot(sqrt(X),Y, pch=16, xlab=expression(sqrt(X))) abline(lm(Y~sqrt(X)), lwd=2) par(new=TRUE) plot(lowess(sqrt(X),Y), type="l", ylim=range(Y), xlim=range(sqrt(X)), ylab="", xlab="", lty=2) legend(locator(1), c("modelo linear", "lowess"), lwd=c(2,1), lty=c(1,2)) fit.model <- lm(Y~sqrt(X)) ## Programa do Gilberto para resíduos padronizados X <- model.matrix(fit.model) n <- nrow(X) p <- ncol(X) H <- X%*%solve(t(X)%*%X)%*%t(X) h <- diag(H) lms <- summary(fit.model) s <- lms$sigma r <- resid(lms) si <- lm.influence(fit.model)$sigma tsi <- r/(si*sqrt(1-h)) a <- max(tsi)+1 b <- min(tsi)-1 plot(tsi, pch=16, ylab="resíduos padronizados", xlab="índices", ylim=range(a,b)) abline(2,0,lty=2) abline(-2,0,lty=2) abline(lm(Y~X)) library(alr3) pureErrorAnova(fit.model) qqnorm(tsi, pch=16, ylab="resíduos", xlab="índices") abline(0,1) source("d:\\fontes\\envel_norm.txt") # Transformação na variável resposta # Modelo original Y ~ X rm(list=ls(all=TRUE)) dados<-read.table("d:\\dados\\poliamina.txt", header=TRUE) attach(dados) par(mfrow=c(1,3)) plot(X,Y, pch=16) abline(lm(Y~X), lwd=2) par(new=TRUE) plot(lowess(X,Y), type="l", ylim=range(Y), xlim=range(X), ylab="", xlab="", lty=2) legend(locator(1), c("modelo linear", "lowess"), lwd=c(2,1), lty=c(1,2)) fit.model <-lm(Y~X) ## Programa do Gilberto para resíduos padronizados X <- model.matrix(fit.model) n <- nrow(X) p <- ncol(X) H <- X%*%solve(t(X)%*%X)%*%t(X) h <- diag(H) lms <- summary(fit.model) s <- lms$sigma r <- resid(lms) si <- lm.influence(fit.model)$sigma tsi <- r/(si*sqrt(1-h)) a <- max(tsi)+1 b <- min(tsi)-1 plot(tsi, pch=16, ylab="resíduos padronizados", xlab="índices", ylim=range(a,b)) abline(2,0,lty=2) abline(-2,0,lty=2) qqnorm(tsi, pch=16, ylab="resíduos", xlab="índices") abline(0,1) source("d:\\fontes\\envel_norm.txt") # Transformação na variável preditora # Modelo original log(Y) ~ X rm(list=ls(all=TRUE)) dados<-read.table("d:\\dados\\poliamina.txt", header=TRUE) attach(dados) par(mfrow=c(1,3)) plot(X,log(Y), pch=16) abline(lm(log(Y)~X), lwd=2) par(new=TRUE) plot(lowess(X,log(Y)), type="l", ylim=range(log(Y)), xlim=range(X), ylab="", xlab="", lty=2) legend(locator(1), c("modelo linear", "lowess"), lwd=c(2,1), lty=c(1,2)) fit.model <-lm(log(Y)~X) ## Programa do Gilberto para resíduos padronizados X <- model.matrix(fit.model) n <- nrow(X) p <- ncol(X) H <- X%*%solve(t(X)%*%X)%*%t(X) h <- diag(H) lms <- summary(fit.model) s <- lms$sigma r <- resid(lms) si <- lm.influence(fit.model)$sigma tsi <- r/(si*sqrt(1-h)) a <- max(tsi)+1 b <- min(tsi)-1 plot(tsi, pch=16, ylab="resíduos padronizados", xlab="índices", ylim=range(a,b)) abline(2,0,lty=2) abline(-2,0,lty=2) qqnorm(tsi, pch=16, ylab="resíduos", xlab="índices") abline(0,1) source("d:\\fontes\\envel_norm.txt") # Transformação de Box-Cox rm(list=ls(all=TRUE)) dados<-read.table("d:\\dados\\poliamina.txt", header=TRUE) attach(dados) boxcox(Y ~ X, lambda = seq(-2, 2, len = 20)) rm(list=ls(all=TRUE)) par(mfrow=c(1,3)) plot(X,1/sqrt(Y), pch=16) abline(lm(1/sqrt(Y) ~ X), lwd=2) par(new=TRUE) plot(lowess(X,1/sqrt(Y)), type="l", ylim=range(log(Y)), xlim=range(X), ylab="", xlab="", lty=2) legend(locator(1), c("modelo linear", "lowess"), lwd=c(2,1), lty=c(1,2)) fit.model <-lm(1/sqrt(Y)~X) ## Programa do Gilberto para resíduos padronizados X <- model.matrix(fit.model) n <- nrow(X) p <- ncol(X) H <- X%*%solve(t(X)%*%X)%*%t(X) h <- diag(H) lms <- summary(fit.model) s <- lms$sigma r <- resid(lms) si <- lm.influence(fit.model)$sigma tsi <- r/(si*sqrt(1-h)) a <- max(tsi)+1 b <- min(tsi)-1 plot(tsi, pch=16, ylab="resíduos padronizados", xlab="índices", ylim=range(a,b)) abline(2,0,lty=2) abline(-2,0,lty=2) qqnorm(tsi, pch=16, ylab="resíduos", xlab="índices") abline(0,1) source("d:\\fontes\\envel_norm.txt")