J'ai une liste et je veux en retirer un seul élément. Comment puis-je faire ceci?
J'ai essayé de chercher ce que je pense que les noms évidents pour cette fonction seraient dans le manuel de référence et je n'ai rien trouvé de approprié.
J'ai une liste et je veux en retirer un seul élément. Comment puis-je faire ceci?
J'ai essayé de chercher ce que je pense que les noms évidents pour cette fonction seraient dans le manuel de référence et je n'ai rien trouvé de approprié.
Si vous ne voulez pas modifier la liste en place (par exemple en passant de la liste avec un élément supprimé à une fonction), vous pouvez utiliser l’indexation : les indices négatifs signifient « n’incluent pas cet élément ».
En outre, les vecteurs index logique sont utiles :
Cela fonctionne aussi avec dataframes :
Je ne sais pas de R à tous, mais un peu de créativité recherche sur google m'a conduit ici: http://tolstoy.newcastle.edu.au/R/help/05/04/1919.html
La clé de citation de:
Je ne trouve pas la documentation explicite pour les R sur la façon de supprimer des éléments dans des listes, mais essai et d'erreur me dit
myList[[5]] <- NULL
va supprimer le 5ème élément, puis "fermer" le trou causé par la suppression de cet élément. Que suffles les valeurs de l'index, Donc je dois faire attention en déplaçant des éléments. Je dois travailler à partir de la fin de la liste à l'avant.
Une réponse à ce post plus tard dans le fil d' états:
Pour supprimer un élément d'une liste, voir R FAQ 7.1
Et la section pertinente de la R FAQ dit:
... De ne pas définir x[i] x[[i]], NULL, car cela permettra d'éliminer l'élément correspondant de la liste.
Ce qui semble vous dire (en un peu en arrière en chemin), comment faire pour supprimer un élément.
Hope qui aide, ou au moins vous mène dans la bonne direction.
Si vous avez un nom de liste et que vous souhaitez supprimer un élément spécifique, vous pouvez essayer:
lst <- list(a = 1:4, b = 4:8, c = 8:10)
if("b" %in% names(lst)) lst <- lst[ - which(names(lst) == "b")]
Cela permettra de faire une liste lst
éléments a
, b
, c
. La deuxième ligne supprime l'élément b
après il vérifie qu'il existe (pour éviter le problème @hjv mentionné).
ou mieux:
lst$b <- NULL
De cette manière, il n'est pas un problème pour essayer de supprimer inexistante de l'élément (par exemple, lst$g <- NULL
)
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.