Crear array y marco de datos a partir de listas en programación R

En la programación R , hay 5 objetos básicos . Las listas son los objetos que pueden contener tipos heterogéneos de elementos, a diferencia de los vectores. Las arrays pueden contener el mismo tipo de elementos o elementos homogéneos. Por otro lado, los marcos de datos son similares a las arrays pero tienen una ventaja sobre las arrays para mantener elementos heterogéneos. En este artículo, aprenderemos a crear arrays y marcos de datos usando listas.

Crear array usando lista

Las arrays se crean utilizando matrix()la función en la programación R. Otra función que se utilizará es unlist()la función para convertir las listas en un vector. El vector creado contiene componentes atómicos de la lista dada.

Sintaxis:
unlist(x, recursivo = VERDADERO, use.names = VERDADERO)

Parámetros:

x: representa lista
recursiva: representa valor lógico. Si es FALSO, la función no se repetirá más allá del primer nivel de la lista
use.names: representa el valor lógico para preservar la información de nombres

Ejemplo 1:

# Defining list
ls1 <- list(
  list(1, 2, 3),
  list(4, 5, 6))
  
# Print list
cat("The list is:\n")
print(ls1)
cat("Class:", class(ls1), "\n")
  
# Convert list to matrix
mt1 <- matrix(unlist(ls1), nrow = 2, byrow = TRUE)
  
# Print matrix
cat("\nAfter conversion to matrix:\n")
print(mt1)
cat("Class:", class(mt1), "\n")

Producción:

The list is:
[[1]]
[[1]][[1]]
[1] 1

[[1]][[2]]
[1] 2

[[1]][[3]]
[1] 3


[[2]]
[[2]][[1]]
[1] 4

[[2]][[2]]
[1] 5

[[2]][[3]]
[1] 6

Class: list 

After conversion to matrix:
     [, 1] [, 2] [, 3]
[1, ]    1    2    3
[2, ]    4    5    6

Class: matrix 

Ejemplo 2:

# Defining list
ls2 <- list("A", 10, TRUE, 2i)
  
# Print list
cat("\nThe list is:\n")
print(ls2)
cat("Class:", class(ls2), "\n")
  
# Convert list to matrix
mt2 <- matrix(unlist(ls2), nrow = 2, byrow = TRUE)
  
# Print matrix
cat("\nAfter conversion to matrix:\n")
print(mt2)
cat("Class:", class(mt2), "\n")
cat("\nType:", typeof(mt2), "\n")

Producción:

The list is:
[[1]]
[1] "A"

[[2]]
[1] 10

[[3]]
[1] TRUE

[[4]]
[1] 0+2i

Class: list

After conversion to matrix:
     [, 1]   [, 2]  
[1, ] "A"    "10"  
[2, ] "TRUE" "0+2i"

Class: matrix 

Type: character

Crear marco de datos usando la lista

De la misma manera, el marco de datos se puede crear usando listas usando unlist()función y data.frame()función.

Ejemplo:

# Defining lists
n <- list(1:3)
l <- list(letters[1:3])
m <- list(month.name[1:3])
  
# Convert lists into dataframe columns
df <- data.frame(unlist(n), unlist(l), unlist(m))
  
# Names of columns of dataframe
names(df) <- c("Number", "Letters", "Month")
  
# Print dataframe
cat("The dataframe is :\n")
print(df)

Producción:

The dataframe is :
  Number Letters    Month
1      1       a  January
2      2       b February
3      3       c    March

Publicación traducida automáticamente

Artículo escrito por utkarsh_kumar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *