Instalar la librería dslabs y accesar a la base de datos de murders

#install.packages("dslabs")
library(dslabs) 
## Warning: package 'dslabs' was built under R version 4.2.2
data(murders)
str(murders)
## 'data.frame':    51 obs. of  5 variables:
##  $ state     : chr  "Alabama" "Alaska" "Arizona" "Arkansas" ...
##  $ abb       : chr  "AL" "AK" "AZ" "AR" ...
##  $ region    : Factor w/ 4 levels "Northeast","South",..: 2 4 4 2 4 4 1 2 2 2 ...
##  $ population: num  4779736 710231 6392017 2915918 37253956 ...
##  $ total     : num  135 19 232 93 1257 ...
names(murders)
## [1] "state"      "abb"        "region"     "population" "total"
summary(murders)
##     state               abb                      region     population      
##  Length:51          Length:51          Northeast    : 9   Min.   :  563626  
##  Class :character   Class :character   South        :17   1st Qu.: 1696962  
##  Mode  :character   Mode  :character   North Central:12   Median : 4339367  
##                                        West         :13   Mean   : 6075769  
##                                                           3rd Qu.: 6636084  
##                                                           Max.   :37253956  
##      total       
##  Min.   :   2.0  
##  1st Qu.:  24.5  
##  Median :  97.0  
##  Mean   : 184.4  
##  3rd Qu.: 268.0  
##  Max.   :1257.0
length(murders)
## [1] 5
head(murders)
##        state abb region population total
## 1    Alabama  AL  South    4779736   135
## 2     Alaska  AK   West     710231    19
## 3    Arizona  AZ   West    6392017   232
## 4   Arkansas  AR  South    2915918    93
## 5 California  CA   West   37253956  1257
## 6   Colorado  CO   West    5029196    65

Instalar el paquete dplyr

#install.packages("dplyr")
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
data("murders")

Ahora vamos a usar la función mutate, puede agregar o modificar una columna (variable).

murders<-mutate(murders,rate=total/population*100000)

Ahora usar la función FILTER, nos filtra la información. En este caso filtra los estados más “seguros”.

filter(murders,rate<=0.71)
##           state abb        region population total      rate
## 1        Hawaii  HI          West    1360301     7 0.5145920
## 2          Iowa  IA North Central    3046355    21 0.6893484
## 3 New Hampshire  NH     Northeast    1316470     5 0.3798036
## 4  North Dakota  ND North Central     672591     4 0.5947151
## 5       Vermont  VT     Northeast     625741     2 0.3196211

En este caso el siguiente filtro nos muestra los estados con el rate más alto, es decir los más “inseguros” en términos per cápita.

filter(murders,rate>=5)
##                  state abb        region population total      rate
## 1 District of Columbia  DC         South     601723    99 16.452753
## 2            Louisiana  LA         South    4533372   351  7.742581
## 3             Maryland  MD         South    5773552   293  5.074866
## 4             Missouri  MO North Central    5988927   321  5.359892

Usar la función select, vamos a seleccionar algunas columnas (variables) de la base de datos que estamos analizando.

new_table<-select(murders, state, region,rate)
filter(new_table,rate<=0.71)
##           state        region      rate
## 1        Hawaii          West 0.5145920
## 2          Iowa North Central 0.6893484
## 3 New Hampshire     Northeast 0.3798036
## 4  North Dakota North Central 0.5947151
## 5       Vermont     Northeast 0.3196211

Uso del operador pipe %>% , con esta función evitamos crear una tabla alterna (new_table). Es más directo la selección y el filtrado.

murders %>% select(state,region,rate) %>% filter(rate<=0.71)
##           state        region      rate
## 1        Hawaii          West 0.5145920
## 2          Iowa North Central 0.6893484
## 3 New Hampshire     Northeast 0.3798036
## 4  North Dakota North Central 0.5947151
## 5       Vermont     Northeast 0.3196211

Referencias bibliográficas Irizarry Rafael (2021) Introducción a la ciencia de datos. Análisis de datos y algoritmos de predicción con R. Harvard. MA EEUU.