¿Cómo agregar un par de valores clave a la lista en R?

Un par clave-valor se puede explicar como un conjunto de dos elementos de datos vinculados donde una clave identifica de forma única un valor o un conjunto de valores en los datos. Dado que una lista puede contener varios tipos de datos, podemos tener un par clave-valor almacenado en la lista

Método 1: 

Podemos asignar variables a cada clave y valor. Almacene cada par clave-valor después de crear la lista usando corchetes.

R

rm(list = ls())
 
# create key value variables
key1 <- "Age"
value1 <- 21
 
key2 <- "Name"
value2 <- "Pulkit"
 
# create the list
mylist <- list()
 
# Build up key value pairs
mylist[[ key1 ]] <- value1
mylist[[ key2 ]] <- value2
 
# Access value using the key
print(mylist$Age)
print(mylist$Name)

Producción:

21
Pulkit

Método 2: 

Otra forma de hacer esto sin usar variables adicionales es especificar la clave y el valor en la función list() al crear la lista.

Ejemplo

R

rm(list = ls())
 
# Creating the list
mylist<-list("Name"="Pulkit","Age"=21,
             "Gender"="Male")
 
# Access value using the key
print(mylist$Age)
print(mylist$Gender)

Producción:

21
Male

Método 3: Usar setNames()

Otro enfoque que podemos tomar para agregar un par clave-valor en la lista es la función setNames() y dentro de ella, usamos as.list() . Básicamente, lo que tendremos aquí es una sintaxis como la que se muestra a continuación, que creará una lista y asignará todas las claves con sus respectivos valores. 

Sintaxis:

variable<-setNames(as.list(valores), claves)

Ejemplo:

R

rm(list = ls())
 
# initialize keys and respected values
students <- c("Pulkit", "Ritika", "Parth",
              "Vishesh", "Dharvik", "krishav",
              "Reshav")
 
marks <- c(75, 92, 97, 80, 85, 87, 52)
 
# make the list
results <- setNames(as.list(marks), students)
 
# Access value using the key
print(results$Pulkit)

Producción:

 75

Publicación traducida automáticamente

Artículo escrito por pulkit12dhingra 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 *