forked from rOpenSpain/comidistar
/
puntuaciones.Rmd
76 lines (64 loc) · 3.42 KB
/
puntuaciones.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
---
title: "Visualizando las puntuaciones"
description: "Una breve presentación de los datos de {comidistar}"
author: "Gonzalo Garcia-Castro"
opengraph:
image:
src: "man/figures/logo.png"
twitter:
card: summary
creator: "@gongcastro"
output: rmarkdown::html_vignette
vignette: >
%\VignetteIndexEntry{Visualizando las puntuaciones}
%\VignetteEngine{knitr::rmarkdown}
%\VignetteEncoding{UTF-8}
---
```{r message=FALSE, warning=FALSE, include=FALSE, paged.print=FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
out.width = "100%"
)
```
En cada una de estas catas a ciegas de **El Comidista** (disponibles en su canal de [YouTube](https://www.youtube.com/channel/UCoIJrrwXy_mlr1WkC4vaTnA)) se presenta una serie de productos de marcas industriales a una o dos personas expertas en ese tipo de productos. En los vídeos en los que hay más de una persona puntuando los productos, el equipo de edición asigna al producto la media de las puntuaciones. La base de datos `puntuaciones` muestra las puntuaciones de cada persona del jurado de forma individual. Ver `?puntuaciones` para más información sobre esta base de datos.
Primero cargamos los paquetes que necesitaremos:
```{r message=FALSE, warning=FALSE, paged.print=FALSE}
library(comidistar) # contiene los datos y funciones ayudantes
library(dplyr) # para manejar los datos en formato tidy
library(ggplot2) # para visualizar los datos
```
Ahora cargamos los datos y los agregamos:
```{r message=FALSE, warning=FALSE, paged.print=FALSE}
# cargamos los datos
data("puntuaciones")
puntuaciones <- puntuaciones |>
add_count(producto) |> # numero de observaciones de cada producto
mutate(producto_n = paste0(producto, " (n = ", n, ")")) |>
select(producto_n, puntuacion)
puntuaciones
```
Por último, visualizamos los datos:
```{r puntuaciones, warning=FALSE, fig.height=8, fig.width=7, fig.cap="Distribuci\u00f3n de las puntuaciones de las catas a ciegas para cada producto. Distribuci\u00f3n de las puntuaciones (eje X) de cada producto (eje Y). El punto y su intervalo (en negro) indican la media y el intervalos que contiene el 95\\% de las puntuaciones de la distribuci\u00f3n. Las l\u00edneas verticales dentro de cada distribuciu00f3n indican las puntuaciones individuales para cada marca, por parte de una de las personas del jurado."}
puntuaciones %>%
count(producto_n, puntuacion) |>
ggplot(aes(x = puntuacion, y = reorder(producto_n, puntuacion))) +
geom_vline(xintercept = 5, colour = "grey", size = 1) +
geom_point(aes(size = n), stroke = 0.5, colour = "orange") +
stat_summary(fun.data = "mean_se", geom = "pointrange",
size = 0.65, shape = 1, stroke = 1) +
labs(x = "Puntuaci\u00f3n",
y = "Producto",
colour = "Intervalo de confianza",
title = "Puntuaci\u00f3n asignada a cada producto",
subtitle = "Los c\u00EDrculos naranjas y barras de error indican la media y error t\u00EDpico") +
guides(size = guide_legend(nrow = 1)) +
scale_x_continuous(limits = c(-2.5, 10),
breaks = seq(-3, 10, 1)) +
theme_comidistar() +
theme(plot.title.position = "plot",
axis.title.y = element_blank(),
panel.grid.major.y = element_blank(),
panel.grid.major.x = element_line(colour = "grey", linetype = "dotted"),
legend.position = "top")
```