ANOVA
Se você tem analisado projetos de ANOVA em pacotes estatísticos tradicionais, provavelmente achará a abordagem do R menos coerente e fácil de usar. Uma boa apresentação on-line sobre ANOVA em R pode ser encontrada na seção ANOVA</a > do Personality Project. (Observação: Descobri que essas páginas são bem renderizadas nos navegadores Chrome e Safari, mas podem aparecer distorcidas no iExplorer).
1. Ajuste um modelo
Nos exemplos a seguir, letras minúsculas são variáveis numéricas e letras maiúsculas são fatores.
# One Way Anova (Completely Randomized Design)
fit <- aov(y ~ A, data=mydataframe)
# Randomized Block Design (B is the blocking factor)
fit <- aov(y ~ A + B, data=mydataframe)
# Two Way Factorial Design
fit <- aov(y ~ A + B + A:B, data=mydataframe)
fit <- aov(y ~ A*B, data=mydataframe)
# same thing
# Analysis of Covariance
fit <- aov(y ~ A + x, data=mydataframe)
Para projetos dentro de assuntos, o quadro de dados deve ser reorganizado de modo que cada medição em um assunto seja uma observação separada. Consulte R e Análise de variância.
# One Within Factor
fit <- aov(y~A+Error(Subject/A),data=mydataframe)
# Two Within Factors W1 W2, Two Between Factors B1 B2
fit <- aov(y~(W1*W2*B1*B2)+Error(Subject/(W1*W2))+(B1*B2),
data=mydataframe)
2. Veja os gráficos de diagnóstico
Os gráficos de diagnóstico fornecem verificações de heterocedasticidade, normalidade e observações influentes.```R layout(matrix(c(1,2,3,4),2,2)) # layout opcional
plot(fit) # gráficos de diagnóstico
Para obter detalhes sobre a avaliação dos requisitos de teste, consulte [(M)ANOVA Assumptions](/stats/anovaAssumptions.html). ### 3. Avalie os efeitos do modelo **ADVERTÊNCIA** : O R fornece [Type I sequential SS] (http://afni.nimh.nih.gov/sscc/gangc/SS.html), e não o padrão [Type III marginal SS] (http://afni.nimh.nih.gov/sscc/gangc/SS.html) informado pelo SAS e pelo SPSS. Em um design não ortogonal com mais de um termo no lado direito da equação, a **ordem será importante** (ou seja, A+B e B+A produzirão resultados _diferentes_)! Você precisará usar a função **drop1( )** para produzir os resultados conhecidos do Tipo III. Ele comparará cada termo com o modelo completo. Como alternativa, podemos usar anova(fit.model1, fit.model2) para comparar modelos aninhados diretamente. ```R summary(fit) # exibe a tabela ANOVA do tipo I drop1(fit,~.,test="F") # testes SS e F do tipo III
Alternativas não paramétricas e de reamostragem estão disponíveis.
Comparações múltiplas
Você pode obter testes Tukey HSD usando a função abaixo. Por padrão, ele calcula comparações post hoc em cada fator do modelo. Você pode especificar fatores específicos como uma opção. Mais uma vez, lembre-se de que os resultados são baseados em SS do Tipo I!
# Tukey Honestly Significant Differences
TukeyHSD(fit) # where fit comes from aov()
Visualização de resultados
Use gráficos de caixa e gráficos de linha para visualizar as diferenças entre os grupos. Há também duas funções projetadas especificamente para visualizar diferenças médias em layouts ANOVA. interaction.plot( ) no pacote base stats produz gráficos para interações de duas vias. plotmeans( ) no pacote gplots</a > produz gráficos médios para fatores únicos e inclui intervalos de confiança.
# Two-way Interaction Plot
attach(mtcars)
gears <- factor(gears)
cyl <- factor(cyl)
interaction.plot(cyl, gear, mpg, type="b", col=c(1:3),
leg.bty="o", leg.bg="beige", lwd=2, pch=c(18,24,22),
xlab="Number of Cylinders",
ylab="Mean Miles Per Gallon",
main="Interaction Plot")
# Plot Means with Error Bars
library(gplots)
attach(mtcars)
cyl <- factor(cyl)
plotmeans(mpg~cyl,xlab="Number of Cylinders",
ylab="Miles Per Gallon", main="Mean Plot\nwith 95% CI")
MANOVA
Se houver mais de uma variável dependente (resultado), você poderá testá-las simultaneamente usando uma análise multivariada de variância (MANOVA). No exemplo a seguir, deixe Y ser uma matriz cujas colunas são as variáveis dependentes.
# 2x2 Factorial MANOVA with 3 Dependent Variables.
Y <- cbind(y1,y2,y3)
fit <- manova(Y ~ A*B)
summary(fit, test="Pillai")
Outras opções de teste são "Wilks", "Hotelling-Lawley" e "Roy". Use summary.aov( ) para obter estatísticas univariadas. TukeyHSD( ) e plot( ) não funcionarão com um ajuste MANOVA. Execute cada variável dependente separadamente para obtê-las. Assim como a ANOVA, os resultados da MANOVA no R são baseados no Tipo I SS. Para obter o SS do Tipo III, varie a ordem das variáveis no modelo e execute novamente as análises. Por exemplo, ajuste y~A*B para o efeito Tipo III B e y~B*A para o efeito Tipo III A.</span >
Indo além
O R tem excelentes recursos para ajustar modelos lineares e lineares generalizados de efeitos mistos. A implementação mais recente está no pacote lme4. Para obter detalhes, consulte o artigo do R News sobre Fitting Mixed Linear Models in R</a > .