Al equipo de investigación de mercado de AdRight se le asigna la tarea de identificar el perfil del cliente típico de cada producto de cinta de correr ofrecido por CardioGood Fitness. El equipo de investigación de mercado decide investigar si hay diferencias entre las líneas de productos con respecto a las características de los clientes. El equipo decide recopilar datos sobre las personas que compraron una cinta de correr en una tienda de CardioGoodFitness durante los tres meses anteriores. Los datos se almacenan en el archivo CardioGoodFitness.csv. El equipo identifica las siguientes variables de los clientes que se van a estudiar:
Producto comprado,TM195, TM498 o TM798; sexo; edad, en años; educación, en años; estado civil, soltero o con pareja; ingresos anuales del hogar (en dólares); número medio de veces que el cliente tiene previsto utilizar la cinta de correr cada semana; número medio de kilómetros que el cliente espera caminar/correr cada semana; y estado físico autocalificado en una escala de 1 a 5, en la que 1 es mala forma y 5 es excelente forma.
# Ajustamos el formato de tipo de variable
Cardio <- Cardio %>% mutate(.,
Product=as.factor(Product),
Gender=as.factor(Gender),
MaritalStatus=as.factor(MaritalStatus),
Education=as.numeric(Education),
Age=as.numeric(Age),
Usage=as.numeric(Usage),
Fitness=as.numeric(Fitness),
Income=as.numeric(Income),
Miles=as.numeric(Miles)
)
# Revisamos la estructura de la base de datos
str(Cardio)
## 'data.frame': 180 obs. of 9 variables:
## $ Product : Factor w/ 3 levels "TM195","TM498",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ Age : num 18 19 19 19 20 20 21 21 21 21 ...
## $ Gender : Factor w/ 2 levels "Female","Male": 2 2 1 2 2 1 1 2 2 1 ...
## $ Education : num 14 15 14 12 13 14 14 13 15 15 ...
## $ MaritalStatus: Factor w/ 2 levels "Partnered","Single": 2 2 1 2 1 1 1 2 2 1 ...
## $ Usage : num 3 2 4 3 4 3 3 3 5 2 ...
## $ Fitness : num 4 3 3 3 2 3 3 3 4 3 ...
## $ Income : num 29562 31836 30699 32973 35247 ...
## $ Miles : num 112 75 66 85 47 66 75 85 141 85 ...
Se observa que es una base de datos con 9 variables, con 180 observaciones. Dentro de las variables se presentan algunas categoricas como “Producto” con tres niveles, o “Genero” y “Estado marital” con dos niveles.
# Revisamos estadisticas descriptivas de la base de datos
summary(Cardio)
## Product Age Gender Education MaritalStatus
## TM195:80 Min. :18.00 Female: 76 Min. :12.00 Partnered:107
## TM498:60 1st Qu.:24.00 Male :104 1st Qu.:14.00 Single : 73
## TM798:40 Median :26.00 Median :16.00
## Mean :28.79 Mean :15.57
## 3rd Qu.:33.00 3rd Qu.:16.00
## Max. :50.00 Max. :21.00
## Usage Fitness Income Miles
## Min. :2.000 Min. :1.000 Min. : 29562 Min. : 21.0
## 1st Qu.:3.000 1st Qu.:3.000 1st Qu.: 44059 1st Qu.: 66.0
## Median :3.000 Median :3.000 Median : 50597 Median : 94.0
## Mean :3.456 Mean :3.311 Mean : 53720 Mean :103.2
## 3rd Qu.:4.000 3rd Qu.:4.000 3rd Qu.: 58668 3rd Qu.:114.8
## Max. :7.000 Max. :5.000 Max. :104581 Max. :360.0
Podemos identificar que las variables Product, Gender, MaritalStatus son de tipo cualitativo, por lo que se pueden tomar como factores de agrupamiento o comparacion con otras variables. Las demás variables por su caracter numerico, son susceptibles de ser analizadas mediante medidas de tendencia central, variación y posición.
# Realizamos comparaciones a partir de variables categoricas
addmargins(table(Cardio$Product, Cardio$MaritalStatus))
##
## Partnered Single Sum
## TM195 48 32 80
## TM498 36 24 60
## TM798 23 17 40
## Sum 107 73 180
addmargins(table(Cardio$Product, Cardio$Gender))
##
## Female Male Sum
## TM195 40 40 80
## TM498 29 31 60
## TM798 7 33 40
## Sum 76 104 180
addmargins(table(Cardio$MaritalStatus, Cardio$Gender))
##
## Female Male Sum
## Partnered 46 61 107
## Single 30 43 73
## Sum 76 104 180
# Realizamos comparaciones a partir de variables numericas
Cardio_num <- Cardio[ ,c("Age", "Education",
"Usage", "Fitness",
"Income", "Miles")]
head(Cardio_num)
## Age Education Usage Fitness Income Miles
## 1 18 14 3 4 29562 112
## 2 19 15 2 3 31836 75
## 3 19 14 4 3 30699 66
## 4 19 12 3 3 32973 85
## 5 20 13 4 2 35247 47
## 6 20 14 3 3 32973 66
# Grafico de correlaciones, referencia: https://r-coder.com/grafico-correlacion-r/
corrplot.mixed(cor(Cardio_num, method = "spearman"),
lower = "number",
upper = "circle",
tl.col = "black")
A partir de la correlacion de spearman se observa que todas las variables tienen correlaciones positivas o nulas, pero las relaciones entre Fitness & Miles, Usage & Miles y Income & Age presentan los valores mas altos.
# Seleccionamos la Variable cuantitativa de interés
variable <- Cardio$Age
# Definir los márgenes de error deseados
me <- mean(variable) # Porcentaje de variacion respecto a la media que quiero (ej; 10%)
margenes_error <- seq(0, me*0.2, by = 0.1); margenes_error # ajusto "by" segun el rango de la variable
## [1] 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8
## [20] 1.9 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7
## [39] 3.8 3.9 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 5.0 5.1 5.2 5.3 5.4 5.5 5.6
## [58] 5.7
# Establecemos la semilla para que los muestreos sean similares
set.seed(1234)
# Crear una lista para almacenar los resultados
resultados <- list()
# Iterar sobre cada margen de error
for (margen_error in margenes_error) {
# Calcular el tamaño de muestra
tamaño_muestra <- ceiling((qnorm(0.975)^2 * var(variable)) / (margen_error^2))
# Ajustar el tamaño de muestra si es mayor que el tamaño de la población
tamaño_muestra <- min(tamaño_muestra, length(variable))
# Realizar el muestreo aleatorio simple
muestra <- sample(variable, tamaño_muestra, replace = FALSE)
# Almacenar los resultados en la lista
resultados[[as.character(margen_error)]] <- list(tamaño_muestra = tamaño_muestra, muestra = muestra)
}
# Imprimir los resultados
for (margen_error in margenes_error) {
cat("Margen de error:", margen_error, "\n")
cat("Tamaño de muestra:", resultados[[as.character(margen_error)]]$tamaño_muestra, "\n")
cat("Muestra:", "\n")
print(resultados[[as.character(margen_error)]]$muestra)
cat("\n")
}
## Margen de error: 0
## Tamaño de muestra: 180
## Muestra:
## [1] 25 50 24 25 26 40 37 29 23 35 25 25 23 38 47 31 22 34 34 19 31 24 26 23 33
## [26] 35 35 33 28 25 35 21 26 30 38 27 27 19 31 34 28 25 29 38 48 40 31 24 25 21
## [51] 24 23 26 24 47 19 21 38 21 30 35 26 24 33 20 28 30 26 29 23 34 34 38 33 35
## [76] 40 27 42 24 43 23 25 33 35 26 48 23 21 25 32 23 33 32 20 21 23 25 44 30 25
## [101] 29 23 22 29 22 30 34 23 23 28 25 33 23 32 28 26 25 38 28 27 23 46 26 24 23
## [126] 38 25 31 37 23 36 28 24 29 28 21 25 24 40 25 41 24 25 24 25 39 22 45 19 35
## [151] 31 27 25 40 20 27 20 25 32 20 25 45 25 26 22 27 26 25 22 25 18 33 28 30 30
## [176] 26 25 23 22 23
##
## Margen de error: 0.1
## Tamaño de muestra: 180
## Muestra:
## [1] 25 25 20 21 38 19 27 22 23 31 26 27 26 32 23 45 40 23 25 31 43 34 24 33 31
## [26] 38 32 35 26 35 25 25 21 22 25 24 25 26 25 35 23 25 23 29 26 33 25 27 23 25
## [51] 24 48 30 26 33 24 28 33 20 21 26 29 34 39 30 24 28 47 21 20 38 25 41 24 27
## [76] 31 33 33 32 30 29 25 24 38 22 25 19 25 23 23 23 37 27 34 20 44 28 26 21 34
## [101] 25 24 25 40 23 25 24 28 28 40 38 20 22 26 23 30 28 37 19 30 34 33 40 27 28
## [126] 24 35 30 25 34 31 24 22 21 23 22 32 25 26 26 23 31 29 23 25 25 35 28 47 38
## [151] 25 40 29 29 35 33 35 25 23 27 50 30 46 48 23 26 23 45 38 35 19 25 42 24 36
## [176] 21 22 23 18 28
##
## Margen de error: 0.2
## Tamaño de muestra: 180
## Muestra:
## [1] 26 23 25 22 28 29 29 25 23 25 23 23 30 30 34 43 36 25 26 29 25 37 22 24 28
## [26] 22 24 34 47 23 25 30 33 34 26 23 25 47 33 24 31 32 23 35 24 24 25 22 40 34
## [51] 31 25 25 24 23 24 18 38 29 20 29 27 22 38 25 21 28 25 25 28 23 38 39 33 27
## [76] 20 35 35 23 26 30 23 25 23 26 19 25 25 41 34 25 32 23 21 40 23 26 25 46 25
## [101] 21 23 20 28 25 38 50 33 35 33 40 35 25 27 24 28 25 34 29 30 33 32 26 26 24
## [126] 23 28 45 33 22 22 48 38 38 23 45 30 24 21 44 35 31 20 42 19 28 19 38 27 21
## [151] 35 26 25 24 26 31 48 31 28 40 26 27 27 33 25 21 32 20 27 19 31 23 21 37 25
## [176] 26 30 24 40 35
##
## Margen de error: 0.3
## Tamaño de muestra: 180
## Muestra:
## [1] 25 33 24 33 27 38 25 28 25 21 25 28 33 34 37 19 23 26 45 26 29 27 30 26 25
## [26] 23 27 48 33 25 28 23 19 24 50 41 26 23 23 25 28 23 25 29 31 38 28 30 29 22
## [51] 30 22 23 38 24 23 21 33 22 35 18 21 25 24 23 33 26 26 23 40 19 23 24 34 25
## [76] 22 23 35 25 35 21 26 24 25 25 26 26 30 34 40 36 22 22 35 21 25 23 30 24 32
## [101] 23 38 47 28 21 35 30 29 32 47 44 24 24 39 30 37 34 25 24 38 26 34 20 19 24
## [126] 25 40 46 20 25 38 29 25 28 25 31 48 35 40 27 22 43 34 38 23 29 31 26 42 25
## [151] 23 23 35 28 21 24 31 25 33 40 31 20 25 25 27 27 32 27 23 25 28 32 35 45 26
## [176] 20 25 33 20 31
##
## Margen de error: 0.4
## Tamaño de muestra: 180
## Muestra:
## [1] 25 25 25 28 24 20 23 34 23 23 26 30 29 26 26 23 26 23 37 25 21 23 29 24 30
## [26] 28 31 25 25 19 24 32 30 32 28 38 22 19 24 25 33 38 34 35 33 24 23 33 24 33
## [51] 31 28 44 20 38 23 25 34 27 33 31 24 40 22 22 22 31 22 45 27 20 34 25 25 40
## [76] 28 23 40 25 21 21 23 31 41 45 40 23 25 26 34 25 38 35 19 23 30 27 29 29 38
## [101] 25 25 30 25 21 22 26 21 20 30 42 26 48 30 36 24 26 25 23 25 25 29 50 32 46
## [126] 19 40 37 23 23 21 25 32 35 24 48 43 28 35 27 23 25 31 28 35 38 26 33 33 26
## [151] 35 47 28 26 26 24 39 27 27 25 21 18 25 35 23 29 20 22 25 24 38 27 23 34 35
## [176] 24 25 33 47 28
##
## Margen de error: 0.5
## Tamaño de muestra: 180
## Muestra:
## [1] 47 25 25 28 48 31 22 30 25 30 35 24 34 26 21 34 29 25 35 37 42 28 38 23 34
## [26] 28 30 27 32 21 38 23 31 48 28 24 32 22 27 25 35 21 40 25 23 26 24 28 22 28
## [51] 25 23 23 25 35 25 23 25 33 22 31 26 27 25 35 40 38 24 38 28 19 43 32 18 23
## [76] 33 20 20 24 24 39 35 50 30 30 27 23 29 19 23 41 22 24 29 23 36 38 28 25 26
## [101] 26 26 26 19 19 23 23 33 21 25 29 40 24 27 34 45 31 22 25 46 25 33 32 47 40
## [126] 35 26 24 23 33 25 25 26 26 34 20 33 37 25 25 35 44 29 21 23 30 23 26 24 21
## [151] 40 29 33 31 31 28 30 23 33 20 25 25 21 25 34 25 45 25 23 26 38 23 27 38 24
## [176] 27 22 24 25 20
##
## Margen de error: 0.6
## Tamaño de muestra: 180
## Muestra:
## [1] 30 28 22 33 25 30 38 19 30 35 33 26 25 21 38 21 32 31 26 25 23 34 35 44 25
## [26] 28 24 23 37 20 31 25 40 26 34 24 23 32 20 38 23 25 30 34 31 35 30 28 24 31
## [51] 26 40 33 34 46 34 29 24 24 25 31 27 29 23 23 27 35 24 41 31 25 35 45 25 23
## [76] 23 28 35 25 47 24 38 23 22 50 25 35 38 20 33 23 26 25 21 42 22 21 18 28 30
## [101] 25 48 23 23 27 40 25 26 25 40 23 27 28 24 33 20 47 25 27 40 35 29 28 43 19
## [126] 24 25 24 28 45 48 21 30 32 37 25 33 23 26 21 26 19 26 38 29 25 29 26 29 27
## [151] 19 25 26 28 27 39 23 23 25 26 38 22 36 33 24 25 20 22 22 25 34 22 32 21 23
## [176] 24 23 33 25 25
##
## Margen de error: 0.7
## Tamaño de muestra: 180
## Muestra:
## [1] 24 26 33 38 37 24 27 35 20 20 35 34 27 38 20 39 33 38 28 30 23 30 32 26 25
## [26] 40 28 23 38 37 45 25 29 47 25 23 45 28 29 23 22 26 24 34 23 25 28 21 23 24
## [51] 24 26 25 48 35 23 24 26 29 25 24 30 20 28 38 46 33 25 26 30 33 32 25 26 23
## [76] 21 21 35 25 21 40 22 34 22 24 33 25 26 25 28 21 23 35 24 31 25 32 25 23 28
## [101] 33 31 25 43 21 27 33 31 35 32 40 27 19 22 30 23 24 22 34 34 35 23 25 29 26
## [126] 25 29 40 29 42 25 38 22 18 19 24 19 25 50 31 31 25 26 25 20 47 19 38 27 35
## [151] 23 23 30 40 25 36 48 22 30 23 23 21 26 25 23 31 27 44 23 41 34 25 27 26 24
## [176] 25 28 28 25 33
##
## Margen de error: 0.8
## Tamaño de muestra: 180
## Muestra:
## [1] 20 22 33 23 24 26 21 40 31 31 26 38 27 26 46 35 27 48 25 40 23 22 43 45 35
## [26] 35 29 23 21 33 30 40 23 23 33 25 24 24 42 23 25 50 36 27 21 23 25 32 26 25
## [51] 34 31 25 32 25 22 33 33 40 38 28 48 40 20 25 19 32 21 21 26 25 20 25 24 23
## [76] 22 28 31 33 24 38 25 30 23 35 28 25 30 23 29 47 28 19 23 22 26 23 19 27 29
## [101] 35 25 26 29 27 26 23 24 35 25 21 24 28 25 47 23 44 25 24 38 23 23 29 35 26
## [126] 38 34 25 25 27 33 28 28 39 26 28 30 37 31 22 37 25 18 25 24 30 27 24 25 26
## [151] 20 33 35 28 25 45 26 34 21 34 41 38 19 25 30 24 29 34 31 34 24 30 23 25 23
## [176] 20 22 32 38 25
##
## Margen de error: 0.9
## Tamaño de muestra: 180
## Muestra:
## [1] 24 38 23 30 24 26 25 33 24 26 20 26 23 48 23 38 27 42 27 22 35 31 27 22 48
## [26] 34 20 23 28 20 28 26 35 19 25 34 24 20 25 29 23 26 34 33 26 28 38 30 25 37
## [51] 35 25 21 22 29 25 28 38 25 26 25 31 35 29 19 24 25 35 25 28 23 29 26 23 46
## [76] 24 33 33 24 35 24 34 23 30 28 50 25 38 28 40 22 27 36 24 35 25 25 33 23 22
## [101] 30 25 33 24 32 27 40 45 37 25 25 23 26 34 31 47 22 30 25 19 45 30 31 21 31
## [126] 21 44 40 32 21 30 24 22 23 27 29 23 47 21 23 21 19 31 28 29 23 43 26 40 26
## [151] 27 32 23 21 24 34 25 25 33 38 25 23 23 38 25 39 33 40 25 18 23 32 26 25 41
## [176] 20 28 35 25 25
##
## Margen de error: 1
## Tamaño de muestra: 180
## Muestra:
## [1] 34 42 34 45 24 31 30 50 25 40 28 26 23 22 46 33 41 28 25 40 23 27 21 25 19
## [26] 31 27 28 23 25 43 23 27 27 23 23 23 25 28 31 38 33 38 48 29 28 19 23 23 28
## [51] 25 27 25 22 25 25 34 27 24 29 29 37 24 40 34 19 30 31 25 27 26 26 23 25 25
## [76] 26 26 32 35 26 24 24 23 45 21 22 30 26 38 26 40 37 29 47 22 23 21 33 30 25
## [101] 20 47 22 26 32 30 25 26 28 35 24 32 22 34 38 31 35 25 38 25 29 35 34 24 33
## [126] 24 35 40 33 23 31 29 39 24 23 44 48 38 30 25 25 21 24 38 23 33 23 19 24 21
## [151] 25 25 35 24 23 25 25 23 35 20 28 18 25 28 26 20 26 20 33 21 22 35 21 32 25
## [176] 36 30 25 20 33
##
## Margen de error: 1.1
## Tamaño de muestra: 154
## Muestra:
## [1] 25 32 20 33 35 25 27 38 37 21 25 23 26 25 38 20 21 30 21 25 21 48 26 23 34
## [26] 45 19 23 23 35 45 20 44 32 40 25 24 33 33 34 19 31 34 27 25 23 26 29 26 46
## [51] 23 29 31 38 39 47 38 40 34 35 25 40 29 25 25 23 25 23 29 22 38 28 21 25 25
## [76] 24 35 34 27 23 28 22 23 25 25 22 27 26 25 36 24 26 25 29 28 23 35 27 25 26
## [101] 21 50 23 26 35 31 26 25 30 33 24 23 30 47 30 28 30 23 41 31 48 35 26 28 38
## [126] 33 28 31 30 38 24 22 30 25 26 23 25 27 22 28 33 22 32 32 24 26 40 21 23 28
## [151] 27 40 25 22
##
## Margen de error: 1.2
## Tamaño de muestra: 129
## Muestra:
## [1] 29 38 24 23 25 26 33 34 23 29 33 23 21 38 25 26 20 24 25 25 33 24 35 30 25
## [26] 35 29 20 42 25 31 19 35 20 28 27 18 23 34 26 38 38 23 24 23 31 23 40 34 21
## [51] 28 48 35 26 27 36 26 23 29 25 31 45 21 20 28 32 19 24 25 50 25 33 22 23 21
## [76] 25 24 26 27 44 24 25 23 24 22 35 23 19 26 29 26 23 25 21 25 28 30 28 46 23
## [101] 37 27 25 22 25 25 47 35 30 40 24 23 23 19 31 20 45 22 25 33 25 25 30 32 38
## [126] 33 25 35 37
##
## Margen de error: 1.3
## Tamaño de muestra: 110
## Muestra:
## [1] 46 28 25 23 35 37 35 29 29 38 32 26 40 32 23 20 23 21 27 23 24 26 33 43 40
## [26] 31 30 26 44 20 42 24 20 32 48 25 23 23 23 28 30 25 33 19 26 25 24 31 24 33
## [51] 24 27 38 40 39 26 25 26 29 29 38 25 27 18 45 27 27 26 33 41 50 25 38 34 23
## [76] 35 27 33 30 22 34 25 23 30 36 25 25 19 31 19 23 24 26 30 38 34 28 34 24 35
## [101] 38 25 24 25 28 28 30 30 34 35
##
## Margen de error: 1.4
## Tamaño de muestra: 95
## Muestra:
## [1] 30 24 21 25 38 25 26 23 33 23 47 25 34 21 29 24 19 30 31 29 19 35 23 25 35
## [26] 40 24 46 22 25 22 28 28 28 23 35 21 26 24 27 25 23 48 38 24 21 25 23 23 25
## [51] 27 25 29 35 39 25 45 34 26 25 33 37 23 23 29 27 24 25 25 26 40 25 30 24 48
## [76] 23 25 25 35 25 33 34 43 22 23 20 23 25 31 26 28 24 27 33 31
##
## Margen de error: 1.5
## Tamaño de muestra: 83
## Muestra:
## [1] 27 40 21 26 30 23 28 21 35 25 25 23 35 32 28 43 31 22 33 25 24 25 19 25 22
## [26] 38 34 35 27 20 44 40 25 26 24 32 33 37 26 28 35 25 29 35 23 25 23 26 23 33
## [51] 33 21 23 27 38 24 36 24 25 25 32 27 21 30 35 30 23 38 20 22 21 29 25 24 23
## [76] 41 37 40 27 39 25 25 28
##
## Margen de error: 1.6
## Tamaño de muestra: 73
## Muestra:
## [1] 24 23 30 24 28 35 25 25 25 28 30 38 19 28 25 24 24 26 30 30 24 27 28 21 35
## [26] 20 22 25 40 26 23 32 31 45 23 37 25 31 35 22 28 30 25 34 39 18 23 35 26 25
## [51] 28 27 25 23 20 25 25 40 24 25 25 30 24 23 36 26 31 38 22 34 34 29 28
##
## Margen de error: 1.7
## Tamaño de muestra: 65
## Muestra:
## [1] 25 37 30 30 23 25 21 35 28 18 33 23 23 23 27 40 24 46 24 23 28 35 25 33 35
## [26] 25 23 25 23 23 38 42 45 40 31 22 33 22 20 35 44 26 21 23 40 38 27 34 39 25
## [51] 34 21 23 26 30 21 28 22 48 24 48 26 33 23 25
##
## Margen de error: 1.8
## Tamaño de muestra: 58
## Muestra:
## [1] 26 27 24 48 23 27 24 23 36 31 37 29 28 26 20 25 23 33 46 33 37 23 47 34 34
## [26] 34 23 21 25 26 38 26 18 19 26 35 31 35 25 24 26 38 28 23 22 26 26 22 28 28
## [51] 23 30 30 25 26 22 19 25
##
## Margen de error: 1.9
## Tamaño de muestra: 52
## Muestra:
## [1] 40 33 24 28 21 25 26 24 20 35 25 22 32 25 28 33 31 25 34 26 21 46 29 21 35
## [26] 48 25 31 25 23 40 24 28 25 26 26 25 23 30 36 25 34 19 26 34 24 31 22 25 43
## [51] 19 26
##
## Margen de error: 2
## Tamaño de muestra: 47
## Muestra:
## [1] 26 30 24 31 45 38 33 25 29 24 24 32 22 29 25 25 27 28 47 22 40 20 30 23 24
## [26] 30 28 25 23 27 28 37 30 28 28 31 27 26 42 23 23 40 25 22 23 25 21
##
## Margen de error: 2.1
## Tamaño de muestra: 42
## Muestra:
## [1] 23 29 27 30 38 33 28 25 24 31 28 48 48 35 23 25 35 24 22 25 25 30 22 26 30
## [26] 29 25 26 24 32 25 46 27 25 40 25 23 20 34 19 21 25
##
## Margen de error: 2.2
## Tamaño de muestra: 39
## Muestra:
## [1] 31 23 30 33 23 31 38 23 21 34 31 25 47 32 24 23 19 26 35 20 29 27 38 28 39
## [26] 23 34 26 40 27 34 38 21 35 25 26 35 24 23
##
## Margen de error: 2.3
## Tamaño de muestra: 36
## Muestra:
## [1] 28 35 23 41 27 25 24 27 23 38 34 25 25 27 23 25 31 30 26 26 31 43 29 23 26
## [26] 24 23 20 23 29 40 35 48 34 26 25
##
## Margen de error: 2.4
## Tamaño de muestra: 33
## Muestra:
## [1] 37 24 31 24 29 27 35 37 19 33 34 25 34 29 25 44 28 34 25 21 24 42 33 31 31
## [26] 32 40 31 23 43 25 34 28
##
## Margen de error: 2.5
## Tamaño de muestra: 30
## Muestra:
## [1] 33 31 25 25 43 30 23 24 19 30 26 39 32 25 23 24 34 37 23 38 35 34 25 25 29
## [26] 29 24 28 48 35
##
## Margen de error: 2.6
## Tamaño de muestra: 28
## Muestra:
## [1] 38 25 20 23 40 25 24 37 23 23 29 45 28 26 25 39 21 48 26 18 32 40 23 46 28
## [26] 27 29 22
##
## Margen de error: 2.7
## Tamaño de muestra: 26
## Muestra:
## [1] 28 23 25 21 33 37 23 40 32 33 25 24 20 19 21 34 21 25 38 25 35 35 31 23 35
## [26] 36
##
## Margen de error: 2.8
## Tamaño de muestra: 24
## Muestra:
## [1] 39 25 24 24 31 23 27 23 21 19 35 35 25 26 32 25 25 21 22 32 38 47 25 40
##
## Margen de error: 2.9
## Tamaño de muestra: 23
## Muestra:
## [1] 38 25 38 26 21 25 20 27 27 23 38 19 48 26 28 26 23 34 21 26 24 25 25
##
## Margen de error: 3
## Tamaño de muestra: 21
## Muestra:
## [1] 21 40 23 21 23 34 26 48 20 29 34 22 22 42 25 26 31 31 22 24 20
##
## Margen de error: 3.1
## Tamaño de muestra: 20
## Muestra:
## [1] 24 32 25 23 24 21 25 37 28 21 19 26 21 43 25 24 46 35 28 38
##
## Margen de error: 3.2
## Tamaño de muestra: 19
## Muestra:
## [1] 28 25 37 27 24 34 48 26 32 25 30 28 25 28 21 29 45 22 26
##
## Margen de error: 3.3
## Tamaño de muestra: 18
## Muestra:
## [1] 26 22 28 27 38 32 28 23 20 21 38 28 24 28 38 27 20 38
##
## Margen de error: 3.4
## Tamaño de muestra: 17
## Muestra:
## [1] 22 25 34 38 23 39 35 26 47 31 36 23 27 25 23 41 22
##
## Margen de error: 3.5
## Tamaño de muestra: 16
## Muestra:
## [1] 34 23 31 26 33 24 22 33 41 30 23 31 25 34 24 36
##
## Margen de error: 3.6
## Tamaño de muestra: 15
## Muestra:
## [1] 35 25 31 36 20 24 25 25 30 28 24 24 33 32 31
##
## Margen de error: 3.7
## Tamaño de muestra: 14
## Muestra:
## [1] 23 25 30 23 19 18 20 25 28 23 25 25 25 38
##
## Margen de error: 3.8
## Tamaño de muestra: 13
## Muestra:
## [1] 27 25 24 24 25 47 22 20 23 33 23 48 28
##
## Margen de error: 3.9
## Tamaño de muestra: 13
## Muestra:
## [1] 22 25 24 28 28 24 29 45 26 24 35 22 22
##
## Margen de error: 4
## Tamaño de muestra: 12
## Muestra:
## [1] 24 30 34 20 24 24 22 26 31 22 25 25
##
## Margen de error: 4.1
## Tamaño de muestra: 12
## Muestra:
## [1] 30 22 25 24 24 33 23 38 23 29 25 25
##
## Margen de error: 4.2
## Tamaño de muestra: 11
## Muestra:
## [1] 23 28 24 20 24 25 25 28 26 38 47
##
## Margen de error: 4.3
## Tamaño de muestra: 11
## Muestra:
## [1] 28 19 23 23 40 25 37 29 48 25 24
##
## Margen de error: 4.4
## Tamaño de muestra: 10
## Muestra:
## [1] 25 30 23 38 38 21 31 38 33 34
##
## Margen de error: 4.5
## Tamaño de muestra: 10
## Muestra:
## [1] 26 22 23 25 30 21 23 29 37 23
##
## Margen de error: 4.6
## Tamaño de muestra: 9
## Muestra:
## [1] 26 25 21 23 28 23 33 34 33
##
## Margen de error: 4.7
## Tamaño de muestra: 9
## Muestra:
## [1] 34 23 28 25 25 48 23 24 23
##
## Margen de error: 4.8
## Tamaño de muestra: 9
## Muestra:
## [1] 33 26 25 23 31 24 22 21 30
##
## Margen de error: 4.9
## Tamaño de muestra: 8
## Muestra:
## [1] 22 35 25 26 25 21 25 28
##
## Margen de error: 5
## Tamaño de muestra: 8
## Muestra:
## [1] 26 25 23 35 31 27 29 37
##
## Margen de error: 5.1
## Tamaño de muestra: 8
## Muestra:
## [1] 19 40 29 23 19 26 38 40
##
## Margen de error: 5.2
## Tamaño de muestra: 7
## Muestra:
## [1] 31 19 23 30 28 26 44
##
## Margen de error: 5.3
## Tamaño de muestra: 7
## Muestra:
## [1] 29 25 31 23 33 26 24
##
## Margen de error: 5.4
## Tamaño de muestra: 7
## Muestra:
## [1] 20 27 26 28 48 48 26
##
## Margen de error: 5.5
## Tamaño de muestra: 7
## Muestra:
## [1] 29 23 26 24 37 25 33
##
## Margen de error: 5.6
## Tamaño de muestra: 6
## Muestra:
## [1] 46 24 25 24 29 23
##
## Margen de error: 5.7
## Tamaño de muestra: 6
## Muestra:
## [1] 24 31 32 22 23 22
# View(resultados)
A partir los resultados, se identificó que en funcion del tamaño del error, se modifica el numero de muestras que se deben tomar. Se seleccionó la variable edad, en tanto es una variable clave que permite segmentar el publico objetivo para la venta de implementos para ejercicio.
# Creamos una base de datos que me compara el error respecto al tamaño de muestra
N.datos <- c()
for (i in 1:length(margenes_error)) {
N.datos <- c(N.datos, resultados[[i]]$tamaño_muestra)
}
datos.error <- data.frame(margenes_error, N.datos)
# Visualizamos el error respecto al tamaño de muestra
ggplot(datos.error, aes(x=N.datos, y=margenes_error) )+
geom_point()+
geom_hline(yintercept=1.1, colour = "red", size = 0.5)+
geom_hline(yintercept=3, colour = "blue", size = 0.5)
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
Observamos que en la medida que el error que queremos es mas bajo requerimos mas muestras, pero para un error de 1% o menos siempre debe tomarse el total de la muestra (180). Por esta razon consideramos como una muestra grande aquella en la que se contiene el menor error con menos muestras que el total. Como muestra pequeña
Base_grande <- data.frame(resultados[["1.1"]] )
Base_pequena <- data.frame(resultados[["3"]] )
Se seleccionaron dos grupos, en funcion del tamaño de muestra. El primero denominado como “Grupo grande”, corresponde al minimo error necesario para tener que tener una poblacion inferior a los 180 datos originales y correspondio a 154. El segundo grupo se denominó “Grupo pequeño” y corresponde a 21.
POB <- data.frame(AGE=Cardio$Age, TIPO=rep("Poblacion", times=nrow(Cardio) ) )
GRA <- data.frame(AGE=Base_grande$muestra, TIPO=rep("Grande", times=nrow(Base_grande) ) )
PEQ <- data.frame(AGE=Base_pequena$muestra, TIPO=rep("Pequeña", times=nrow(Base_pequena) ) )
BD <- rbind(POB, GRA, PEQ)
head(BD)
## AGE TIPO
## 1 18 Poblacion
## 2 19 Poblacion
## 3 19 Poblacion
## 4 19 Poblacion
## 5 20 Poblacion
## 6 20 Poblacion
# Obtenemos el resumen comparando nuestros tres grupos
by(BD$AGE, BD$TIPO, summary)
## BD$TIPO: Grande
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 19.00 24.00 27.00 29.06 33.00 50.00
## ------------------------------------------------------------
## BD$TIPO: Pequeña
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 20.00 22.00 25.00 27.81 31.00 48.00
## ------------------------------------------------------------
## BD$TIPO: Poblacion
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 18.00 24.00 26.00 28.79 33.00 50.00
# Visualizamos mediante boxplot el comportamiento de los tres grupos
ggplot(BD, aes(x=TIPO, y=AGE, color=TIPO))+
geom_jitter(width = 0.1, alpha=0.3)+
geom_boxplot(alpha=0.8)+
theme_bw()
Se observa que las diferencias entre la poblacion y la muestra grande son bajas, particularmente se observan solo para la media. Por otra parte, se observa que la base pequeña si presenta diferencias respecto a la poblacion en todos los estadisticos descriptivos.
# Establezco una edad de referencia sobre la cual quiero hacer comparaciones
ER <- 27
Busco comprarar la media de mi muestra contra un valor de referencia de 27 (establecido arbitrariamente como ejemplo)
test1 <- z.test(x=Base_grande$muestra, # muestra
sigma.x = sd(Base_grande$muestra), # margen de error
alternative = "two.sided",
mu= ER, # Valor de referencia establecido
conf.level = 0.95) #Nivel de confianza al 95%
test1
##
## One-sample z-Test
##
## data: Base_grande$muestra
## z = 3.6953, p-value = 0.0002196
## alternative hypothesis: true mean is not equal to 27
## 95 percent confidence interval:
## 27.96971 30.16016
## sample estimates:
## mean of x
## 29.06494
Ho: media muestral es igual al valor de referencia || Ha: media muestral es diferente que el valor de referencia || Debido a que se obtuvo un p.valor menor a 0.05 rechazo la hipotesis nula y puedo deducir que la media de la muestra grande (29.0649351) es estadisticamente diferente al valor de referencia (27).
test2 <- z.test(x=Base_grande$muestra,
sigma.x = sd(Base_grande$muestra), #margen de error
alternative = "greater",
mu=ER,
conf.level = 0.95) #Nivel de confianza al 95%
test2
##
## One-sample z-Test
##
## data: Base_grande$muestra
## z = 3.6953, p-value = 0.0001098
## alternative hypothesis: true mean is greater than 27
## 95 percent confidence interval:
## 28.14579 NA
## sample estimates:
## mean of x
## 29.06494
Ho: media muestral es menor o igual al valor de referencia || Ha: media muestral es mayor que el valor de referencia || Debido a que se obtuvo un p.valor menor a 0.05 rechazo la hipotesis nula y puedo deducir que la media de la muestra grande (29.0649351) es estadisticamente mayor al valor de referencia (27)
test3 <- z.test(x=Base_grande$muestra,
sigma.x = sd(Base_grande$muestra), #margen de error
alternative = "less",
mu=ER,
conf.level = 0.95) #Nivel de confianza al 95%
test3
##
## One-sample z-Test
##
## data: Base_grande$muestra
## z = 3.6953, p-value = 0.9999
## alternative hypothesis: true mean is less than 27
## 95 percent confidence interval:
## NA 29.98408
## sample estimates:
## mean of x
## 29.06494
Ho: media muestral es mayor o igual al valor de referencia || Ha: media muestral es menor que el valor de referencia || Debido a que se obtuvo un p.valor mayor a 0.05, no rechazo la hipotesis nula y puedo deducir que la media de la muestra grande (29.0649351) es estadisticamente mayor o igual al valor de referencia (27)
# Variable cualitativa de interes con dos niveles: MaritalStatus
variable2<- Cardio$MaritalStatus; variable2
## [1] Single Single Partnered Single Partnered Partnered Partnered
## [8] Single Single Partnered Single Partnered Single Single
## [15] Partnered Partnered Single Partnered Single Partnered Single
## [22] Single Single Partnered Single Partnered Single Partnered
## [29] Partnered Partnered Partnered Single Partnered Single Partnered
## [36] Partnered Partnered Partnered Single Partnered Single Partnered
## [43] Single Partnered Partnered Partnered Single Partnered Single
## [50] Partnered Partnered Partnered Partnered Partnered Single Partnered
## [57] Single Single Partnered Single Partnered Single Single
## [64] Partnered Partnered Single Single Partnered Partnered Partnered
## [71] Single Partnered Partnered Partnered Partnered Partnered Single
## [78] Partnered Partnered Partnered Single Single Partnered Single
## [85] Partnered Partnered Partnered Partnered Partnered Single Partnered
## [92] Partnered Single Partnered Single Single Single Partnered
## [99] Single Partnered Partnered Single Single Partnered Partnered
## [106] Partnered Single Single Partnered Single Single Single
## [113] Partnered Single Single Partnered Partnered Single Single
## [120] Partnered Partnered Partnered Partnered Partnered Single Partnered
## [127] Partnered Single Partnered Partnered Single Partnered Partnered
## [134] Partnered Partnered Partnered Single Partnered Partnered Partnered
## [141] Single Single Single Single Single Single Single
## [148] Partnered Single Single Partnered Partnered Partnered Partnered
## [155] Partnered Partnered Partnered Single Partnered Partnered Single
## [162] Partnered Partnered Partnered Single Single Partnered Partnered
## [169] Partnered Partnered Partnered Partnered Single Partnered Partnered
## [176] Single Single Single Partnered Partnered
## Levels: Partnered Single
# Revisamos las proporciones para la variable Maritalstatus en la poblacion
prop.table(table(Cardio$MaritalStatus))
##
## Partnered Single
## 0.5944444 0.4055556
se observa que la mayor parte de la poblacion es “partened”
# Se extrae una muestra aleatoria de 100 registros:
set.seed(1234)
MS.muestra=data.frame(Mar.Stat=sample(Cardio$MaritalStatus, 100) )
# A partir de la informacion anterior, se realiza el conteo dentro de la muestra
frec.MS=table(MS.muestra)
frec.MS
## Mar.Stat
## Partnered Single
## 56 44
# Se divide la muestra entre los niveles en dos grupos
frec.MS[1] # Frecuencia de partened
## Partnered
## 56
frec.MS[2] # Frecuencia de single
## Single
## 44
# Se toma como proporcion de referencia, una proporcion de partened de 50%
PR <- 0.5 # Establezco una proporcion de referencia sobre la cual comparar
# Realizo la prueba
prop.test(x=frec.MS[1], # Grupo "partened"
n=nrow(MS.muestra), # Numero de datos totales
conf.level = 0.95, # Nivel de confianza
p= PR, # proporcion de referencia
alternative = "two.sided") # Dos colas
##
## 1-sample proportions test with continuity correction
##
## data: frec.MS[1] out of nrow(MS.muestra), null probability PR
## X-squared = 1.21, df = 1, p-value = 0.2713
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
## 0.4573588 0.6579781
## sample estimates:
## p
## 0.56
Ho: proporcion muestral es igual a la proporcion de referencia || Ha: proporcion muestral es diferente a la proporcion de referencia || Debido a que se obtuvo un p.valor mayor a 0.05, acepto la hipotesis nula y puedo deducir que la proporcion de “partened” es estadisticamente igual a la proporcion de referencia (0.5).
# Proporcion por sexo de la base de datos total
prop.table(table(Cardio$Gender) )
##
## Female Male
## 0.4222222 0.5777778
# Se procede a fraccionar la base de datos original por genero: Female y Male.
grupo_f<- subset(Cardio, Gender == "Female") # Datos totales del grupo female
grupo_m<- subset(Cardio, Gender == "Male") # Datos totales del grupo male
# Se extrae una muestra de tamaño similar (25) de cada grupo
M_f=sample(x=Cardio$Age, size=25) #Muestra de las edades femenino
M_m=sample(x=Cardio$Age, size=25) #Muestra de las edades femenino
Se observa que la base de datos es desbalanceada en cuento a genero, con mayoria de registros correspondientes a “Male”
var.test(x=M_f,
y=M_m,
conf.level = 0.95,
alternative = "two.sided",
ratio = 1)
##
## F test to compare two variances
##
## data: M_f and M_m
## F = 0.52293, num df = 24, denom df = 24, p-value = 0.1192
## alternative hypothesis: true ratio of variances is not equal to 1
## 95 percent confidence interval:
## 0.2304387 1.1866714
## sample estimates:
## ratio of variances
## 0.5229292
Ho: Los dos grupos tienen varianzas de edad diferentes (No son homocedasticos) || Ha: Los dos grupos tienen varianzas de edad iguales (Son homocedasticos) || Debido a que se obtuvo un p.valor mayor a 0.05, acepto la hipotesis nula y puedo deducir que los dos grupos son homocedasticos. Teniendo en cuenta esto, puedo proceder a hacer el test para comparar entre grupos.
t.test(x=M_f,
y=M_m,
sigma.x=sd(M_f),
sigma.y=sd(M_m),
alternative = "two.sided",
var.equal = TRUE,
mu=0,
conf.level = 0.95)
##
## Two Sample t-test
##
## data: M_f and M_m
## t = -1.2434, df = 48, p-value = 0.2198
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -5.757479 1.357479
## sample estimates:
## mean of x mean of y
## 26.96 29.16
Ho: Diferencia en la media entre los grupos es igual a cero (Son iguales) || Ha: Diferencia en la media entre los grupos es diferente a cero (Son diferentes) || Debido a que se obtuvo un p.valor mayor a 0.05, no rechazo la hipotesis nula y puedo deducir que los dos grupos tienen una media de edad estadisticamente igual (Female: 26.96, Male: 29.16).
z.test(x=grupo_f$Age, y=grupo_m$Age,
sigma.x = sd(grupo_f$Age), sigma.y = sd(grupo_m$Age),
mu=0,
alternative = "two.sided",
conf.level = 0.95)
##
## Two-sample z-Test
##
## data: grupo_f$Age and grupo_m$Age
## z = -0.37635, p-value = 0.7067
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -2.397032 1.624764
## sample estimates:
## mean of x mean of y
## 28.56579 28.95192
Ho: Diferencia en la media entre los grupos es igual a cero (Son iguales) || Ha: Diferencia en la media entre los grupos es diferente a cero (Son diferentes) || Debido a que se obtuvo un p.valor mayor a 0.05, no rechazo la hipotesis nula y puedo deducir que los dos grupos tienen una media de edad estadisticamente igual (Female: 28.5657895, Male: 28.9519231).
Tomando una muestra y comparandose estadisticamente son iguales; asi mismo, tomando la población, se demuestra que presentan un comportamiento similar. Asi se puede evidenciar en el siguiente diagrama de caja
# Generamos un dataframe con las muestras grandes y pequeñas separadas por genero
PEQ.f <- data.frame(EDAD=M_f, TIPO="Peque", SEX="Female")
PEQ.m <- data.frame(EDAD=M_m, TIPO="Peque", SEX="Male")
GRA.f <- data.frame(EDAD=grupo_f$Age, TIPO="Grande", SEX="Female")
GRA.m <- data.frame(EDAD=grupo_m$Age, TIPO="Grande", SEX="Male")
BD2 <- rbind(PEQ.f, PEQ.m, GRA.f, GRA.m)
# Obtenemos el resumen comparando los grupos
by(BD2$EDAD, list(BD2$TIPO, BD2$SEX), summary)
## : Grande
## : Female
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 19.00 24.00 26.50 28.57 33.00 50.00
## ------------------------------------------------------------
## : Peque
## : Female
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 20.00 23.00 25.00 26.96 30.00 38.00
## ------------------------------------------------------------
## : Grande
## : Male
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 18.00 23.75 26.00 28.95 34.00 48.00
## ------------------------------------------------------------
## : Peque
## : Male
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 20.00 24.00 25.00 29.16 34.00 47.00
# Visualizamos mediante boxplot el comportamiento de los tres grupos
library(ggplot2)
ggplot(BD2, aes(x=TIPO, y=EDAD, color=SEX))+
geom_jitter(width = 0.2, alpha=0.3)+
geom_boxplot(alpha=0.8)+
theme_bw()
se puede observar que la diferencia de edad entre hombres y mujeres para
el grupo grande (numero de datos: 104) es nula, lo que coincide con la
prueba z que indico que no habian diferencias en la media entre sexos.
Por otra parte, con una muestra pequeña (datos: ) se observan
diferencias en la edad media entre sexos, sin embargo estas diferencias
son nulas de acuerdo al t.test.