Derek Corcoran
"09/05, 2018"
Anova
: Nos permite medir diferencias entre dos modelos lineales o ANOVASanova(aov(mpg ~ am, data =mtcars), aov(mpg ~ am + cyl, data =mtcars))
Analysis of Variance Table
Model 1: mpg ~ am
Model 2: mpg ~ am + cyl
Res.Df RSS Df Sum of Sq F Pr(>F)
1 30 720.90
2 29 271.36 1 449.53 48.041 1.285e-07 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Usaremos esta función para explicar los tipos de errores cuadrados
summary(aov(mpg ~ am*cyl, data = mtcars))
Df Sum Sq Mean Sq F value Pr(>F)
am 1 405.2 405.2 46.892 1.93e-07 ***
cyl 1 449.5 449.5 52.029 7.50e-08 ***
am:cyl 1 29.4 29.4 3.407 0.0755 .
Residuals 28 241.9 8.6
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(aov(mpg ~ cyl*am, data = mtcars))
Df Sum Sq Mean Sq F value Pr(>F)
cyl 1 817.7 817.7 94.642 1.76e-10 ***
am 1 37.0 37.0 4.279 0.0479 *
cyl:am 1 29.4 29.4 3.407 0.0755 .
Residuals 28 241.9 8.6
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Errores cuadrados secuenciales y ~ A + B + *A:B
esto se desglosa así:
y ~ A
)y ~ B|A
)y ~ A:B| A + B
)summary(aov(uptake ~ Treatment*Type, data = CO2))
Df Sum Sq Mean Sq F value Pr(>F)
Treatment 1 988 988 15.416 0.000182 ***
Type 1 3366 3366 52.509 2.38e-10 ***
Treatment:Type 1 226 226 3.522 0.064213 .
Residuals 80 5128 64
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Treatment
anova(aov(uptake ~ 1, data = CO2), aov(uptake ~ Treatment, data = CO2))
Analysis of Variance Table
Model 1: uptake ~ 1
Model 2: uptake ~ Treatment
Res.Df RSS Df Sum of Sq F Pr(>F)
1 83 9707.0
2 82 8718.9 1 988.11 9.2931 0.003096 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(aov(uptake ~ Treatment, data = CO2), aov(uptake ~ Treatment + Type, data = CO2))
Analysis of Variance Table
Model 1: uptake ~ Treatment
Model 2: uptake ~ Treatment + Type
Res.Df RSS Df Sum of Sq F Pr(>F)
1 82 8718.9
2 81 5353.3 1 3365.5 50.923 3.679e-10 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(aov(uptake ~ Treatment + Type, data = CO2), aov(uptake ~ Treatment + Type + Treatment:Type, data = CO2))
Analysis of Variance Table
Model 1: uptake ~ Treatment + Type
Model 2: uptake ~ Treatment + Type + Treatment:Type
Res.Df RSS Df Sum of Sq F Pr(>F)
1 81 5353.3
2 80 5127.6 1 225.73 3.5218 0.06421 .
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
library(car)
Anova(aov(mpg ~ am*cyl, data = mtcars), type = 2)
Anova Table (Type II tests)
Response: mpg
Sum Sq Df F value Pr(>F)
am 36.97 1 4.2791 0.04793 *
cyl 449.53 1 52.0289 7.503e-08 ***
am:cyl 29.44 1 3.4073 0.07551 .
Residuals 241.92 28
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Anova(aov(mpg ~ cyl*am, data = mtcars), type = 2)
Anova Table (Type II tests)
Response: mpg
Sum Sq Df F value Pr(>F)
cyl 449.53 1 52.0289 7.503e-08 ***
am 36.97 1 4.2791 0.04793 *
cyl:am 29.44 1 3.4073 0.07551 .
Residuals 241.92 28
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Anova Table (Type II tests)
Response: mpg
Sum Sq Df F value Pr(>F)
am 36.97 1 4.2791 0.04793 *
cyl 449.53 1 52.0289 7.503e-08 ***
am:cyl 29.44 1 3.4073 0.07551 .
Residuals 241.92 28
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Analysis of Variance Table
Response: mpg
Df Sum Sq Mean Sq F value Pr(>F)
am 1 405.15 405.15 46.8919 1.932e-07 ***
cyl 1 449.53 449.53 52.0289 7.503e-08 ***
am:cyl 1 29.44 29.44 3.4073 0.07551 .
Residuals 28 241.92 8.64
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Errores cuadrados de y ~ A + B + *A:B
se desglosan así:
y ~ A|B
)y ~ B|A
)y ~ A:B| A + B
)Anova(aov(mpg ~ am*cyl, data = mtcars), type = 2)
Anova Table (Type II tests)
Response: mpg
Sum Sq Df F value Pr(>F)
am 36.97 1 4.2791 0.04793 *
cyl 449.53 1 52.0289 7.503e-08 ***
am:cyl 29.44 1 3.4073 0.07551 .
Residuals 241.92 28
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(aov(mpg ~ cyl, data = mtcars), aov(mpg ~ am + cyl, data = mtcars))
Analysis of Variance Table
Model 1: mpg ~ cyl
Model 2: mpg ~ am + cyl
Res.Df RSS Df Sum of Sq F Pr(>F)
1 30 308.33
2 29 271.36 1 36.972 3.9511 0.05635 .
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(aov(mpg ~ am, data = mtcars), aov(mpg ~ am + cyl, data = mtcars))
Analysis of Variance Table
Model 1: mpg ~ am
Model 2: mpg ~ am + cyl
Res.Df RSS Df Sum of Sq F Pr(>F)
1 30 720.90
2 29 271.36 1 449.53 48.041 1.285e-07 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(aov(mpg ~ am + cyl, data = mtcars), aov(mpg ~ am *cyl, data = mtcars))
Analysis of Variance Table
Model 1: mpg ~ am + cyl
Model 2: mpg ~ am * cyl
Res.Df RSS Df Sum of Sq F Pr(>F)
1 29 271.36
2 28 241.92 1 29.439 3.4073 0.07551 .
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Anova(aov(mpg ~ am*cyl, data = mtcars), type = 3)
Anova Table (Type III tests)
Response: mpg
Sum Sq Df F value Pr(>F)
(Intercept) 810.20 1 93.7719 1.948e-10 ***
am 48.28 1 5.5879 0.0252577 *
cyl 167.65 1 19.4033 0.0001407 ***
am:cyl 29.44 1 3.4073 0.0755069 .
Residuals 241.92 28
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Anova Table (Type II tests)
Response: mpg
Sum Sq Df F value Pr(>F)
am 36.97 1 4.2791 0.04793 *
cyl 449.53 1 52.0289 7.503e-08 ***
am:cyl 29.44 1 3.4073 0.07551 .
Residuals 241.92 28
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Anova Table (Type III tests)
Response: mpg
Sum Sq Df F value Pr(>F)
(Intercept) 810.20 1 93.7719 1.948e-10 ***
am 48.28 1 5.5879 0.0252577 *
cyl 167.65 1 19.4033 0.0001407 ***
am:cyl 29.44 1 3.4073 0.0755069 .
Residuals 241.92 28
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Errores cuadrados dey ~ A + B + *A:B
se desglosan así:
y ~ A|B + A:B
)y ~ B|A + A:B
)y ~ A:B| A + B
)Anova(aov(mpg ~ am*cyl, data = mtcars), type = 3)
Anova Table (Type III tests)
Response: mpg
Sum Sq Df F value Pr(>F)
(Intercept) 810.20 1 93.7719 1.948e-10 ***
am 48.28 1 5.5879 0.0252577 *
cyl 167.65 1 19.4033 0.0001407 ***
am:cyl 29.44 1 3.4073 0.0755069 .
Residuals 241.92 28
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(aov(mpg ~ cyl, data = mtcars), aov(mpg ~ am + am:cyl, data = mtcars))
Analysis of Variance Table
Model 1: mpg ~ cyl
Model 2: mpg ~ am + am:cyl
Res.Df RSS Df Sum of Sq F Pr(>F)
1 30 308.33
2 29 409.57 1 -101.23
anova(aov(mpg ~ am, data = mtcars), aov(mpg ~ cyl + am:cyl, data = mtcars))
Analysis of Variance Table
Model 1: mpg ~ am
Model 2: mpg ~ cyl + am:cyl
Res.Df RSS Df Sum of Sq F Pr(>F)
1 30 720.9
2 29 290.2 1 430.69 43.039 3.466e-07 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(aov(mpg ~ am + cyl, data = mtcars), aov(mpg ~ am *cyl, data = mtcars))
Analysis of Variance Table
Model 1: mpg ~ am + cyl
Model 2: mpg ~ am * cyl
Res.Df RSS Df Sum of Sq F Pr(>F)
1 29 271.36
2 28 241.92 1 29.439 3.4073 0.07551 .
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Crearemos base de datos simulada con la funcion SimulData
:
SimulData <- function(MeanA1B1 = 20, MeanA1B2 = 20, MeanA1B3 = 20, MeanA2B1 = 40, MeanA2B2 = 40, MeanA2B3 = 40, N = 5){
data.frame(A = rep(c("A1", "A2"), each =3*N), B = rep(rep(c("B1", "B2", "B3"), each =N),times = 2), y =(c(rnorm(mean = MeanA1B1, n = N , sd =5),rnorm(mean = MeanA1B2, n =N , sd =5), rnorm(mean = MeanA1B3, n =N , sd =5), rnorm(mean = MeanA2B1, n = N , sd =5),rnorm(mean = MeanA2B2, n = N , sd =5), rnorm(mean = MeanA2B3, n = N , sd =5))))
}
Graficaremos con la funcion InterPlot
InterPlot <- function(DF){
require(tidyverse)
DF <- group_by(DF, A, B) %>% summarize(MeanY = mean(y), SDy = sd(y))
ggplot(DF, aes(x = B, y = MeanY)) + geom_point(aes(color = A)) + geom_errorbar(aes(color = A, ymax = MeanY + SDy, ymin = MeanY - SDy)) + geom_line(aes(color = A)) + theme_classic()
}
InterPlot(DF)
anova(aov(y ~ A*B, data = DF))
Analysis of Variance Table
Response: y
Df Sum Sq Mean Sq F value Pr(>F)
A 1 5048 5048.3 227.9409 < 2.2e-16 ***
B 2 55327 27663.3 1249.0524 < 2.2e-16 ***
A:B 2 322 161.1 7.2729 0.001596 **
Residuals 54 1196 22.1
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(aov(y ~ B*A, data = DF))
Analysis of Variance Table
Response: y
Df Sum Sq Mean Sq F value Pr(>F)
B 2 55327 27663.3 1249.0524 < 2.2e-16 ***
A 1 5048 5048.3 227.9409 < 2.2e-16 ***
B:A 2 322 161.1 7.2729 0.001596 **
Residuals 54 1196 22.1
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Anova(aov(y ~ A*B, data = DF), type = 2)
Anova Table (Type II tests)
Response: y
Sum Sq Df F value Pr(>F)
A 5048 1 227.9409 < 2.2e-16 ***
B 55327 2 1249.0524 < 2.2e-16 ***
A:B 322 2 7.2729 0.001596 **
Residuals 1196 54
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Anova(aov(y ~ A*B, data = DF), type = 3)
Anova Table (Type III tests)
Response: y
Sum Sq Df F value Pr(>F)
(Intercept) 4240.7 1 191.4754 < 2.2e-16 ***
A 1749.9 1 79.0118 3.726e-12 ***
B 30005.4 2 677.4015 < 2.2e-16 ***
A:B 322.2 2 7.2729 0.001596 **
Residuals 1196.0 54
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1