#11-6
library(stats)
#dimensiones de las tablas de contingencia
dimensiones <- list(
c(5, 4), # a) 5 renglones, 4 columnas
c(6, 2), # b) 6 renglones, 2 columnas
c(3, 7), # c) 3 renglones, 7 columnas
c(4, 4) # d) 4 renglones, 4 columnas
)
#grados de libertad
grados_libertad <- sapply(dimensiones, function(dim) (dim[1] - 1) * (dim[2] - 1))
grados_libertad
## [1] 12 5 12 9
#11-7 y 11-8
# Cargar el paquete stats
library(stats)
# Hipótesis nula (H0): No hay diferencia en las proporciones de adquirir la marca entre las regiones.
# Hipótesis alternativa (H1): Existe diferencia en las proporciones de adquirir la marca entre las regiones.
# b)tabla de frecuencias observadas y esperadas
observados <- matrix(c(40, 55, 45, 50, 60, 45, 55, 50), nrow = 2, byrow = TRUE)
colnames(observados) <- c("NE", "NO", "SE", "SO")
# frecuencias marginales
marginales_filas <- rowSums(observados)
marginales_columnas <- colSums(observados)
total <- sum(marginales_filas)
# frecuencias esperadas (asumiendo independencia)
esperados <- outer(marginales_filas, marginales_columnas) / total
# c) valor de ji-cuadrada de la muestra
ji_cuadrada <- sum((observados - esperados)^2 / esperados)
# d) Prueba de hipótesis
grados_libertad <- (nrow(observados) - 1) * (ncol(observados) - 1)
# Calcular el valor p
valor_p <- 1 - pchisq(ji_cuadrada, df = grados_libertad)
nivel_significancia <- 0.05
rechazar_hipotesis_nula <- valor_p < nivel_significancia
observados
## NE NO SE SO
## [1,] 40 55 45 50
## [2,] 60 45 55 50
esperados
## NE NO SE SO
## [1,] 47.5 47.5 47.5 47.5
## [2,] 52.5 52.5 52.5 52.5
ji_cuadrada
## [1] 5.012531
valor_p
## [1] 0.1708818
rechazar_hipotesis_nula
## [1] FALSE
library(stats)
# Hipótesis nula (H0): Las ventas de chips de computadora son independientes de la etapa en la que se encuentra la economía.
# Hipótesis alternativa (H1): Las ventas de chips de computadora están relacionadas con la etapa en la que se encuentra la economía.
# b) tabla de frecuencias observadas y esperadas
observados <- matrix(c(20, 7, 3, 30, 30, 40, 30, 100, 20, 8, 2, 30, 30, 5, 5, 40), nrow = 4, byrow = TRUE)
colnames(observados) <- c("Venta Semanal Alta", "Venta Semanal Regular", "Venta Semanal Baja", "Total")
rownames(observados) <- c("En Cresta", "En Depresión", "Subiendo", "Bajando")
# las frecuencias marginales (totales por fila y por columna)
marginales_filas <- rowSums(observados)
marginales_columnas <- colSums(observados)
total <- sum(marginales_filas)
# las frecuencias esperadas (asumiendo independencia)
esperados <- outer(marginales_filas, marginales_columnas) / total
# c) valor de ji-cuadrada de la muestra
ji_cuadrada <- sum((observados - esperados)^2 / esperados)
# d) Prueba de hipótesis
grados_libertad <- (nrow(observados) - 1) * (ncol(observados) - 1)
valor_p <- 1 - pchisq(ji_cuadrada, df = grados_libertad)
nivel_significancia <- 0.10
rechazar_hipotesis_nula <- valor_p < nivel_significancia
observados
## Venta Semanal Alta Venta Semanal Regular Venta Semanal Baja Total
## En Cresta 20 7 3 30
## En Depresión 30 40 30 100
## Subiendo 20 8 2 30
## Bajando 30 5 5 40
esperados
## Venta Semanal Alta Venta Semanal Regular Venta Semanal Baja Total
## En Cresta 15 9 6 30
## En Depresión 50 30 20 100
## Subiendo 15 9 6 30
## Bajando 20 12 8 40
ji_cuadrada
## [1] 34.59722
valor_p
## [1] 7.015857e-05
rechazar_hipotesis_nula
## [1] TRUE
#11-12
# Cargar el paquete stats
library(stats)
# Crear una matriz con los datos observados
observados <- matrix(c(10, 17, 11, 21, 12, 23, 8, 5, 35, 38, 16, 7, 28, 19, 6, 13), nrow = 4, byrow = TRUE)
# Definir los nombres de columnas y filas
colnames(observados) <- c("Profesional o Posgrado", "En Licenciatura", "Bachillerato", "No terminó el Bachillerato")
rownames(observados) <- c("Nunca", "Algunas veces", "Mañana o tarde", "Ambas ediciones")
# Realizar la prueba de independencia
resultado <- chisq.test(observados)
# Obtener los resultados
estadistico <- resultado$statistic
valor_p <- resultado$p.value
# Calcular los grados de libertad
grados_libertad <- resultado$parameter
# Comparar el valor p con el nivel de significancia
nivel_significancia <- 0.10
rechazar_hipotesis_nula <- valor_p < nivel_significancia
# Imprimir los resultados
observados
## Profesional o Posgrado En Licenciatura Bachillerato
## Nunca 10 17 11
## Algunas veces 12 23 8
## Mañana o tarde 35 38 16
## Ambas ediciones 28 19 6
## No terminó el Bachillerato
## Nunca 21
## Algunas veces 5
## Mañana o tarde 7
## Ambas ediciones 13
cat("\n")
cat("Estadístico de chi-cuadrado:", estadistico, "\n")
## Estadístico de chi-cuadrado: 32.85553
cat("Valor p:", valor_p, "\n")
## Valor p: 0.000141511
cat("Grados de libertad:", grados_libertad, "\n")
## Grados de libertad: 9
cat("¿Rechazar hipótesis nula?:", rechazar_hipotesis_nula, "\n")
## ¿Rechazar hipótesis nula?: TRUE
library(stats)
ventas <- data.frame(
"Promocion" = rep(c("Muestra gratis", "Producto Extra", "Descuento", "Reembolso"), each = 5),
"Ventas" = c(78, 87, 81, 89, 85, 94, 91, 87, 90, 88, 73, 78, 69, 83, 76, 79, 83, 78, 69, 81)
)
# análisis de varianza
resultado <- aov(Ventas ~ Promocion, data = ventas)
estadistico <- summary(resultado)[[1]]$`Pr(>F)`[1]
valor_p <- summary(resultado)[[1]]$`Pr(>F)`[2]
nivel_significancia <- 0.01
rechazar_hipotesis_nula <- valor_p < nivel_significancia
ventas
## Promocion Ventas
## 1 Muestra gratis 78
## 2 Muestra gratis 87
## 3 Muestra gratis 81
## 4 Muestra gratis 89
## 5 Muestra gratis 85
## 6 Producto Extra 94
## 7 Producto Extra 91
## 8 Producto Extra 87
## 9 Producto Extra 90
## 10 Producto Extra 88
## 11 Descuento 73
## 12 Descuento 78
## 13 Descuento 69
## 14 Descuento 83
## 15 Descuento 76
## 16 Reembolso 79
## 17 Reembolso 83
## 18 Reembolso 78
## 19 Reembolso 69
## 20 Reembolso 81
cat("\n")
cat("Estadístico F:", estadistico, "\n")
## Estadístico F: 0.0006952327
cat("Valor p:", valor_p, "\n")
## Valor p: NA
cat("¿Rechazar hipótesis nula?:", rechazar_hipotesis_nula, "\n")
## ¿Rechazar hipótesis nula?: NA
library(stats)
quejas <- matrix(c(
15, 17, 14, 12,
12, 10, 13, 17,
11, 14, 13, 15, 12,
13, 12, 12, 14, 10, 9
), nrow = 5, byrow = TRUE)
## Warning in matrix(c(15, 17, 14, 12, 12, 10, 13, 17, 11, 14, 13, 15, 12, : data
## length [19] is not a sub-multiple or multiple of the number of rows [5]
quejas_df <- as.data.frame(quejas)
colnames(quejas_df) <- paste("Empleado", 1:4, sep = " ")
medias <- colMeans(quejas_df)
# análisis de varianza
resultado <- aov(medias ~ 1)
estadistico <- summary(resultado)[[1]]$`Pr(>F)`[1]
valor_p <- summary(resultado)[[1]]$`Pr(>F)`[2]
# el valor p con el nivel de significancia
nivel_significancia <- 0.05
rechazar_hipotesis_nula <- valor_p < nivel_significancia
quejas_df
## Empleado 1 Empleado 2 Empleado 3 Empleado 4
## 1 15 17 14 12
## 2 12 10 13 17
## 3 11 14 13 15
## 4 12 13 12 12
## 5 14 10 9 15
cat("\n")
cat("Estadístico F:", estadistico, "\n")
## Estadístico F: NA
cat("Valor p:", valor_p, "\n")
## Valor p: NA
cat("¿Rechazar hipótesis nula?:", rechazar_hipotesis_nula, "\n")
## ¿Rechazar hipótesis nula?: NA