1 Pacotes

library(car)
library(tidyverse)
library(rstatix)

2 Dados

Notas <- c(10, 9, 9, 8, 7, 9, 7, 8, 9, 7, 6, 7, 6, 6, 8, 8, 7, 7, 8, 6)
Metodo <- c(rep('Caderno', 10), rep('Laptop', 10))
dados <- as.data.frame(cbind(Notas, Metodo))
dados$Notas <- as.numeric(dados$Notas)
dados$Metodo <- factor(dados$Metodo)

3 Médias dos grupos

mean(dados$Notas[dados$Metodo == "Caderno"]) 
## [1] 8.3
mean(dados$Notas[dados$Metodo == "Laptop"])
## [1] 6.9
# SD dos grupos

sd(dados$Notas[dados$Metodo == "Caderno"]) 
## [1] 1.05935
sd(dados$Notas[dados$Metodo == "Laptop"])
## [1] 0.875595

4 Pressupostos da ANOVA

shapiro.test(dados$Notas) # normalidade
## 
##  Shapiro-Wilk normality test
## 
## data:  dados$Notas
## W = 0.91448, p-value = 0.07763
dados %>% group_by(Metodo) %>% shapiro_test(Notas) # Normalidade p/ ambos os grupos
## # A tibble: 2 x 4
##   Metodo  variable statistic      p
##   <fct>   <chr>        <dbl>  <dbl>
## 1 Caderno Notas        0.874 0.111 
## 2 Laptop  Notas        0.805 0.0167
leveneTest(Notas ~ Metodo, data = dados, center = median) ## Teste de Brown-Forsythe para homogeneidade de variâncias
## Levene's Test for Homogeneity of Variance (center = median)
##       Df F value Pr(>F)
## group  1     0.8 0.3829
##       18

5 Anova no R

anova <- aov(Notas ~ Metodo, data = dados)
summary(anova)
##             Df Sum Sq Mean Sq F value  Pr(>F)   
## Metodo       1    9.8   9.800   10.38 0.00474 **
## Residuals   18   17.0   0.944                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Usando a ANOVA no R descobrimos que existe uma diferença estatisticamente significativa entre os grupos [F(1, 18) = 10.38; p < 0.05] As médias dos alunos que anotaram o conteúdo no Caderno (M = 8.3) foram maiores do que as médias dos alunos que anotaram no leptop (M = 6.9)

6 Fazendo a ANOVA na mão

Caderno <- subset(dados, Metodo == "Caderno")
Leptop <- subset(dados, Metodo == "Laptop")

Caderno.dif <- Caderno$Notas - mean(Caderno$Notas)
Caderno.dif.sq <- Caderno.dif**2
sum(Caderno.dif.sq)
## [1] 10.1
Leptop.dif <- Leptop$Notas - mean(Leptop$Notas)
Leptop.dif.sq<-Leptop.dif**2
sum(Leptop.dif.sq)
## [1] 6.9
mean(dados$Notas)
## [1] 7.6
SSbetween<-((length(Caderno$Notas)*((mean(Caderno$Notas)-mean(dados$Notas))**2))+(length(Leptop$Notas)*((mean(Leptop$Notas)-mean(dados$Notas))**2)))
ValorF<-SSbetween/((sum(Caderno.dif.sq)+sum(Leptop.dif.sq))/18)
ValorF
## [1] 10.37647

Obtemos o mesmo resultado!