lista_1 <- list(mtcars, 1:10, letters)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.
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$leNULL
R Core Team (2023)
Última atualização: 30/04/2025 - 22:50:31