B.1 El paquete dplyr
library(dplyr)
dplyr Permite sustituir funciones base de R (como split()
, subset()
,
apply()
, sapply()
, lapply()
, tapply()
y aggregate()
)
mediante una “gramática” más sencilla para la manipulación de datos:
select()
seleccionar variables/columnas (tambiénrename()
).mutate()
crear variables/columnas (tambiéntransmute()
).filter()
seleccionar casos/filas (tambiénslice()
).arrange()
ordenar o organizar casos/filas.summarise()
resumir valores.group_by()
permite operaciones por grupo empleando el concepto “dividir-aplicar-combinar” (ungroup()
elimina el agrupamiento).
Puede trabajar con conjuntos de datos en distintos formatos:
data.frame
,data.table
,tibble
, …- bases de datos relacionales (lenguaje SQL), …
- bases de datos Hadoop (paquete
plyrmr
).
En lugar de operar sobre vectores como las funciones base,
opera sobre objetos de este tipo (solo nos centraremos en data.frame
).
B.1.1 Datos de ejemplo
El fichero empleados.RData contiene datos de empleados de un banco. Supongamos por ejemplo que estamos interesados en estudiar si hay discriminación por cuestión de sexo o raza.
load("datos/empleados.RData")
data.frame(Etiquetas = attr(empleados, "variable.labels")) # Listamos las etiquetas
## Etiquetas
## id Código de empleado
## sexo Sexo
## fechnac Fecha de nacimiento
## educ Nivel educativo (años)
## catlab Categoría Laboral
## salario Salario actual
## salini Salario inicial
## tiempemp Meses desde el contrato
## expprev Experiencia previa (meses)
## minoria Clasificación étnica
## sexoraza Clasificación por sexo y raza
attr(empleados, "variable.labels") <- NULL # Eliminamos las etiquetas para que no molesten...