7  Listas

Status 🟨🟨🟨

7.1 Introdução

Listas são objetos que armazenam outros objetos, podendo ser de variados tipos.

7.2 Criando Listas

Abaixo um exemplo de criação de lista através da função list. Os seus componentes serão um data frame, um vetor de números de 1 até 10 e um vetor com as letras do alfabeto.

lista_1 <- list(mtcars, 1:10, letters)

7.3 Acessando Componentes

Para acessar os elementos das listas pode-se usar o operador [[…]].

class(lista_1[[1]])
[1] "data.frame"

Deve-se tomar cuidado ao usar o operador [], pois este operador é genérico e não retorna o componente 1 da lista em sua “forma” original e sim de uma lista contendo o objeto da lista original. Desta forma, não é possível fazer extração de objetos do vetor retornado.

class(lista_1[1])
[1] "list"
lista_1[2][5]
[[1]]
NULL

Usando [[...]] o objeto retornado mantém sua forma original e a extração ocorre normalmente.

class(lista_1[[2]])
[1] "integer"
lista_1[[2]][5]
[1] 5

7.4 Nomeando Componentes

Os componentes das listas podem ser nomeados com a função names.

names(lista_1) <- c('df_mtcars', 'vetor', 'letras')
lista_1$letras
 [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s"
[20] "t" "u" "v" "w" "x" "y" "z"
identical(lista_1$letras, lista_1[[3]])
[1] TRUE
identical(lista_1$letras, lista_1[['letras']])
[1] TRUE

7.4.1 Nomes Abreviados

Para acessar componentes de listas nomeadas é possível informar seus nomes de forma abreviada.

lista_1$le
 [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s"
[20] "t" "u" "v" "w" "x" "y" "z"
#equivalente a 
lista_1$letras
 [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s"
[20] "t" "u" "v" "w" "x" "y" "z"

Veja que a abreviação deve identificar de forma exclusiva os componentes, caso contrário o valor retornado é NULL. A lista_3 possui dois componentes que começam com ‘le’ e assim não é possível fazer a seleção.

lista_3 <- list(letras = letters[1:10], letras_maiusculas = LETTERS[1:10])

lista_3$le
NULL

R Core Team (2023)

Última atualização: 11/10/2024 - 21:51:19