Comment ajouter des valeurs à une liste dans R (avec des exemples)



Vous pouvez utiliser la syntaxe suivante pour ajouter une seule valeur à une liste dans R :

#get length of list called my_list
len <- length(my_list)

#append value of 12 to end of list
my_list[[len+1]] <- 12

Et vous pouvez utiliser la syntaxe suivante pour ajouter plusieurs valeurs à une liste dans R :

#get length of list called my_list
len <- length(my_list)

#define values to append to list
new <- c(3, 5, 12, 14)

#append values to list
i = 1
while(i <= length(new)) {
    my_list[[i+len]] <- new[i]
    i <- i + 1
}

Les exemples suivants montrent comment utiliser chacune de ces fonctions dans la pratique.

Exemple 1 : ajouter une valeur unique à une liste

Supposons que nous ayons la liste suivante dans R :

#create list
my_list <- list(7, 14, c(1, 2, 3))

#view list
my_list

[[1]]
[1] 7

[[2]]
[1] 14

[[3]]
[1] 1 2 3

Nous pouvons utiliser la syntaxe suivante pour ajouter la valeur 12 à la fin de la liste :

#get length of list
len <- length(my_list)

#append value to end of list
my_list[[len+1]] <- 12

#view list
my_list

[[1]]
[1] 7

[[2]]
[1] 14

[[3]]
[1] 1 2 3

[[4]]
[1] 12

Exemple 2 : ajouter plusieurs valeurs à une liste

Supposons que nous ayons la liste suivante dans R :

#create list
my_list <- list(7, 14, c(1, 2, 3))

#view list
my_list

[[1]]
[1] 7

[[2]]
[1] 14

[[3]]
[1] 1 2 3

Nous pouvons utiliser la syntaxe suivante pour ajouter plusieurs valeurs à la fin de la liste :

#get length of list
len <- length(my_list)

#define values to append to list
new <- c(3, 5, 12, 14)

#append values to list
i = 1
while(i <= length(new)) {
    my_list[[i+len]] <- new[i]
    i <- i + 1
}

#display updated list
my_list

[[1]]
[1] 7

[[2]]
[1] 14

[[3]]
[1] 1 2 3

[[4]]
[1] 3

[[5]]
[1] 5

[[6]]
[1] 12

[[7]]
[1] 14

Ressources additionnelles

Comment ajouter des valeurs à un vecteur dans R
Comment ajouter des lignes à un bloc de données dans R

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *