library(readxl)
library(tidyverse)
datos <- read_excel("encuesta_depurada.xlsx")
datos
## # A tibble: 30 × 10
## promedio_ac…¹ color…² horas…³ horas…⁴ redes…⁵ redso…⁶ bachi…⁷ lectura horas…⁸
## <dbl> <chr> <dbl> <dbl> <dbl> <chr> <chr> <chr> <dbl>
## 1 3.53 Verde 30 7 4 Youtube 1 Año Muy po… 20
## 2 3.8 Amaril… 12 6 9 Facebo… Menos … Frecue… 3
## 3 4.02 Rojo 45 6 3 Facebo… 1 Año Frecue… 42
## 4 4.39 Negro 60 6 2 Facebo… Menos … Muy po… 90
## 5 3.99 Azul 50 8 9 Instag… Menos … Muy po… 56
## 6 3.8 Vino t… 25 2 5 Instag… Más de… Nada 40
## 7 3.83 Rosado 28 2 2 Youtube Más de… Frecue… 30
## 8 3.8 Negro 40 6 4 Facebo… 1 Año Muy po… 80
## 9 3.8 Negro 40 6 4 Instag… 1 Año Muy po… 80
## 10 3.88 Azul 36 7 5 Facebo… Menos … Muy po… 10
## # … with 20 more rows, 1 more variable: trabajo <chr>, and abbreviated variable
## # names ¹promedio_academico, ²color_favorito, ³horas_estudiar, ⁴horas_dormir,
## # ⁵redes_sociales, ⁶redsocial_favorita, ⁷bachiller_universidad,
## # ⁸horas_internet
\[H_0: \mu = 3.5 \\ H_1: \mu \neq 3.5\]
\[T = \frac{\bar{X} - \mu}{S/\sqrt{n}}\]
x_barra <- mean(datos$promedio_academico)
mu_referencia <- 3.5
desviacion_muestral <- sd(datos$promedio_academico)
raiz_n <- sqrt(nrow(datos))
\[T = \frac{3.699 - 3.5}{0.2488643/5.477226} = 4.379768\]
(x_barra - mu_referencia) / (desviacion_muestral / raiz_n)
## [1] 4.379768
Podemos obtener los límites critícos con R:
qt(p = 0.025, df = 29, lower.tail = TRUE)
## [1] -2.04523
qt(p = 0.025, df = 29, lower.tail = FALSE)
## [1] 2.04523
\[\bar{X} - t_{\alpha/2, n-1} \times \frac{s}{\sqrt{n}}\]
x_barra - (2.045 * (desviacion_muestral / raiz_n))
## [1] 3.606083
\[\bar{X} + t_{\alpha/2, n-1} \times \frac{s}{\sqrt{n}}\]
x_barra + (2.045 * (desviacion_muestral / raiz_n))
## [1] 3.791917
pt(q = -4.371917, df = 29, lower.tail = TRUE)
## [1] 7.228808e-05
pt(q = 4.371917, df = 29, lower.tail = FALSE)
## [1] 7.228808e-05
7.228808e-05 + 7.228808e-05
## [1] 0.0001445762
x:
la variable sobre la cual estamos haciendo
inferencia. En este caso el promedio_académicoalternative
: tipo de hipótesis alternativa. En este es
una prueba bilateral usamos “two.sided”conf.level
: nivel de confianza (1 - nivel de
significancia = 1 - 0.05 = 0.95)mu
: valor promedio de referencia. En este caso es
3.5t.test(x = datos$promedio_academico,
alternative = "two.sided",
conf.level = 0.95,
mu = 3.5)
##
## One Sample t-test
##
## data: datos$promedio_academico
## t = 4.3798, df = 29, p-value = 0.0001415
## alternative hypothesis: true mean is not equal to 3.5
## 95 percent confidence interval:
## 3.606073 3.791927
## sample estimates:
## mean of x
## 3.699
prueba_t1 <- t.test(
x = datos$promedio_academico,
alternative = "two.sided",
conf.level = 0.95,
mu = 3.5
)
library(broom)
prueba_t1 %>% tidy()
## # A tibble: 1 × 8
## estimate statistic p.value parameter conf.low conf.high method alter…¹
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <chr> <chr>
## 1 3.70 4.38 0.000141 29 3.61 3.79 One Sample t… two.si…
## # … with abbreviated variable name ¹alternative
\[H_0: p = 0.5 \\ H_1: p \neq 0.5\]
prop.table(table(datos$trabajo))[[2]]
## [1] 0.3666667
x
: el número de éxitos para el evento de interés. En
este caso son estudiantes que trabajan (n = 11)n
: total de ensayos (observaciones). En este caso
equivale a 30.p
: proporción de referencia. En este caso es 0.5alternative
: tipo de hipótesis alternativa. En este
caso es “two.sided”conf.level
: nivel de confianza. En este caso es 1 -
0.05 = 0.95prop.test(
x = 11,
n = 30,
p = 0.5,
alternative = "two.sided",
conf.level = 0.95
)
##
## 1-sample proportions test with continuity correction
##
## data: 11 out of 30, null probability 0.5
## X-squared = 1.6333, df = 1, p-value = 0.2012
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
## 0.2054281 0.5609198
## sample estimates:
## p
## 0.3666667
datos_cebada <- read_excel("datos_cebada.xlsx") %>%
mutate(year = as.factor(year))
datos_cebada
## # A tibble: 60 × 4
## yield gen env year
## <dbl> <chr> <chr> <fct>
## 1 81 Manchuria UniversityFarm 1931
## 2 80.7 Manchuria UniversityFarm 1932
## 3 147. Manchuria Waseca 1931
## 4 100. Manchuria Waseca 1932
## 5 82.3 Manchuria Morris 1931
## 6 103. Manchuria Morris 1932
## 7 120. Manchuria Crookston 1931
## 8 98.9 Manchuria Crookston 1932
## 9 98.9 Manchuria GrandRapids 1931
## 10 66.4 Manchuria GrandRapids 1932
## # … with 50 more rows
\[H_0: \sigma^2_{1931} / \sigma^2_{1932} = 1 \\ H_1: \sigma^2_{1931} / \sigma^2_{1932} \neq 1\]
En este caso vamos a usar un nivel de significancia del 5%.
library(ggpubr)
ggqqplot(data = datos_cebada$yield)
shapiro.test(x = datos_cebada$yield)
##
## Shapiro-Wilk normality test
##
## data: datos_cebada$yield
## W = 0.96055, p-value = 0.05005
formula
: y ~ x. En este caso “y” es la variable
produccion y el “x” es el año.ratio
: es el resultado del cociente de las dos
varianzas. En este caso asumimos en la hipótesis nula el valor de
“1”.alternative
: tipo de prueba. En este es bilateral
(“two.sided”)conf.level
: nivel de confianza. En este caso es 0.95 (1
- 0.5)var.test(datos_cebada$yield ~ datos_cebada$year,
ratio = 1,
alternative = "two.sided",
conf.level = 0.95)
##
## F test to compare two variances
##
## data: datos_cebada$yield by datos_cebada$year
## F = 1.3952, num df = 29, denom df = 29, p-value = 0.375
## alternative hypothesis: true ratio of variances is not equal to 1
## 95 percent confidence interval:
## 0.6640874 2.9314037
## sample estimates:
## ratio of variances
## 1.395245
bartlett.test(datos_cebada$yield ~ datos_cebada$year)
##
## Bartlett test of homogeneity of variances
##
## data: datos_cebada$yield by datos_cebada$year
## Bartlett's K-squared = 0.78702, df = 1, p-value = 0.375
library(car)
leveneTest(datos_cebada$yield ~ datos_cebada$year)
## Levene's Test for Homogeneity of Variance (center = median)
## Df F value Pr(>F)
## group 1 0.6238 0.4329
## 58
datos_trigo <- read_excel("datos_trigo.xlsx")
datos_trigo
## # A tibble: 168 × 5
## gen loc nitro yield type
## <chr> <chr> <chr> <dbl> <chr>
## 1 Cap Cra L 321 conv
## 2 Cap Cra H 411 conv
## 3 Cap Beg L 317 conv
## 4 Cap Beg H 429 conv
## 5 Cap Fow L 364 conv
## 6 Cap Fow H 464 conv
## 7 Cap Tru L 408 conv
## 8 Cap Tru H 434 conv
## 9 Cap Box L 419 conv
## 10 Cap Box H 492 conv
## # … with 158 more rows
\[H_0: \mu_{bajo} = \mu_{alto} \\ H1: \mu_{bajo} \neq \mu_{alto}\]
El juego de hipótesis anterior es equivalente al siguiente:
\[H_0: \mu_{bajo} - \mu_{alto} = 0 \\ H1: \mu_{bajo} - \mu_{alto} \neq 0\]
nitro_bajo <- datos_trigo %>% filter(nitro == "L")
nitro_alto <- datos_trigo %>% filter(nitro == "H")
ggqqplot(nitro_bajo$yield)
ggqqplot(nitro_alto$yield)
shapiro.test(nitro_alto$yield)
##
## Shapiro-Wilk normality test
##
## data: nitro_alto$yield
## W = 0.90953, p-value = 2.064e-05
shapiro.test(nitro_bajo$yield)
##
## Shapiro-Wilk normality test
##
## data: nitro_bajo$yield
## W = 0.9039, p-value = 1.153e-05
leveneTest(datos_trigo$yield ~ datos_trigo$nitro)
## Levene's Test for Homogeneity of Variance (center = median)
## Df F value Pr(>F)
## group 1 9.9018 0.001958 **
## 166
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
formula
: y ~ x. En este caso “y” es la producción y “x”
es el nivel de fertilización con nitrógeno (bajo, alto)alternative
: tipo de hipótesis alternativa. En este
caso es bilateral.conf.level
: nivel de confianza. En este caso es del
95%var.equal
: toma valores TRUE o FALSE para cuando las
varianzas son iguales o diferentes, respectivamente.t.test(datos_trigo$yield ~ datos_trigo$nitro,
alternative = "two.sided",
conf.level = 0.95,
var.equal = FALSE)
##
## Welch Two Sample t-test
##
## data: datos_trigo$yield by datos_trigo$nitro
## t = 2.9051, df = 143.36, p-value = 0.004254
## alternative hypothesis: true difference in means between group H and group L is not equal to 0
## 95 percent confidence interval:
## 17.44086 91.70200
## sample estimates:
## mean in group H mean in group L
## 517.4762 462.9048
\[H_0: p1 = p2 \\ H_1: p1 \neq p2\]
O de forma equivalente:
\[H_0: p1 - p2 = 0 \\ H_1: p1 - p2 \neq 0\]
En este caso usaremos un nivel de significancia del 5% (0.05)
table(datos$trabajo)
##
## No Sí
## 19 11
x
: el número de éxitos para el evento de interés. En
este caso son estudiantes que trabajan (n = 11) y no trabajan (n =
19)n
: total de ensayos (observaciones). En este caso
equivale a 30.alternative
: tipo de hipótesis alternativa. En este
caso es “two.sided”conf.level
: nivel de confianza. En este caso es 1 -
0.05 = 0.95prop.test(x = c(11, 19),
n = c(30, 30),
alternative = "two.sided",
conf.level = 0.95)
##
## 2-sample test for equality of proportions with continuity correction
##
## data: c(11, 19) out of c(30, 30)
## X-squared = 3.2667, df = 1, p-value = 0.0707
## alternative hypothesis: two.sided
## 95 percent confidence interval:
## -0.5438677 0.0105344
## sample estimates:
## prop 1 prop 2
## 0.3666667 0.6333333
calificaciones <- read_excel("datos_parciales.xlsx")
calificaciones
## # A tibble: 20 × 3
## Nombre Pre Post
## <chr> <dbl> <dbl>
## 1 Luis 18 22
## 2 Javier 21 25
## 3 Pedro 16 17
## 4 Soledad 22 24
## 5 Manuel 19 16
## 6 Cecilia 24 29
## 7 Cristina 17 20
## 8 Angel 21 23
## 9 Manuela 23 19
## 10 José 18 20
## 11 Juan 14 15
## 12 Antonio 16 15
## 13 Carmen 16 18
## 14 Carlos 19 26
## 15 Francisco 18 18
## 16 Miguel 20 24
## 17 Laura 12 18
## 18 Lucía 22 25
## 19 Paula 15 19
## 20 Dolores 17 16
\[H_0: \mu_{post} - \mu_{pre} = 0 \\ H_0: \mu_{post} - \mu_{pre} = 0\]
En este caso vamos a usar un nivel de significancia del 5% (0.5)
diferencia <- calificaciones$Post - calificaciones$Pre
diferencia
## [1] 4 4 1 2 -3 5 3 2 -4 2 1 -1 2 7 0 4 6 3 4 -1
ggqqplot(data = diferencia)
shapiro.test(x = diferencia)
##
## Shapiro-Wilk normality test
##
## data: diferencia
## W = 0.9686, p-value = 0.725
var.test(x = calificaciones$Pre, y = calificaciones$Post,
ratio = 1, alternative = "two.sided")
##
## F test to compare two variances
##
## data: calificaciones$Pre and calificaciones$Post
## F = 0.60329, num df = 19, denom df = 19, p-value = 0.2795
## alternative hypothesis: true ratio of variances is not equal to 1
## 95 percent confidence interval:
## 0.238790 1.524186
## sample estimates:
## ratio of variances
## 0.6032913
t.test(x = calificaciones$Pre, y = calificaciones$Post,
alternative = "two.sided",
conf.level = 0.95,
paired = TRUE,
var.equal = TRUE)
##
## Paired t-test
##
## data: calificaciones$Pre and calificaciones$Post
## t = -3.2313, df = 19, p-value = 0.004395
## alternative hypothesis: true mean difference is not equal to 0
## 95 percent confidence interval:
## -3.3778749 -0.7221251
## sample estimates:
## mean difference
## -2.05
\[H_0: La\ localización\ de\ Promedio = 3.5 \\ H_1: La\ localización\ de\ Promedio \neq 3.5\]
datos_encuesta <- read_excel("encuesta_depurada.xlsx")
wilcox.test(x = datos_encuesta$promedio_academico,
alternative = "two.sided",
conf.level = 0.95,
mu = 3.5,
conf.int = TRUE)
##
## Wilcoxon signed rank test with continuity correction
##
## data: datos_encuesta$promedio_academico
## V = 323, p-value = 0.0001826
## alternative hypothesis: true location is not equal to 3.5
## 95 percent confidence interval:
## 3.604939 3.829926
## sample estimates:
## (pseudo)median
## 3.750072
\[H_0: La\ localización\ de\ N_{bajo} = Localización\ de\ N_{alto} \\ H_1: La\ localización\ de\ N_{bajo} \neq Localización\ de\ N_{alto}\]
wilcox.test(x = nitro_bajo$yield,
y = nitro_alto$yield,
alternative = "two.sided",
conf.level = 0.95,
paired = FALSE,
conf.int = TRUE)
##
## Wilcoxon rank sum test with continuity correction
##
## data: nitro_bajo$yield and nitro_alto$yield
## W = 2275, p-value = 7.087e-05
## alternative hypothesis: true location shift is not equal to 0
## 95 percent confidence interval:
## -104.99997 -38.99995
## sample estimates:
## difference in location
## -72.99995
datos <- read_excel("datos_medicamentos.xlsx")
datos
## # A tibble: 12 × 3
## Paciente Droga.A Droga.B
## <dbl> <dbl> <dbl>
## 1 1 2 3.5
## 2 2 3.6 5.7
## 3 3 2.6 2.9
## 4 4 2.7 2.4
## 5 5 7.3 9.9
## 6 6 3.4 3.3
## 7 7 14.9 16.7
## 8 8 6.6 6
## 9 9 2.3 3.8
## 10 10 2.1 4
## 11 11 6.8 9.1
## 12 12 8.5 20.9
\[H_0: \mu_{A} = \mu_{B} \\ H_1: \mu_{A} \neq \mu_{B}\]
ggqqplot(data = datos$Droga.A)
ggqqplot(data = datos$Droga.B)
shapiro.test(x = datos$Droga.A)
##
## Shapiro-Wilk normality test
##
## data: datos$Droga.A
## W = 0.80692, p-value = 0.01124
shapiro.test(x = datos$Droga.B)
##
## Shapiro-Wilk normality test
##
## data: datos$Droga.B
## W = 0.7883, p-value = 0.006919
diferencia2 <- datos$Droga.B - datos$Droga.A
ggqqplot(data = diferencia2)
shapiro.test(diferencia2)
##
## Shapiro-Wilk normality test
##
## data: diferencia2
## W = 0.6277, p-value = 0.0001844
datos2 <- datos %>%
pivot_longer(cols = -Paciente)
leveneTest(datos2$value ~ datos2$name)
## Levene's Test for Homogeneity of Variance (center = median)
## Df F value Pr(>F)
## group 1 0.6139 0.4417
## 22
t.test(x = datos$Droga.A,
y = datos$Droga.B,
alternative = "two.sided",
conf.level = 0.95,
var.equal = TRUE,
paired = TRUE)
##
## Paired t-test
##
## data: datos$Droga.A and datos$Droga.B
## t = -2.1465, df = 11, p-value = 0.05498
## alternative hypothesis: true mean difference is not equal to 0
## 95 percent confidence interval:
## -4.28706458 0.05373125
## sample estimates:
## mean difference
## -2.116667
\[H_0: La\ localización\ de\ Droga_{A} = Localización\ de\ Droga_{B} \\ H_1: La\ localización\ de\ Droga_{A} \neq Localización\ de\ Droga_{B}\]
wilcox.test(x = datos$Droga.A,
y = datos$Droga.B,
alternative = "two.sided",
conf.level = 0.95,
paired = TRUE,
conf.int = TRUE)
##
## Wilcoxon signed rank test with continuity correction
##
## data: datos$Droga.A and datos$Droga.B
## V = 8, p-value = 0.01669
## alternative hypothesis: true location shift is not equal to 0
## 95 percent confidence interval:
## -2.4499547 -0.6000132
## sample estimates:
## (pseudo)median
## -1.499947