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

Listes en R

La liste est une collection d'objets dans le langage R, utilisée pour stocker différents types de données, qui peuvent être des nombres, des chaînes de caractères, des vecteurs, une autre liste, etc., bien sûr, elle peut également contenir des matrices et des fonctions.

Le langage R crée des listes en utilisant la fonction list().

Dans l'exemple suivant, nous créons une liste qui contient des chaînes de caractères, des vecteurs et des nombres :

list_data <- list("w3codebox", "google", c(11,22,33), 123, 51.23, 119.1)
print(list_data)

Le résultat de l'exécution du code suivant est :

[[1]]
[1] "w3codebox"
[[2]]
[1] "google"
[[3]]
[1] 11 22 33
[[4]]
[1] 123
[[5]]
[1] 51.23

Nous pouvons utiliser la fonction names() pour nommer les éléments de la liste :

# La liste contient des vecteurs, des matrices et des listes
list_data <- list(c("Google","w3codebox","Taobao"), matrix(c(1,2,3,4,5,6), nrow = 2),
   list("w3codebox",12.3))
# Nommer les éléments de la liste
names(list_data) <- c("Sites", "Numbers", "Lists")
# Affichage de la liste
print(list_data)

Le résultat de l'exécution du code suivant est :

$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

Accès à la liste

Les éléments de la liste peuvent être accédés par index, si nous utilisons pour names() Après avoir nommé la fonction, nous pouvons également l'accéder par son nom :

# La liste contient des vecteurs, des matrices et des listes
list_data <- list(c("Google","w3codebox","Taobao"), matrix(c(1,2,3,4,5,6), nrow = 2),
   list("w3codebox",12.3))
# Nommer les éléments de la liste
names(list_data) <- c("Sites", "Numbers", "Lists")
# Affichage de la liste
print(list_data[1])
# Accès au troisième élément de la liste
print(list_data[3])
# Accès à l'élément du premier vecteur
print(list_data$Numbers)

Le résultat de l'exécution du code suivant est :

$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

Opération sur les éléments de la liste

Nous pouvons effectuer des opérations d'ajout, de suppression et de mise à jour sur la liste, comme dans l'exemple suivant :

# La liste contient des vecteurs, des matrices et des listes
list_data <- list(c("Google","w3codebox","Taobao"), matrix(c(1,2,3,4,5,6), nrow = 2),
   list("w3codebox",12.3))
# Nommer les éléments de la liste
names(list_data) <- c("Sites", "Numbers", "Lists")
# Ajout d'un élément
list_data[4] <- "Nouvel élément"
print(list_data[4])
# Suppression d'un élément
list_data[4] <- NULL
# La suppression donne NULL
print(list_data[4])
# Mise à jour de l'élément
list_data[3] <- "Je remplace le troisième élément"
print(list_data[3])

Le résultat de l'exécution du code suivant est :

[[1]]
[1] "Nouvel élément"
$<NA>
NULL
$Lists
[1] "Je remplace le troisième élément"

Fusion de listes

Nous pouvons utiliser la fonction c() pour fusionner plusieurs listes en une seule liste :

# Création de deux listes
list1 <- list(1,2,3)
list2 <- list("Google","w3codebox","Taobao")
# Fusion de listes
merged.list <- c(list1,list2)
# Affichage de la liste fusionnée
print(merged.list)

Le résultat de l'exécution du code suivant est :

[[1]]
[1] 1
[[2]]
[1] 2
[[3]]
[1] 3
[[4]]
[1] "Google"
[[5]]
[1] "w3codebox"
[[6]]
[1] "Taobao"

Conversion de liste en vecteur

Pour convertir une liste en vecteur, vous pouvez utiliser la fonction unlist(), qui convertit une liste en vecteur et facilite les opérations arithmétiques :

# Création de la liste
list1 <- list(1:5)
print(list1)
list2 <-list(10:14)
print(list2)
# Conversion en vecteur
v1 <- unlist(list1)
v2 <- unlist(list2)
print(v1)
print(v2)
# Addition de deux vecteurs
result <- v1+v2
print(result)

Le résultat de l'exécution du code suivant est :

[[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