Clase 4

Agregar dataframes (data rectangular) desde dplyr.

Cargar paquetes a utilizar

#cargar paquetes
library(dplyr) #funciones para manipular dataframes
## 
## 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
library(gapminder) #paquete a utilizar

Verbos de manipulación

Qué son: funciones pertenecientes al paquete dplyr que ejecutan una acción específica sobre un dataframe y nos entregan un dataframe modificado como resultado

  • filter : filtrado de operaciones
  • select : para seleccionar variables por nombre
  • mutate : crear nuevas variables en base a otras ya disponibles en la data rectangular
  • summarise : crear variables que representan resumenes de otras como el promedio
  • arrange : ordenar las observaciones basado en una o más variables
  • group_by : para cambiar el dominio en que se aplican los verbos a nivel de grupos formados en base a una o más variables

Condición lógica: proposición que su resultado puede tener posibles valores: verdadero o falso Operadores de relación: == : igualdad != : no igualdad > : mayor qué < : menor qué >= : mayor o igual qué <= : menor o igual qué

Los operadores de relación son utilizados para crear condiciones lógicas con variables numéricas o con variables que no son numéricas pero pueden ser repreentadas de alguna forma numérica.

Filtrado de data rectangular según valor de vectores

filter(gapminder, continent == "Americas", year > 2000)

Operadores lógicos: - ! : negación, se antepone ne una condición lógica para invertir su valor - & : “y” lógico, equivalente agregar más de un argumento en filter. - | : “ó” lógico, si se cumple alguna de las condiciones:

#Ejemplo: inversión del signo de la evaluación de la condición lógica
filter(gapminder, continent != "Americas")
#Formas erróneas de usar |
#filter(gapminder, continent == "Americas" | "Asia")
#filter(gapminder, continent == "Americas", continent == "Asia")

Uso del operador “%in%” para escribir de forma correcta la operación anterior

#filtrado de muchas variables con "filter"
#(concentrar en c() las variables después del operador lógico)
filter(gapminder, continent %in% c("Americas", "Asia", "Europe"))
#filtrado inverso (paréntesis extra luego del ! para invertir todo lo seleccionado)
filter(gapminder, !(continent %in% c("Americas", "Asia", "Europe")))

función select:

#"select" para seleccionar varaibles por su nombre
names(gapminder)
## [1] "country"   "continent" "year"      "lifeExp"   "pop"       "gdpPercap"
select(gapminder, country, year, lifeExp)
#función everything para ordenar las variables (se coloca "nombre de la variable, everything()")
#debemos incluir los parentesis para llamar a la función everything()
select(gapminder, year, everything())

otras funciones para usar con select como: - starts_with(“prefijo”) - ends_with(“sufijo”) - contains(“patron”)

función mutate para crear nuevas variables: nos permite crear una nueva variable en nuestro dataframe que se adjunta como columna al final de la tabla.

Vamos a crear “popMillions” en gapminder (el argumento)

#Crear variable con la población en millones
mutate(gapminder, popMillions = pop / 1e6) #1e6 = 1000000
#computar el PIB por cada 
mutate(gapminder, gdp = pop * gdpPercap)
mutate(gapminder, gdp = pop * gdpPercap, 
           gdpMillion = round(gdp / 1e9, 2))
#añadir variable categórica "ifelse" V/F
mutate(gapminder, pos_90 = ifelse(year > 1990, TRUE, FALSE))
#creación de variable promedio
mutate(gapminder, avg_gdpPercap = mean(gdpPercap))

summarise: para resumir valores es similar a mutate pero con el objetivo de crear variables resumenes se crean a partir de funciones que toman un grupo de valores y entregan un solo valor: - count - sum - mean - medium - sd - max - min

summarise(gapminder, avg_gdpPercap = min(gdpPercap))                                                                  

arrange (ordenar)

arrange(gapminder, year)