Acceda a los nombres de índice de la lista usando la función lapply en R

El método lapply() del lenguaje de programación R devuelve una lista de la misma longitud que la del vector proporcionado, cada elemento del cual se obtiene como resultado de aplicar FUN al elemento correspondiente del vector.

Sintaxis:

lapply (X, DIVERSIÓN, )

Parámetro: 

X: un vector atómico o una lista para aplicar la función en

FUN: la función que se aplicará sobre cada elemento de X. 

Método 1: Usar seq_along()

El método seq_along() en R se usa para generar una secuencia de elementos de una longitud equivalente a la longitud de entrada del argumento pasado. La secuencia generada siempre comienza con los valores enteros a partir de 1. 

Sintaxis:

secuencia_a lo largo (X)

Parámetro: 

X – argumento pasado

La secuencia generada por seq_along() se pasa como primer argumento de la función lapply(). La función FUN comprende la concatenación de los nombres asignados a los diferentes componentes de la lista a los que se puede acceder mediante el índice y el nombre de la lista junto con los vectores de los componentes o los valores de la lista anexados mediante el separador de coma. Se puede acceder a los nombres de índice de la lista especificada utilizando la siguiente sintaxis: 

nombres (lista-obj)[[index-cntr]]

Se puede acceder a los valores de los elementos usando la siguiente sintaxis: 

lista-obj [[index-cntr]]

Ejemplo:

R

# declaring and creating a list
lst <- list(ele1 = 1:5,       
                ele2 = c(FALSE,TRUE),
                ele3 = LETTERS[4:9])
 
# printing list contents
print ("List contents : ")
print (lst)
 
# accessing elements
print ("Accessing elements : ")
lapply(seq_along(lst),
       function(i) paste(names(lst)[[i]],
                         "->",
                         paste(lst[[i]], collapse = ", ")))

Producción 

[1] "List contents : " 
$ele1 
[1] 1 2 3 4 5  
$ele2 
[1] FALSE  TRUE  
$ele3 
[1] "D" "E" "F" "G" "H" "I"  
[1] "Accessing elements : "
[[1]] 
[1] "ele1 -> 1, 2, 3, 4, 5"  
[[2]] 
[1] "ele2 -> FALSE, TRUE"  
[[3]] 
[1] "ele3 -> D, E, F, G, H, I" 

Método 2: Usando seq()

El método seq() también se puede usar para recorrer la lista y sus componentes individualmente. El método funciona de manera similar al método seq_along(). 

La función seq() en R se usa para crear una secuencia de elementos en un Vector. Toma la longitud y la diferencia entre valores como argumento opcional. 

Sintaxis:
seq(from, to, by, length.out)

Parámetros:
from: Elemento inicial de la secuencia
to: Elemento final de la secuencia
by: Diferencia entre los elementos
length.out: Longitud máxima del vector

Ejemplo: 

R

# declaring and creating a list
lst <- list(ele1 = 1:5,       
                ele2 = c(FALSE,TRUE),
                ele3 = LETTERS[4:9])
 
# printing list contents
print ("List contents : ")
print (lst)
 
# accessing elements
print ("Accessing elements : ")
lapply(seq(lst),
       function(i) paste(names(lst)[[i]], "->",
                         paste(lst[[i]], collapse = ", ")))

Producción 

[1] "List contents : " 
$ele1 
[1] 1 2 3 4 5  
$ele2 
[1] FALSE  TRUE  
$ele3 
[1] "D" "E" "F" "G" "H" "I"  
[1] "Accessing elements : "
[[1]] 
[1] "ele1 -> 1, 2, 3, 4, 5"  
[[2]] 
[1] "ele2 -> FALSE, TRUE"  
[[3]] 
[1] "ele3 -> D, E, F, G, H, I" 

Publicación traducida automáticamente

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