La siguiente información recoge cinco de las principales caracterÃsticas de un grupo de marcas de cerveza que fue recogida con la finalizad de clasificar los productos y además permita realizar un análisis descriptivo de las 69 marcas recogidas
Inicialmente el director de investigación desea su apoyo en una primera etapa del análisis que consiste en resumir la información suministrada en tablas e indicadores que le permitan validar algunas de sus hipótesis.
La base compartida contiene información sobre 69 marcas de cervezas que son distribuidas en la ciudad. Las variables recogidas corresponden a:
precio de la presentación en caja de seis botellas de 12 onzas,
contenido de calorias congtenidas en una unidad de 12 onzas,
porcentaje de contenido de alcohol por 12 onzas de contenido,
tipo de cerveza: (1-lager artesanal, 2-clara artesanal, 3-lager importada, 4-cerveza normal y helada, y 5-cerveza baja en calorÃas y sin alcohol) y
paÃs de origen: 0-nacional, 1- importada.
Su trabajo consiste en escribir un primer informe basado en una evaluación descriptiva, que contenga las tablas que resumen la información para cada variable de base de datos y resumen de sus indicadores estadÃsticos.
Finalmente adjunte un análisis de los resultados obtenidos.
# 1. Configura un timeout más corto para que falle rápido si hay problema de red
options(timeout = 60)
# 2. Instala remotes (más liviano que devtools)
#if (!require("remotes")) install.packages("remotes")
# 3. Instala el paquete evitando pasos pesados innecesarios
#remotes::install_github(
# "dgonxalex80/paquetePROB",
# force = TRUE,
#build = FALSE, # no genera documentación/vignettes
# upgrade = "never", # no intenta actualizar otras dependencias
# dependencies = NA, # solo instala lo que realmente falta
# quiet = FALSE # para que veas el progreso y no parezca colgado)
# 4. Activa el paquete
library(paquetePROB)
# 5. Carga la base de datos
data("beer")
Adjuntando el paquete: 'flextable'
The following object is masked from 'package:purrr':
compose
Tipo de cerveza | Frecuencia Absoluta |
|---|---|
1-lager artesanal | 52 |
2-clara artesanal | 68 |
3-lager importada | 40 |
4-cerveza normal y helada | 64 |
5-cerveza baja en calorias y sin alcohol | 52 |
Origen de cerveza | Frecuencia Absoluta |
|---|---|
0-nacional | 60 |
1- importada | 216 |
library(dplyr)
# Asegurar etiquetas limpias para el tipo de cerveza
beer$tipo[beer$tipo==1] = "1-lager artesanal"
beer$tipo[beer$tipo==2] = "2-clara artesanal"
beer$tipo[beer$tipo==3] = "3-lager importada"
beer$tipo[beer$tipo==4] = "4-cerveza normal y helada"
beer$tipo[beer$tipo==5] = "5-cerveza baja en calorÃas y sin alcohol"
# Calcular la tabla agrupada con frecuencia y porcentaje usando dplyr
resumen_cruzado <- beer %>%
count(tipo, origen) %>%
mutate(Porcentaje = round(100 * n / sum(n), 2))
# Renombrar las columnas para que la tabla quede profesional
colnames(resumen_cruzado) <- c("Tipo de Cerveza", "Origen", "Frecuencia", "Porcentaje")
# Diseñar la tabla con flextable y colores profesionales
ft_cruzado <- flextable(resumen_cruzado)
ft_cruzado <- theme_booktabs(ft_cruzado)
ft_cruzado <- bg(ft_cruzado, bg = "#1F4E78", part = "header") # Fondo azul oscuro
ft_cruzado <- color(ft_cruzado, color = "white", part = "header") # Letra blanca
ft_cruzado <- autofit(ft_cruzado)
ft_cruzado
Tipo de Cerveza | Origen | Frecuencia | Porcentaje |
|---|---|---|---|
1-lager artesanal | 1 | 52 | 18.84 |
2-clara artesanal | 0 | 4 | 1.45 |
2-clara artesanal | 1 | 64 | 23.19 |
3-lager importada | 0 | 40 | 14.49 |
4-cerveza normal y helada | 0 | 4 | 1.45 |
4-cerveza normal y helada | 1 | 60 | 21.74 |
5-cerveza baja en calorÃas y sin alcohol | 0 | 12 | 4.35 |
5-cerveza baja en calorÃas y sin alcohol | 1 | 40 | 14.49 |
### Precio, porcentaje de alcohol y calorias de la
cerveza
library(flextable)
n mean sd median min max range skew kurtosis se
276 4.96 1.44 4.79 2.36 7.8 5.44 0.11 -1.07 0.09summarytools::descr(beer[,c(2,3,4)])Descriptive Statistics beer N: 276 calorias poralcoh precio ----------------- ---------- ---------- -------- Mean 142.35 4.42 4.96 Std.Dev 29.74 1.57 1.44 Min 58.00 0.00 2.36 Q1 142.00 4.40 3.90 Median 148.00 4.90 4.79 Q3 160.00 5.10 6.24 Max 201.00 6.00 7.80 MAD 16.31 0.59 1.73 IQR 18.00 0.70 2.34 CV 0.21 0.35 0.29 Skewness -1.27 -2.16 0.11 SE.Skewness 0.15 0.15 0.15 Kurtosis 1.27 3.53 -1.07 N.Valid 276.00 276.00 276.00 N 276.00 276.00 276.00 Pct.Valid 100.00 100.00 100.00