[1] 6
Introducción a al paquete R
PhD en Estadística, MSc en Analytics & Big Data, MSc en Estadística. Con 20 años de experiencia, actual director de analítica en el CNC, miembro del comité de expertos en pobreza en el DANE y consultor de la División de Estadística de la CEPAL. Ex-decano de la Facultad de Estadística USTA, ex-director de operaciones en el ICFES, PM CEV …
Puedes encontrarme en:
setwd(mi/ruta/)
getwd()
Una de las maneras más sencillas de transformar, organizar y resumir los datos es usando el paquete dplyr
dplyr
es del entorno tidyverse
|>
o %>%
filter(condición)
select(var1, var2, ...)
arrange(var)
o arrange(desc(var))
mutate(operación)
summarise()
|>
, %>%
Permite realizar varias operaciones antes de guardar el resultado en un objeto
Operador | Definición |
---|---|
< |
es menor que |
<= |
es menor o igual que |
> |
es mayor que |
>= |
es mayor o igual que |
== |
es exactamente igual a |
!= |
es diferente de |
Operador | Definición |
---|---|
x & y |
x Y y |
x \| y |
x O y |
is.na(x) |
x es NA (valor faltante) |
!is.na(x) |
x no es NA |
x %in% y |
está x en y |
!(x %in% y) |
no está x en y |
Crear un subconjunto de datos desde la ENSIN con los registros de Bogotá y que sean personas de estrato 3 o menos.
library(pacman)
p_load(tidyverse, haven)
url <- "https://github.com/jgbabativam/AnaDatos/raw/main/datos/ENSIN.sav"
ensin <- read_sav(url)
#glimpse(ensin)
#--> Filtro de registros de Bogotá y estrato menor o igual que 3
df_filt <- ensin |>
filter(departamento == 11 & Estrato <= 3)
nrow(df_filt)
[1] 1111
El verbo select(var1, var2, ...)
permite conservar solo las variables de interés.
df_filt <- ensin |>
filter(departamento == 11 & Estrato <= 3) |>
select(llavehog, llaveper, departamento, Estrato, edad, sexo, Peso, Estatura)
head(df_filt)
# A tibble: 6 × 8
llavehog llaveper departamento Estrato edad sexo Peso Estatura
<chr> <chr> <dbl+lbl> <dbl+lbl> <dbl+lbl> <dbl+lbl> <dbl> <dbl>
1 46010101 4601010103 11 [Bogotá] 3 32 2 [Mujer] 61.1 159.
2 46020101 4602010104 11 [Bogotá] 2 13 2 [Mujer] 51 162
3 46020101 4602010105 11 [Bogotá] 2 6 2 [Mujer] 20.7 116.
4 46020201 4602020103 11 [Bogotá] 2 0 2 [Mujer] 6.70 61.6
5 46020201 4602020105 11 [Bogotá] 2 0 2 [Mujer] 5.5 59.9
6 46020301 4602030103 11 [Bogotá] 2 16 2 [Mujer] 51.6 156.
arrange()
Con arrage(var1, var2, ...)
puede ordenar su conjunto de datos por las variables que desee.
df_filt <- ensin |>
filter(departamento == 11 & Estrato <= 3) |>
select(llavehog, llaveper, departamento, Estrato, edad, sexo, Peso, Estatura) |>
arrange(desc(edad))
head(df_filt)
# A tibble: 6 × 8
llavehog llaveper departamento Estrato edad sexo Peso Estatura
<chr> <chr> <dbl+lbl> <dbl+lbl> <dbl+lbl> <dbl+lbl> <dbl> <dbl>
1 46880801 4688080101 11 [Bogotá] 3 49 2 [Mujer] 52.2 152.
2 47111201 4711120102 11 [Bogotá] 3 49 2 [Mujer] 52.8 158
3 47120701 4712070107 11 [Bogotá] 3 49 2 [Mujer] 72 167.
4 47260601 4726060101 11 [Bogotá] 2 49 2 [Mujer] 62 153
5 47630007 4763000702 11 [Bogotá] 3 49 2 [Mujer] 70.9 153.
6 47810009 4781000901 11 [Bogotá] 2 49 2 [Mujer] 72.5 151.
mutate()
mutate()
Para crear una variable con el IMC
# A tibble: 1,111 × 9
llavehog llaveper departamento Estrato edad sexo Peso Estatura imc
<chr> <chr> <dbl+lbl> <dbl+lbl> <dbl> <dbl+l> <dbl> <dbl> <dbl>
1 46880801 4688080101 11 [Bogotá] 3 49 2 [Muj… 52.2 152. 22.5
2 47111201 4711120102 11 [Bogotá] 3 49 2 [Muj… 52.8 158 21.2
3 47120701 4712070107 11 [Bogotá] 3 49 2 [Muj… 72 167. 25.7
4 47260601 4726060101 11 [Bogotá] 2 49 2 [Muj… 62 153 26.5
5 47630007 4763000702 11 [Bogotá] 3 49 2 [Muj… 70.9 153. 30.4
6 47810009 4781000901 11 [Bogotá] 2 49 2 [Muj… 72.5 151. 31.7
7 47880003 4788000302 11 [Bogotá] 2 49 2 [Muj… 60.7 156. 24.9
8 48040801 4804080101 11 [Bogotá] 3 49 2 [Muj… 59.2 152. 25.5
9 48340301 4834030101 11 [Bogotá] 2 49 2 [Muj… 67.1 152. 28.9
10 48357530 4835753001 11 [Bogotá] 2 49 2 [Muj… 62 150. 27.5
# ℹ 1,101 more rows
case_when()