## 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)