1. Objetivo del informe

El objetivo de este trabajo es lograr resumir la información suministrada en tablas e indicadores que permitan validar algunas de sus hipótesis. La base contiene variables cuantitativas, como precio, calorías y porcentaje de alcohol, y variables cualitativas, como tipo de cerveza y origen.

Nota importante para evitar confusiones: aunque el archivo mencionado fue beer2.csv, en la carpeta también aparece beer.csv, que sí contiene exactamente las 69 marcas del enunciado. Por eso este informe se construye con beer.csv.

beer <- read.csv("C:\\Users\\user\\Desktop\\ESTADISTICA TD\\monitoria08sept\\data\\beer.csv")

beer$tipo <- factor(
  beer$tipo,
  levels = 1:5,
  labels = c("Lager artesanal", "Clara artesanal", "Lager importada",
             "Cerveza normal y helada", "Baja en calorías / sin alcohol")
)

beer$origen <- factor(
  beer$origen,
  levels = c(0, 1),
  labels = c("Nacional", "Importada")
)

str(beer)
## 'data.frame':    69 obs. of  6 variables:
##  $ marca   : chr  "m1" "m2" "m3" "m4" ...
##  $ precio  : chr  "6,24" "4,79" "5,96" "4,7" ...
##  $ calorias: int  159 160 160 162 157 151 155 135 162 142 ...
##  $ poralcoh: chr  "5,2" "5" "4,9" "4,9" ...
##  $ tipo    : Factor w/ 5 levels "Lager artesanal",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ origen  : Factor w/ 2 levels "Nacional","Importada": 2 2 2 2 2 2 2 2 2 2 ...

2. Descripción de las variables

La siguiente tabla resume, para cada una de las seis variables de la base, tres aspectos que son claves para elegir correctamente las técnicas descriptivas que se aplican más adelante en el informe: el tipo estadístico (si la variable es cuantitativa o cualitativa), la escala de medición (nominal, ordinal, intervalo o razón) y una breve interpretación de lo que representa cada dato dentro del contexto del negocio cervecero. Esta clasificación no es un simple formalismo: de ella depende, por ejemplo, que a precio, calorias y poralcoh se les puedan calcular promedios y desviaciones, mientras que a tipo y origen solo se les apliquen frecuencias y porcentajes, ya que no tiene sentido aritmético promediar categorías. La variable marca se incluye únicamente como identificador de cada registro y no entra en ningún cálculo descriptivo.

Variable Tipo estadístico Escala Interpretación
marca Cualitativa identificadora Nominal Código de la marca: m1, m2, …, m69. No se promedia.
precio Cuantitativa continua Razón Precio de una caja de seis botellas de 12 onzas.
calorias Cuantitativa continua/discreta Razón Calorías contenidas en una unidad de 12 onzas.
poralcoh Cuantitativa continua Razón Porcentaje de alcohol por 12 onzas.
tipo Cualitativa Nominal Clasificación comercial de la cerveza.
origen Cualitativa dicotómica Nominal Nacional o importada.

Aclaracion importante: las variables cuantitativas se resumen con media, mediana, desviación estándar, cuartiles y coeficiente de variación. Las variables cualitativas se resumen con frecuencias y porcentajes. Esto es importante tenerlo en cuenta para conocer porque a algunas variables no se les aplica las mismas medidas estadisticas.

3. Tamaño de la base

La base analizada tiene 69 marcas y 6 variables principales de análisis: precio, calorías, porcentaje de alcohol, tipo y origen. El tamaño de la muestra, 69 registros, es relevante porque condiciona la solidez de las conclusiones: al ser un número moderado de observaciones, los promedios y porcentajes calculados en las secciones siguientes deben interpretarse como una descripción de esta muestra en particular y no necesariamente como una generalización estadísticamente robusta a todo el mercado de cervezas.

dim(beer)
## [1] 69  6
head(beer)
##   marca precio calorias poralcoh            tipo    origen
## 1    m1   6,24      159      5,2 Lager artesanal Importada
## 2    m2   4,79      160        5 Lager artesanal Importada
## 3    m3   5,96      160      4,9 Lager artesanal Importada
## 4    m4    4,7      162      4,9 Lager artesanal Importada
## 5    m5   4,11      157      5,5 Lager artesanal Importada
## 6    m6   3,85      151      4,9 Lager artesanal Importada

4. Tablas de frecuencia para variables cualitativas

4.1 Tipo de cerveza

Código Categoría Frecuencia Porcentaje
1 Lager artesanal 13 18.8%
2 Clara artesanal 17 24.6%
3 Lager importada 10 14.5%
4 Cerveza normal y helada 16 23.2%
5 Baja en calorías / sin alcohol 13 18.8%

