-
¿Qué le ocurre al data.frame starwars cuando hacemos group_by(starwars, sex)?
-
¿Ves alguna diferencia entre starwars y group_by(starwars, sex)?
-
¿Cuántos grupos se han creado?
-
Cuenta cuantos personajes (filas) hay para cada uno de los valores de la columna
sex
en el data.frame starwars -
Consulta la ayuda de la función count. Cómo podríamos reescribir el ejercicio anterior usando esta función?
-
Calcula la media, máximo y mínimo de las columnas
height
,mass
ybirth_year
del dataframe starwars. ¿Por qué obtenemosNA
como resultado? -
Consultar la ayuda de la función across para ver como se pueden pasar argumentos extra a las funciones que aplicamos en
across
-
Modificar la solución de 1) para ignorar
NA
s
Dado el código que vimos en otro ejercicio para contar el número de personajes para cada uno de los valores de la columna sex
:
starwars %>%
group_by(sex) %>%
summarize(n = n())
Modificar este código para que se calcule además la media, máximo y mínimo de las columnas height
, mass
y birth_year
-
Hacer un join de los data.frames
band_members
yband_instruments2
por las columnasname
yartist
respectivamente. El resultado tiene que tener tantas filas como valores distintos de las columnasname
yartist
-
¿Aparecen valores que son
NA
en el resultado? ¿Por qué?
Dado el siguiente código que importa un fichero de Excel en R visto en uno de los ejercicios anteriores:
library(readxl)
bicis <- read_excel('./data/bicis_usos_acumulado.xls',
sheet = "Usos mar 2020",
range = "A3:E34")
-
Pivotar las columnas
Usos bicis abono anual
,Usos bicis abono ocasional
yUsos bicis total
para convertirlas en dos:Tipo_uso
yUsos
.Tipo_uso
tendrás los valores "Usos bicis abono anual", "Usos bicis abono ocasional" y "Usos bicis total", mientras queUsos
contiene los datos numéricos -
Sobre los datos que se han creado en el apartado 2, realizar el siguiente gráfico de barras:
- Eje x: días
- Eje y: número de usos
- Color de las barras: tipo de dia
- Un sub-gráfico para cada uno de los 3 tipos de uso
-
¿Que problema tiene el gráfico para usuarios ocasionales? Experimentar con distintos valores de los parámetros
scale
yncol
.
Usando el dataframe bicis_long
del ejercicio anterior, realizamos el siguiente gráfico:
ggplot(bicis_long, aes(x = DIA, y = Usos)) + geom_col()
Sobre el gráfico anterior:
-
Añadir una línea vertical rayada (tipo de línea “dashed”) en el día 16 de Marzo
-
Añadir una anotación textual en las coordenadas x = día 17 de Marzo e y = 10000, con el mensaje: "Cierre BiciMAD por estado de alarma". Justificar el texto a la izquierda
-
Cambiar las etiquetas del eje x por “Días” y del eje y por “Número total de usos”.
Este sería el resultado final:
Dado el siguiente gráfico que se genera a partir del dataframe bicis
:
ggplot(bicis_long, aes(x = DIA, y = Usos, fill = `Tipo de día`)) +
geom_col() +
facet_wrap(~ Tipo_uso, ncol = 1, scales = "free_y")
-
Mover la escala del Tipo de día a la parte superior
-
Cambiar la paleta de colores por “Dark2”, disponible en la web www.colorbrewer2.org (qualitative)
Este sería el gráfico resultante: