El paquete dplyr es el más útil en R para la manipulación de datos, una de las ventajas es que se pueda usar el pipe para combinar diferentes funciones en R. Para no tener que escribirlo, se genera mediante Ctlr + shift + M. En pocas palabras, reemplaza la “,” para concatenar(unir) varios comandos.
Filtra casos o filas que cumplen con el criterio.
Por ejemplo, acá estamos filtrando de la data a los países en los que más del 50% de personas realizan un gasto de bolsillo
Ordenar las filas según una o más variables. Por default, si no se indica un criterio de orden, se ordenará de forma ascendente.
En este caso, además de realizar un filtro, se ha ordenado a la variable “GastoBolsillo_porc” de mayor a menor
Selecciona columnas o mejor dicho, variables de su conjunto de datos, según nombre. También se puede cambiar el nombre de la variable indicando los nombres en el siguiente orden “Nuevo_nombre = nombreendata”.
En este comando estamos especificando que queremos seleccionar de la data, las variables interés: país y GastoBolsillo_porc; además del filtro y orden que habíamos indicado previamente.
data %>%
filter(GastoBolsillo_porc > 50)%>%
arrange(desc(GastoBolsillo_porc))%>%
select(pais,GastoBolsillo_porc)
#Si quisiera cambiar el nombre de pais por Nombre_pais, debería usar select(Nombre_pais = pais, GastoBolsillo_porc)
Si queremos quitar variable ponemos el signo de menos. Salen todas las variables menos Gasto de bolsillo y generosidad
Crea nuevas columnas conservando las variables existentes. En esta ocasión estamos creando una nueva variable “AltaPerCorru” que toma como punto de corte su tercer cuartil. Si el valor es mayor al 3er cuartil, la nueva variable será 1, sino será 0.
Primero determinemos el valor del punto de corte
Ahora, dentro del comando mutate, estamos usando la función ifelse. Esta función necesita de 4 argumentos: la variable en la que se basa, la condición, el valor si se cumple la condición, y el valor cuando no se cumple la condición
En este caso:
Variable = Percep_corrup
Condición = superar (>) 0.1422
Valor cuando se cumple la condición = 1
Valor cuando no se cumple la condición = 0
Reemplacemos:
Para que la nueva variable se guarde en la data, debemos guardar en un objeto (en este caso es la misma data)
Nos ayuda a contar las observaciones.
Vamos a contar los casos de los países según la percepción de corrupción (MayorPerCorru).
## MayorPerCorru n
## 1 0 75
## 2 1 25
Como lo creamos a partir del tercer cuartil, se presupone que la relación entre los que no tienen una alta corrupción y los que sí es de 3 a 1.
Resume cualquier de las variables de la data, según su tipo. Se le debe indicar una variable a analizar y el tipo de análisis que se le aplicará.
## Media
## 1 6.7825
En este caso, queremos sacar el promedio de la puntuación de Proceso Electoral. Para eso usamos summarise. Mencionamos los datos de la base, luego la variable que se creará en base a ella, este nombre será el encabezado del valor que se genere en la tabla resumen. Luego, indicamos el cálculo que se quiere realizar, y la variable sobre la cual se realizará el mencionado cálculo. Si queremos que se omitan los valores perdidos (de haberlos) debemos indicar dentro del comando de la media “na.rm =T”.
Solo con variables numéricas (ojo)
Agrupa diferentes observaciones de manera que el conjunto de datos original no cambie.
Podemos comparar cómo se califica a los procesos electorales según la percepción de corrupción en un país.
## # A tibble: 2 × 2
## MayorPerCorru Media
## <dbl> <dbl>
## 1 0 6.55
## 2 1 7.48
## # A tibble: 2 × 2
## Generosos media
## <chr> <dbl>
## 1 Menos generosos 5.56
## 2 Más generosos 7.38
Recordemos que con los modelos buscamos medir el efecto de un conjunto de variables independientes sobre una dependiente y también con el modelo creado predecir.
En este modelo es indispensable contar con una variable dependiente numérica continua.
Como se mencionó en la clase anterior, para obtener el mejor modelo con la recta que capte la mayoría de las coordenadas, se realizaba el método de los mínimos cuadrados (el cual ya es calculado por R).
Como no todo es perfecto, para poder realizar este método, se tienen que cumplir 5 supuestos, y así asegurar que el modelo que creemos sea estable y pueda predecir correctamente.
Calcularemos un modelo para predecir el nivel de cultura política en un país según la tasa de cirujanos por mil habitantes
Variable dependiente: indicador de cultura política
Variable independiente: Cirujanos por cada mil personas
Seguimos nuestro flujograma para evaluar el modelo:
¿Qué sucede si ahora agregamos más variables? 😼
Calculamos nuestro modelo, en este caso usaremos lo siguiente:
Variable dependiente: indicador de cultura política
Variables independientes: Cirujanos por cada mil personas (Cirujanos_1000) + Participación digital (ParDig) + Percepción de Corrupción Alta (MayorPerCorru)
modelo1 <- lm(data$Policulture~ data$Cirujanos_1000+
data$ParDig+
data$MayorPerCorru)
summary(modelo1)
##
## Call:
## lm(formula = data$Policulture ~ data$Cirujanos_1000 + data$ParDig +
## data$MayorPerCorru)
##
## Residuals:
## Min 1Q Median 3Q Max
## -4.0899 -1.0188 -0.0692 1.0157 3.6525
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 4.262470 0.382055 11.157 < 2e-16 ***
## data$Cirujanos_1000 0.008425 0.004543 1.855 0.06673 .
## data$ParDig 1.859428 0.764792 2.431 0.01690 *
## data$MayorPerCorru 1.070411 0.362878 2.950 0.00399 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.452 on 96 degrees of freedom
## Multiple R-squared: 0.3115, Adjusted R-squared: 0.29
## F-statistic: 14.48 on 3 and 96 DF, p-value: 7.435e-08
Seguimos nuestro flujograma para evaluar el modelo:
## (Intercept) data$Cirujanos_1000 data$ParDig data$MayorPerCorru
## 4.262469874 0.008424746 1.859427768 1.070411091