5.2 Operaciones con variables (columnas)

Podemos seleccionar variables con select():

emplea2 <- empleados %>% select(id, sexo, minoria, tiempemp, salini, salario)
head(emplea2)
##   id   sexo minoria tiempemp salini salario
## 1  1 Hombre      No       98  27000   57000
## 2  2 Hombre      No       98  18750   40200
## 3  3  Mujer      No       98  12000   21450
## 4  4  Mujer      No       98  13200   21900
## 5  5 Hombre      No       98  21000   45000
## 6  6 Hombre      No       98  13500   32100

Se puede cambiar el nombre (ver también rename()):

empleados %>% select(sexo, noblanca = minoria, salario) %>% head()
##     sexo noblanca salario
## 1 Hombre       No   57000
## 2 Hombre       No   40200
## 3  Mujer       No   21450
## 4  Mujer       No   21900
## 5 Hombre       No   45000
## 6 Hombre       No   32100

Se pueden emplear los nombres de variables como índices:

empleados %>% select(sexo:salario) %>% head()
##     sexo    fechnac educ         catlab salario
## 1 Hombre 1952-02-03   15      Directivo   57000
## 2 Hombre 1958-05-23   16 Administrativo   40200
## 3  Mujer 1929-07-26   12 Administrativo   21450
## 4  Mujer 1947-04-15    8 Administrativo   21900
## 5 Hombre 1955-02-09   15 Administrativo   45000
## 6 Hombre 1958-08-22   15 Administrativo   32100
# empleados %>% select(-(sexo:salario)) %>% head()
empleados %>% select(!(sexo:salario)) %>% head()
##   id salini tiempemp expprev minoria      sexoraza
## 1  1  27000       98     144      No  Blanca varón
## 2  2  18750       98      36      No  Blanca varón
## 3  3  12000       98     381      No Minoría varón
## 4  4  13200       98     190      No Minoría varón
## 5  5  21000       98     138      No  Blanca varón
## 6  6  13500       98      67      No  Blanca varón

Se pueden emplear distintas herramientas (selection helpers) para seleccionar variables (ver paquete tidyselect):

Por ejemplo:

empleados %>% select(starts_with("s")) %>% head()
##     sexo salario salini      sexoraza
## 1 Hombre   57000  27000  Blanca varón
## 2 Hombre   40200  18750  Blanca varón
## 3  Mujer   21450  12000 Minoría varón
## 4  Mujer   21900  13200 Minoría varón
## 5 Hombre   45000  21000  Blanca varón
## 6 Hombre   32100  13500  Blanca varón

Podemos crear variables con mutate():

emplea2 %>% mutate(incsal = salario - salini, tsal = incsal/tiempemp) %>% head()
##   id   sexo minoria tiempemp salini salario incsal      tsal
## 1  1 Hombre      No       98  27000   57000  30000 306.12245
## 2  2 Hombre      No       98  18750   40200  21450 218.87755
## 3  3  Mujer      No       98  12000   21450   9450  96.42857
## 4  4  Mujer      No       98  13200   21900   8700  88.77551
## 5  5 Hombre      No       98  21000   45000  24000 244.89796
## 6  6 Hombre      No       98  13500   32100  18600 189.79592