## Objetivos: ## Exemplificar, através do R, as análises e determinações numéricas ## referentes a análise de variância sob DIC e aplicação de ##contrastes.
=============================================================================== ## Pacotes necessários: ## gplots (CRAN) ## gmodels (CRAN) # install.packages(c('gplots', # 'gmodels')) # Instala todos os pacotes necessários do CRAN. ##=============================== ## Dados ##=============================== tra <- gl(4, 6, labels=LETTERS[1:4]) r <- rep(1:6, 4) pro <- c(58, 49, 51, 56, 50, 48, 60, 55, 66, 61, 54, 61, 59, 47, 44, 49, 62, 60, 45, 33, 34, 48, 42, 44) dad <- data.frame(tra, r, pro) rm(tra, r, pro) # Removendo objetos não mais necessários ##=============================== ## Análise de variância ##=============================== is.data.frame(dad) is.factor(dad$tra) # Necessário ser fator para fazer ANOVA is.numeric(dad$pro) # Necessário ser numerico para fazer ANOVA ## Carrega pacote necessário library(gplots) ## plotmeans (gplots) plotmeans(pro ~ tra, data=dad, mean.labels=FALSE, digits=3, col='blue', connect=FALSE, ylab='Produção', xlab='Tratamentos') av <- aov(pro ~ tra, data=dad) summary(av) ##=============================== ## Contrastes ##=============================== ##¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬ ## Contrastes ortogonais ##¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬ #A B C D cmat <- rbind('(A,D) vs (B,C)' = c( 1, -1, -1, 1), # Define a matriz dos contrastes ortogonais 'A vs D' = c( 1, 0, 0, -1), 'B vs C' = c( 0, 1, -1, 0)) ## Carrega pacote necessário library(gmodels) av1 <- aov(pro ~ tra, data=dad, contrasts=list(tra=make.contrasts(cmat))) # make.contrasts (gmodels): gera matriz dos contrastes summary(av1, # ANOVA com a SQDtra e GLtra desdobrados em contrastes ortogonais split=list(tra=list('(A,D) vs. (B,C)'=1, 'A vs. D ' =2, 'B vs. C' =3))) ##¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬ ## Cálculos alternativos ##¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬ (tra <- gl(4, 6, labels=LETTERS[1:4])) #A B C D fit.contrast(av, tra, c( 1, -1, -1, 1)) # fit.contrast (gmodels): testa constraste(s) fit.contrast(av, tra, c( 1, 0, 0, -1)) fit.contrast(av, tra, c( 0, 1, -1, 0)) ## Grupos de contrastes fit.contrast(av, tra, rbind('(A,D) vs (B,C)' = c( 1, -1, -1, 1), 'A vs D' = c( 1, 0, 0, -1), 'B vs C' = c( 0, 1, -1, 0))) fit.contrast(av, tra, cmat)