Como realizar uma manova em r


Para entender a MANOVA, primeiro é útil entender a ANOVA.

Uma ANOVA (análise de variância) é usada para determinar se existe ou não uma diferença estatisticamente significativa entre as médias de três ou mais grupos independentes.

Por exemplo, digamos que queremos saber se a técnica de estudo tem ou não impacto nas notas dos exames de uma turma de alunos. Dividimos a turma em três grupos aleatoriamente. Cada grupo usa uma técnica de estudo diferente durante um mês para se preparar para um exame. No final do mês, todos os alunos fazem o mesmo exame.

Para saber se a técnica de estudo tem impacto nas notas dos exames, podemos realizar uma ANOVA unidirecional, que nos dirá se há diferença estatisticamente significativa entre as notas médias dos três grupos.

Em uma ANOVA temos uma variável resposta. Porém, em uma MANOVA (análise de variância multivariada), temos múltiplas variáveis de resposta.

Por exemplo, suponhamos que queremos saber qual é o impacto do nível de educação (ou seja, ensino secundário, licenciatura, licenciatura, mestrado, etc.) tanto no rendimento anual como no montante da dívida estudantil. Neste caso, temos um fator (nível de escolaridade) e duas variáveis de resposta (renda anual e dívida estudantil), para que possamos realizar uma MANOVA unidirecional.

Relacionado: Compreendendo as diferenças entre ANOVA, ANCOVA, MANOVA e MANCOVA

Como realizar uma MANOVA em R

No exemplo a seguir, ilustraremos como realizar uma MANOVA unidirecional em R usando o conjunto de dados de íris integrado, que contém informações sobre o comprimento e a largura de diferentes medidas de flores para três espécies diferentes (“setosa”, “virginica” , “versicolor”):

 #view first six rows of iris dataset
head(iris)

# Sepal.Length Sepal.Width Petal.Length Petal.Width Species
#1 5.1 3.5 1.4 0.2 setosa
#2 4.9 3.0 1.4 0.2 setosa
#3 4.7 3.2 1.3 0.2 setosa
#4 4.6 3.1 1.5 0.2 setosa
#5 5.0 3.6 1.4 0.2 setosa
#6 5.4 3.9 1.7 0.4 setosa

Suponha que queiramos saber se a espécie afeta o comprimento e a largura das sépalas. Usando espécie como variável independente e comprimento e largura da sépala como variáveis de resposta, podemos realizar uma MANOVA unidirecional usando a função manova() em R.

A função manova() usa a seguinte sintaxe:

manova (cbind (rv1, rv2,…) ~ iv, dados)

Ouro:

  • rv1, rv2 : variável de resposta 1, variável de resposta 2, etc.
  • iv : variável independente
  • data : nome do quadro de dados

Em nosso exemplo com o conjunto de dados da íris, podemos ajustar uma MANOVA e exibir os resultados usando a seguinte sintaxe:

 #fit the MANOVA model
model <- manova(cbind(Sepal.Length, Sepal.Width) ~ Species, data = iris)

#view the results
summary(model)
# Df Pillai approx F num Df den Df Pr(>F)    
#Species 2 0.94531 65.878 4,294 < 2.2e-16 ***
#Residuals 147                                             
#---
#Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

A partir do resultado, podemos ver que a estatística F é 65,878 e o valor p correspondente é extremamente pequeno. Isso indica que há uma diferença estatisticamente significativa nas medidas das sépalas dependendo da espécie.

Nota técnica: Por padrão, manova() usa a estatística de teste Pillai . Como a distribuição desta estatística de teste é complexa, um valor aproximado de F também é fornecido para facilitar a interpretação.

Além disso, é possível especificar ‘Roy’, ‘Hotelling-Lawley’ ou ‘Wilks’ como estatística de teste a ser usada usando a seguinte sintaxe: summary(model, test = ‘Wilks’)

Para descobrir exatamente como o comprimento e a largura da sépala são afetados pelas espécies , podemos realizar ANOVAs univariadas usando summary.aov() conforme mostrado no código a seguir:

 summary.aov(model)


# Response Sepal.Length:
# Df Sum Sq Mean Sq F value Pr(>F)    
#Species 2 63.212 31.606 119.26 < 2.2e-16 ***
#Residuals 147 38.956 0.265                      
#---
#Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

# Response Sepal.Width:
# Df Sum Sq Mean Sq F value Pr(>F)    
#Species 2 11.345 5.6725 49.16 < 2.2e-16 ***
#Residuals 147 16.962 0.1154                      
#---
#Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Podemos ver pelo resultado que os valores de p para ambas as ANOVAs univariadas são extremamente baixos (<2,2e-16), indicando que a espécie tem um efeito estatisticamente significativo na largura e comprimento da sépala .

Visualize os recursos do grupo

Também pode ser útil visualizar as médias do grupo para cada nível de nossas espécies variáveis independentes para entender melhor nossos resultados.

Por exemplo, podemos usar a biblioteca gplots e a função plotmeans() para visualizar o comprimento médio das sépalas por espécie :

 #load gplots library
library(gplots)

#visualize mean sepal length by species
plotmeans(iris$Sepal.Length ~ iris$Species)

No gráfico podemos ver que o comprimento médio das sépalas varia muito entre as espécies. Isto corresponde aos resultados da nossa MANOVA, que nos disse que houve uma diferença estatisticamente significativa nas medidas das sépalas entre as espécies.

Também podemos visualizar a largura média das sépalas por espécie :

 plotmeans(iris$Sepal.Width ~ iris$Species)

Veja a documentação completa da função manova() aqui .

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *