Bienvenides al paquetes de funciones elementales desarrollado por Academia I (AI).
Las funciones de este paquete han sido creadas y desarrolladas para
quienes se inician en R
y necesitan empezar a manipular datos sin
tener que memorizar largas instrucciones ni buscar cómo redactarlas,
instrucciones (y su respectiva documentación) que en su totalidad se
encuentran en inglés.
Esta versión de las funciones elementales de AI se encuentra en español
(castellano en estricto rigor; no existe el idioma “español”) para
facilitar la iniciación en R
de la comunidad castizoparlante.
There is an English version at https://github.com/academia-i/ai.elementalr.en.
Se recomienda dejar de usar progresivamente este paquete a medida que se
adquiera mayor experiencia y conocimiento del lenguaje de programación
de R
y su mecánica básica. Mientras tanto, es una herramienta útil
para lidiar con problemas básicos de manipulación de objetos y
transformaciones de datos en data frames.
Para instalar este paquete deben ejecutarse las siguientes instrucciones
en el terminal de R
:
# Comprobamos primero si está instalado el paquete "devtools"
if(!require(devtools)) install.packages("devtools")
# Instalamos el paquete desde github
devtools::install_github("academia-i/ai.elementalr.es", build_vignettes = TRUE)
Empieza a usar las funciones del paquete. Para entender qué hacen (y por qué), puedes leer la viñeta que lo acompaña. Para ello debes ejecutar el siguiente comando:
vignette("ai-elementalr-es")
# Nótese que aquí 👆 los elementos del nombre del paquete se separan con guiones
A grandes rasgos, las funciones de este paquete simplifican la
manipulación de datos y objetos. Supongamos que queremos aplicar la
siguiente secuencia de manipulación y transformaciones a los datos a
mtcars
:
Así se realizarían con las funciones de la base de R:
data(mtcars)
str(mtcars)
#> 'data.frame': 32 obs. of 11 variables:
#> $ mpg : num 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
#> $ cyl : num 6 6 4 6 8 6 8 4 4 6 ...
#> $ disp: num 160 160 108 258 360 ...
#> $ hp : num 110 110 93 110 175 105 245 62 95 123 ...
#> $ drat: num 3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
#> $ wt : num 2.62 2.88 2.32 3.21 3.44 ...
#> $ qsec: num 16.5 17 18.6 19.4 17 ...
#> $ vs : num 0 0 1 1 0 1 0 1 1 1 ...
#> $ am : num 1 1 1 0 0 0 0 0 0 0 ...
#> $ gear: num 4 4 4 3 3 3 3 4 4 4 ...
#> $ carb: num 4 4 1 1 2 1 4 2 2 4 ...
# El largo y enrevesado código de R base
mtcars[,1:5] <- sapply(mtcars[,1:5], as.character) # 1.
mtcars[,2:5] <- sapply(mtcars[,2:5], as.numeric) # 2.
mtcars[,1] <- NA # 3.
mtcars[,(NCOL(mtcars)-2):NCOL(mtcars)] <-
sapply(mtcars[,(NCOL(mtcars)-2):NCOL(mtcars)], as.character) # 4.
mtcars[,c("wt", "qsec")] <-
format(round(mtcars[,c("wt", "qsec")], digits = 2), nsmall = 2,
decimal.mark = ",") # 5.
mtcars[is.na(mtcars)] <- 0 # 6.
# Volvemos a revisar la estructura para corroborar la aplicación de las transformaciones
str(mtcars)
#> 'data.frame': 32 obs. of 11 variables:
#> $ mpg : num 0 0 0 0 0 0 0 0 0 0 ...
#> $ cyl : num 6 6 4 6 8 6 8 4 4 6 ...
#> $ disp: num 160 160 108 258 360 ...
#> $ hp : num 110 110 93 110 175 105 245 62 95 123 ...
#> $ drat: num 3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
#> $ wt : 'AsIs' chr "2,62" "2,88" "2,32" "3,21" ...
#> $ qsec: 'AsIs' chr "16,46" "17,02" "18,61" "19,44" ...
#> $ vs : num 0 0 1 1 0 1 0 1 1 1 ...
#> $ am : chr "1" "1" "1" "0" ...
#> $ gear: chr "4" "4" "4" "3" ...
#> $ carb: chr "4" "4" "1" "1" ...
En cambio, con las funciones de este paquete, la manipulación y transformación queda reducido a esto:
library("magrittr")
library("ai.elementalr.es")
data(mtcars)
# El simple y fácil de recordar código de ai.elementalr.es
mtcars <- a_caracteres(mtcars, 1:5) %>% # 1.
a_numeros(2:5) %>% # 2.
a_nas(1) %>% # 3.
a_caracteres((NCOL(mtcars)-2):NCOL(mtcars)) %>% # 4.
formatear_num(columnas = c("wt", "qsec"), decs = 2, sep_decs = ",") %>% # 5.
a_cero() # 6.
# Volvemos a revisar la estructura para corroborar la aplicación de las transformaciones
str(mtcars)
#> 'data.frame': 32 obs. of 11 variables:
#> $ mpg : num 0 0 0 0 0 0 0 0 0 0 ...
#> $ cyl : num 6 6 4 6 8 6 8 4 4 6 ...
#> $ disp: num 160 160 108 258 360 ...
#> $ hp : num 110 110 93 110 175 105 245 62 95 123 ...
#> $ drat: num 3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
#> $ wt : chr "2,62" "2,88" "2,32" "3,21" ...
#> $ qsec: chr "16,46" "17,02" "18,61" "19,44" ...
#> $ vs : num 0 0 1 1 0 1 0 1 1 1 ...
#> $ am : chr "1" "1" "1" "0" ...
#> $ gear: chr "4" "4" "4" "3" ...
#> $ carb: chr "4" "4" "1" "1" ...
Puedes encontrar más información sobre el uso, las otras funciones y alcance del paquete en su página oficial: https://academia-i.com/desarrollo/r/elementalr
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.