English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Listas no R

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

Acessar a lista

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

Operar elementos da lista

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"

Combinar listas

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"

Conversão de lista para vetor

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