Interpretación: la categoría con mayor presencia es clara artesanal, con 17 marcas. Esto representa 24.6% de la muestra. La muestra está repartida entre los cinco tipos, aunque no de forma exactamente uniforme.Le siguen, en orden de frecuencia, cerveza normal y helada (16 marcas, 23.2%), y en un tercer grupo, prácticamente empatadas, lager artesanal y baja en calorías / sin alcohol, ambas con 13 marcas cada una (18.8%). La categoría menos representada es lager importada, con 10 marcas (14.5%). En términos generales, la muestra está repartida entre los cinco tipos de forma relativamente equilibrada, sin que ninguna categoría concentre una mayoría absoluta de las observaciones: la diferencia entre la categoría más frecuente (24.6%) y la menos frecuente (14.5%) es de apenas 10.1 puntos porcentuales. Esto sugiere que, al comparar más adelante indicadores como precio o calorías por tipo de cerveza, ningún grupo estará subrepresentado al punto de que sus estadísticas resulten poco confiables por falta de datos.

tabla_tipo <- beer |>
  count(tipo) |>
  mutate(porcentaje = 100*n/sum(n))
kable(tabla_tipo, digits = 2)
tipo n porcentaje
Lager artesanal 13 18.84
Clara artesanal 17 24.64
Lager importada 10 14.49
Cerveza normal y helada 16 23.19
Baja en calorías / sin alcohol 13 18.84

4.2 Origen

Código Categoría Frecuencia Porcentaje
0 Nacional 15 21.7%
1 Importada 54 78.3%

Interpretación: COmo se puede evidenciar en la tabla hay mayor presencia de cervezas importadas: 54 importadas de 69 total, equivalentes al 78.3%. Las nacionales son 15, equivalentes al 21.7%.En otras palabras, por cada cerveza nacional en la muestra hay aproximadamente 3.6 cervezas importadas, lo que revela un fuerte desbalance en la composición de la base según origen. Esta asimetría es importante tenerla presente para las secciones posteriores del informe: cuando se comparen precio, calorías o alcohol entre cervezas nacionales e importadas (sección 7), el grupo de nacionales estará representado por un número bastante más pequeño de observaciones (15 frente a 54), por lo que sus estadísticas —aunque válidas— pueden ser más sensibles a valores atípicos o a la presencia de unas pocas marcas particulares dentro de ese subgrupo.

tabla_origen <- beer |>
  count(origen) |>
  mutate(porcentaje = 100*n/sum(n))
kable(tabla_origen, digits = 2)
origen n porcentaje
Nacional 15 21.74
Importada 54 78.26

5. Indicadores descriptivos de variables cuantitativas

Variable n Media Mediana Desv. est. Varianza Mín. Q1 Q3 Máx. IQR CV Asimetría
Precio caja de seis botellas 69 4.96 4.79 1.45 2.09 2.36 3.90 6.24 7.80 2.34 29.1% 0.11
Calorías por 12 onzas 69 142.35 148 29.90 894.14 58 142 160 201 18 21.0% -1.30
Porcentaje de alcohol 69 4.42 4.90 1.57 2.48 0 4.40 5.10 6 0.70 35.6% -2.22

5.1 Precio

El precio promedio es 4.96, mientras que la mediana es 4.79. Como ambos valores son cercanos, el centro de la distribución se ubica alrededor de 5 unidades monetarias. La desviación estándar es 1.45,lo que significa que, en promedio, los precios se alejan poco más de una unidad monetaria del precio medio, y el coeficiente de variación es 29.1%, lo que indica una variabilidad moderada del precio. Esto que significa que, en promedio, los precios se alejan poco más de una unidad monetaria del precio medio. Al expresar esa dispersión en términos relativos mediante el coeficiente de variación (29.1%), se concluye que la variabilidad del precio es moderada: No es tan baja como para decir que todas las cervezas cuestan prácticamente lo mismo, ni tan alta como para hablar de una dispersión extrema.

Límites: [0.39, 9.75]. No se detectan valores atípicos.

5.2 Calorías

El promedio de calorías es 142.35 y la mediana es 148. La mediana es mayor que la media porque existen cervezas con muy pocas calorías, especialmente las bajas en calorías o sin alcohol, que jalan el promedio hacia abajo. Esta relación —mediana mayor que la media— es característica de una distribución con sesgo hacia la izquierda (sesgo negativo): la mayoría de las cervezas tienen un contenido calórico agrupado alrededor de 148 calorías o más, pero existe un subgrupo de cervezas con muy pocas calorías, particularmente las de la categoría “baja en calorías / sin alcohol”, que arrastra el promedio hacia abajo.

Límites: [115, 187]. Valores atípicos: 58, 60, 70, 71, 72, 82, 95, 96, 96, 105, 110, 110, 201.

5.3 Porcentaje de alcohol

