English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
As listas são conjuntos de objetos do R, usados para armazenar diferentes tipos de dados, podem ser números, strings, vetores, outra lista, etc., claro, também podem incluir matrizes e funções.
O R cria listas usando a função list().
Como exemplo, criamos uma lista que contém strings, vetores e números:
list_data <- list("w3codebox", "google", c(11,22,33), 123, 51.23, 119.1) print(list_data)
O resultado da execução do código acima é:
[[1]] [1] "w3codebox" [[2]] [1]] "google" [[3]] [1] 11 22 33 [[4]] [1] 123 [[5]] [1] 51.23
Podemos usar a função names() para nomear os elementos da lista:
# Lista contém vetores, matrizes e listas list_data <- list(c("Google","w3codebox","Taobao"), matrix(c(1,2,3,4,5,6), nrow = 2), list("w3codebox",12.3)) # Atribuição de nomes aos elementos da lista names(list_data) <- c("Sites", "Números", "Listas") # Exibir a lista print(list_data)
O resultado da execução do código acima é:
$Sites [1]] "Google" "w3codebox" "Taobao" $Numbers [1],2],3] [1,] 1 3 5 [2,] 2 4 6 $Lists $Lists[[1]] [1] "w3codebox" $Lists[[2]] [1] 12.3
Os elementos da lista podem ser acessados usando índices, se usar names() Após nomear a função, podemos acessá-la usando o nome correspondente:
# Lista contém vetores, matrizes e listas list_data <- list(c("Google","w3codebox","Taobao"), matrix(c(1,2,3,4,5,6), nrow = 2), list("w3codebox",12.3)) # Atribuição de nomes aos elementos da lista names(list_data) <- c("Sites", "Números", "Listas") # Exibir a lista print(list_data[1)] # Acessar o terceiro elemento da lista print(list_data[3)] # Acessar o primeiro elemento da matriz print(list_data$Numbers)
O resultado da execução do código acima é:
$Sites [1]] "Google" "w3codebox" "Taobao" $Lists $Lists[[1]] [1] "w3codebox" $Lists[[2]] [1] 12.3 [1],2],3] [1,] 1 3 5 [2,] 2 4 6
Podemos realizar operações de adição, exclusão e atualização em listas, conforme o exemplo a seguir:
# Lista contém vetores, matrizes e listas list_data <- list(c("Google","w3codebox","Taobao"), matrix(c(1,2,3,4,5,6), nrow = 2), list("w3codebox",12.3)) # Atribuição de nomes aos elementos da lista names(list_data) <- c("Sites", "Números", "Listas") # Adição de elemento list_data[4] <- "Novo elemento" print(list_data[4)] # Exclusão de elemento list_data[4] <- NULL # Após a exclusão, a saída será NULL print(list_data[4)] # Atualização de elemento list_data[3] <- "Eu substituo o terceiro elemento" print(list_data[3)]
O resultado da execução do código acima é:
[[1]] [1] "Novo elemento" $<NA> NULL $Lists [1] "Eu substituo o terceiro elemento"
Podemos usar a função c() para combinar várias listas em uma única lista:
# Criação de duas listas list1 <- list(1,2,3) list2 <- list("Google","w3codebox","Taobao") # Combinar listas merged.list <- c(list1,list2) # Exibe a lista combinada print(merged.list)
O resultado da execução do código acima é:
[[1]] [1] 1 [[2]] [1] 2 [[3]] [1] 3 [[4]] [1] "Google" [[5]] [1] "w3codebox" [[6]] [1] "Taobao"
Para converter uma lista em um vetor, você pode usar a função unlist(), que permite que você converta uma lista em um vetor, facilitando operações aritméticas:
# Criação de lista list1 <- list(1:5) print(list1) list2 <-list(10:14) print(list2) # Conversão para vetor v1 <- unlist(list1) v2 <- unlist(list2) print(v1) print(v2) # Soma de dois vetores result <- v1+v2 print(result)
O resultado da execução do código acima é:
[[1]] [1] 1 2 3 4 5 [[1]] [1] 10 11 12 13 14 [1] 1 2 3 4 5 [1] 10 11 12 13 14 [1] 11 13 15 17 19