Cómo crear listas, secuencias y factores en R con RStudio. Creamos también una función personalizada de ejemplo para uso en R.
- Requisitos para crear listas, secuencias, factores en R.
- Crear listas, secuencias, factores, funciones en R.
Requisitos para crear listas, secuencias, factores en R
El requisito único será disponer de R y RStudio, así como de sus librerías básicas. En el siguiente artículo explicamos cómo instalar R, RStudio y sus librerías básicas:
Crear listas, secuencias, factores, funciones en R
En primer lugar, crearemos una lista llamada «lista», con cuatro campos de diversos tipos. El primer campo, A, contendrá una secuencia de números, desde el 10 al 200, con salto de 4 en cuatro. El segundo campo, B, será una lista de 10 letras, empezando por la c. El tercer campo, C, contendrá un string con el valor «ProyectoA». Y un tercer campo, D, que contendrá TRUE y FALSE, alternativamente, en con
Estos datos los crearemos en una lista con el comando R:
1 |
lista <- list(A = seq(from = 10, to = 200, by = 4), B = letters[3:13], C = c("ProyectoA"), D = (1:30 %% 5 == 0 | 1:30 %% 3 == 0)); |
Para ver la lista creada, ejecutaremos el comando R:
1 |
View(lista) |
Mostraremos el tipo de dato de cada campo de la lista, con el comando R:
1 |
print(lapply(lista, class)); |
Crearemos una función personalizada, convertirFactor, que recorrerá todas las columnas de la lista y convertirá a factor sólo las que sean de tipo character. Esta función devolverá una lista con las conversiones realizadas:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
convertirFactor <- function(ls) { if (!is.null(ls)) { lFactor <- list(); for (i in names(ls)) { if(is.character(ls[[i]])) { lFactor[[length(lFactor) + 1]] <- as.factor(ls[[i]]); } } return(lFactor); } else { return(NULL); } } |
Para ejecutar la función anterior, que hemos copiado en la línea de comandos de RStudio, introduciremos el nombre de la función y le pasaremos como argumento el nombre de la lista que debe recorrer en busca de campos con tipo de datos character:
1 |
convertirFactor(lista) |
Devolviendo:
Un ejemplo para aplicar filtros en R, seleccionaremos aquellos valores del elemento “A”, según lo que se nos indique el elemento “D” (seleccionar aquellos tal que “D” nos diga que CIERTO). Es decir, mostraremos los valores de la columna A cuyo correspondiente de la columna D tenga valor TRUE:
1 |
subset(lista[["A"]],lista[["D"]] == TRUE) |
Para convertir un elemento de la lista a data frame, por ejemplo el elemento A (con valores numéricos), usaremos:
1 |
df <- data.frame(lista["A"]) |
Para añadir dos elementos de la lista a un mismo dataset, por ejemplo el elemento A y D:
1 |
dfAD <- data.frame(lista["A"], lista["D"]) |