Lista nombrada en programación R

Una lista es un objeto en lenguaje R que consta de elementos heterogéneos. Una lista puede incluso contener arrays, marcos de datos o funciones como sus elementos. La lista se puede crear utilizando la función list() en R. La lista con nombre también se crea con la misma función especificando los nombres de los elementos para acceder a ellos. La lista con nombre también se puede crear usando la función names() para especificar los nombres de los elementos después de definir la lista. En este artículo, aprenderemos a crear una lista con nombre en R usando dos métodos diferentes y diferentes operaciones que se pueden realizar en las listas con nombre.

Sintaxis: nombres(x) <- valor

Parámetros:
x: representa un valor de objeto R
: representa los nombres que se deben dar a los elementos del objeto x

Creación de una lista con nombre

Una lista con nombre se puede crear mediante dos métodos. El primero es asignar los nombres a los elementos mientras se define la lista y otro método es usar la función de nombres() .

Ejemplo 1:
En este ejemplo, vamos a crear una lista con nombre sin usar la función nombres() .

# Defining a list with names
x <- list(mt = matrix(1:6, nrow = 2),
          lt = letters[1:8],
          n = c(1:10))
  
# Print whole list
cat("Whole List:\n")
print(x)

Producción:

Whole List:
$mt
     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6

$lt
[1] "a" "b" "c" "d" "e" "f" "g" "h"

$n
 [1]  1  2  3  4  5  6  7  8  9 10

Ejemplo 2:
En este ejemplo, vamos a definir los nombres de los elementos de la lista usando la función nombres() después de definir la lista.

# Defining list
x <- list(matrix(1:6, nrow = 2),
          letters[1:8],
          c(1:10))
  
# Print whole list
cat("Whole list:\n")
print(x)

Producción:

Whole list:
[[1]]
     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6

[[2]]
[1] "a" "b" "c" "d" "e" "f" "g" "h"

[[3]]
 [1]  1  2  3  4  5  6  7  8  9 10

Acceder a los componentes de la lista con nombre

Se puede acceder fácilmente a los componentes de una lista con nombre mediante el operador $.

Ejemplo:

# Defining a list with names
x <- list(mt = matrix(1:6, nrow = 2),
          lt = letters[1:8],
          n = c(1:10))
  
# Print list elements using the names given
# Prints element of the list named "mt"
cat("Element named 'mt':\n")
print(x$mt)
cat("\n")
  
# Print element of the list named "n"
cat("Element named 'n':\n")
print(x$n)

Producción:

Element named 'mt':
     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6

Element named 'n':
 [1]  1  2  3  4  5  6  7  8  9 10

Modificación de componentes de Lista con nombre

Los componentes de la lista nombrada se pueden modificar asignándoles nuevos valores.

Ejemplo:

# Defining a named list
lt <- list(a = 1,
           let = letters[1:8],
           mt = matrix(1:6, nrow = 2))
  
cat("List before modifying:\n")
print(lt)
  
# Modifying element named 'a'
lt$a <- 5
  
cat("List after modifying:\n")
print(lt)

Producción:

List before modifying:
$a
[1] 1

$let
[1] "a" "b" "c" "d" "e" "f" "g" "h"

$mt
     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6

List after modifying:
$a
[1] 5

$let
[1] "a" "b" "c" "d" "e" "f" "g" "h"

$mt
     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6

Eliminación de componentes de la lista con nombre

Para eliminar elementos de la lista nombrada, usaremos la función within() y el resultado se asignará a la lista nombrada en sí.

Ejemplo:

# Defining a named list
lt <- list(a = 1,
           let = letters[1:8],
           mt = matrix(1:6, nrow = 2))
  
cat("List before deleting:\n")
print(lt)
  
# Modifying element named 'a'
lt <- within(lt, rm(a))
  
cat("List after deleting:\n")
print(lt)

Producción:

List before deleting:
$a
[1] 1

$let
[1] "a" "b" "c" "d" "e" "f" "g" "h"

$mt
     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6

List after deleting:
$let
[1] "a" "b" "c" "d" "e" "f" "g" "h"

$mt
     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6

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 *