El porcentaje promedio de alcohol es 4.42%, mientras que la mediana es 4.90%, medio punto porcentual por encima del promedio. La mediana es mayor que la media porque hay varias cervezas con 0% de alcohol, lo cual reduce el promedio.Al igual que ocurre con las calorías, esta diferencia se explica por la presencia de un grupo de cervezas con 0% de alcohol (las clasificadas como “sin alcohol”), que reducen el promedio general sin afectar de la misma manera a la mediana, que es más resistente a este tipo de valores extremos

Límites: [3.35, 6.15]. Valores atípicos: 0, 0, 0, 0, 0, 0, 0.

resumen <- beer |>
  summarise(
    n = n(),
    media_precio = mean(precio),
    mediana_precio = median(precio),
    sd_precio = sd(precio),
    media_calorias = mean(calorias),
    mediana_calorias = median(calorias),
    sd_calorias = sd(calorias),
    media_alcohol = mean(poralcoh),
    mediana_alcohol = median(poralcoh),
    sd_alcohol = sd(poralcoh)
  )
kable(resumen, digits = 2)
n media_precio mediana_precio sd_precio media_calorias mediana_calorias sd_calorias media_alcohol mediana_alcohol sd_alcohol
69 NA 4,79 NA 142.35 148 29.9 NA 4,9 NA

6. Resumen por tipo de cerveza

Tipo precio_count precio_mean precio_median precio_std calorias_count calorias_mean calorias_median calorias_std poralcoh_count poralcoh_mean poralcoh_median poralcoh_std
Baja en calorías / sin alcohol 13 4.08 4.02 1.13 13 89.15 95 22.59 13 1.92 0 2.17
Cerveza normal y helada 16 3.60 3.86 0.63 16 145.75 144.50 6.44 16 4.90 4.90 0.37
Clara artesanal 17 6.50 6.42 0.76 17 165.41 163 15.56 17 5.28 5.30 0.60
Lager artesanal 13 4.86 4.79 1.20 13 154.38 157 9.59 13 4.94 4.90 0.35
Lager importada 10 5.82 5.75 0.90 10 151.20 149 6.68 10 4.77 4.95 0.33

Interpretación por tipo:

beer |>
  group_by(tipo) |>
  summarise(
    n = n(),
    precio_promedio = mean(precio),
    calorias_promedio = mean(calorias),
    alcohol_promedio = mean(poralcoh),
    .groups = "drop"
  ) |>
  kable(digits = 2)
tipo n precio_promedio calorias_promedio alcohol_promedio
Lager artesanal 13 NA 154.38 NA
Clara artesanal 17 NA 165.41 NA
Lager importada 10 NA 151.20 NA
Cerveza normal y helada 16 NA 145.75 NA
Baja en calorías / sin alcohol 13 NA 89.15 NA

7. Resumen por origen

Origen precio_count precio_mean precio_median precio_std calorias_count calorias_mean calorias_median calorias_std poralcoh_count poralcoh_mean poralcoh_median poralcoh_std
Importada 54 4.71 4.06 1.48 54 143.39 148 30.67 54 4.50 4.90 1.53
Nacional 15 5.86 5.68 0.90 15 138.60 148 27.61 15 4.13 4.90 1.74

Interpretación: en esta muestra, las cervezas nacionales presentan un precio promedio mayor que las importadas. En esta muestra, las cervezas nacionales presentan un precio promedio de 5.86, superior al de las importadas, que es de 4.71; es decir, una diferencia de 1.15 unidades monetarias a favor —en términos de precio— de las nacionales. En cuanto a calorías, las nacionales también muestran un promedio ligeramente menor (138.60 frente a 143.39 de las importadas), y en alcohol las importadas presentan un promedio algo mayor (4.50% frente a 4.13% de las nacionales), aunque ambas cifras son cercanas.Sin embargo, hay que explicar esto con cuidado: el resultado depende de la composición de la muestra y de los tipos de cerveza incluidos; no significa automáticamente que toda cerveza nacional sea más costosa.

beer |>
  group_by(origen) |>
  summarise(
    n = n(),
    precio_promedio = mean(precio),
    calorias_promedio = mean(calorias),
    alcohol_promedio = mean(poralcoh),
    .groups = "drop"
  ) |>
  kable(digits = 2)
origen n precio_promedio calorias_promedio alcohol_promedio
Nacional 15 NA 138.60 NA
Importada 54 NA 143.39 NA

8. Relación entre variables cuantitativas

Matriz de correlación:

Variable precio calorias poralcoh
precio 1 0.424 0.295
calorias 0.424 1 0.883
poralcoh 0.295 0.883 1

La relación más fuerte de toda la matriz se observa entre calorías y porcentaje de alcohol, con un coeficiente de correlación de Pearson aproximado de 0.883. Al tratarse de un valor tan cercano a 1, indica una asociación lineal fuerte y positiva: dentro de esta muestra, las cervezas con mayor porcentaje de alcohol tienden, casi de forma consistente, a tener también un mayor contenido calórico. Esto quiere decir que, dentro de esta muestra, las cervezas con mayor porcentaje de alcohol tienden también a tener más calorías.

La relación entre precio y calorías es positiva pero de intensidad moderada, con un coeficiente de aproximadamente 0.424; es decir, existe cierta tendencia a que las cervezas más calóricas sean también algo más costosas, pero la asociación dista de ser tan marcada como la de calorías con alcohol. La relación entre precio y alcohol es igualmente positiva pero más débil aún, con un coeficiente de aproximadamente 0.295

beer$precio <- as.numeric(beer$precio)
beer$calorias <- as.numeric(beer$calorias)
beer$poralcoh <- as.numeric(beer$poralcoh)

cor(beer[, c("precio", "calorias", "poralcoh")])
##          precio calorias poralcoh
## precio        1       NA       NA
## calorias     NA        1       NA
## poralcoh     NA       NA        1
cor(beer[, c("precio", "calorias", "poralcoh")])
##          precio calorias poralcoh
## precio        1       NA       NA
## calorias     NA        1       NA
## poralcoh     NA       NA        1

9. Gráficos sugeridos para la explicación

ggplot(beer, aes(x = precio)) +
  geom_histogram(bins = 10, fill = "#4C78A8", color = "white") +
  labs(title = "Distribución del precio", x = "Precio", y = "Frecuencia")

ggplot(beer, aes(x = calorias)) +
  geom_histogram(bins = 10, fill = "#59A14F", color = "white") +
  labs(title = "Distribución de calorías", x = "Calorías", y = "Frecuencia")

ggplot(beer, aes(x = poralcoh)) +
  geom_histogram(bins = 10, fill = "#F28E2B", color = "white") +
  labs(title = "Distribución del porcentaje de alcohol", x = "Alcohol (%)", y = "Frecuencia")

ggplot(beer, aes(x = tipo, y = precio)) +
  geom_boxplot(fill = "#E15759", alpha = 0.7) +
  coord_flip() +
  labs(title = "Precio por tipo de cerveza", x = "Tipo", y = "Precio")

ggplot(beer, aes(x = poralcoh, y = calorias, color = tipo)) +
  geom_point(size = 2) +
  labs(title = "Relación entre alcohol y calorías", x = "Alcohol (%)", y = "Calorías")

10. Análisis final de resultados

La muestra está compuesta principalmente por cervezas importadas: 54 de 69 marcas. Por tipo de cerveza, la mayor frecuencia corresponde a clara artesanal, seguida por cerveza normal y helada.

En cuanto al precio, la media es 4.96 y la mediana es 4.79. Esto indica que el precio típico se encuentra alrededor de 5 unidades monetarias por caja de seis botellas. La variabilidad del precio es moderada, con un coeficiente de variación de 29.1%.

Las calorías tienen media de 142.35 y mediana de 148. La distribución presenta sesgo negativo porque hay cervezas de muy bajo contenido calórico. Esto se observa especialmente en la categoría de baja en calorías / sin alcohol.

El porcentaje de alcohol tiene media de 4.42% y mediana de 4.90%. La diferencia se explica por la presencia de cervezas sin alcohol, que bajan la media. Por eso, para explicar el consumo típico, la mediana puede ser más representativa que el promedio.

La asociación más clara aparece entre calorías y alcohol: a mayor porcentaje de alcohol, tienden a aumentar las calorías. Este resultado tiene sentido desde el punto de vista del producto, pero debe interpretarse como asociación descriptiva, no como causalidad.

11. Concepto para el director de investigación

Con base en la descripción inicial, la base permite clasificar las cervezas por tipo y origen, y también comparar sus características de precio, calorías y alcohol. Para una primera etapa del análisis, se recomienda concentrarse en tres cruces:

  1. Tipo de cerveza vs. precio, para identificar segmentos de mayor y menor precio.
  2. Tipo de cerveza vs. calorías y alcohol, para validar si las categorías cumplen con su descripción comercial.
  3. Origen vs. precio, para examinar si las diferencias observadas se mantienen cuando se controla por tipo de cerveza.

La recomendación principal para el director de investigación es no quedarse únicamente con los promedios generales de la muestra completa. Como la base mezcla cervezas artesanales, importadas, normales y sin alcohol —grupos con comportamientos claramente distintos, según se evidenció en las secciones 6 y 7—, un análisis desagregado por grupos resulta más claro, más útil para la toma de decisiones comerciales y ayuda a evitar conclusiones engañosas que surgirían de tratar a todas las cervezas como si fueran un único conjunto homogéneo.