web-dev-qa-db-fra.com

Supprimez les noms du vecteur nommé et obtenez uniquement les valeurs

J'ai un vecteur comme ci-dessous

tmp <- c(a=1, b=2, c=3)

a b c
1 2 3

Je veux aplatir ce vecteur pour obtenir seulement 1, 2, 3.

J'ai essayé unlist(tmp) mais cela me donne toujours le même résultat.

Comment y parvenir efficacement?

6
sertsedat

Vous souhaitez simplement supprimer l'attribut names de tmp. Il y a plusieurs façons de procéder.

Vous pouvez unname.

unname(tmp)
# [1] 1 2 3

Ou utilisez une méthode très courante pour supprimer des noms, en les définissant sur NULL.

names(tmp) <- NULL

Ou supprimez les attributs avec as.vector.

as.vector(tmp)
# [1] 1 2 3

Ou re-concaténer sans les noms.

c(tmp, use.names=FALSE)
# [1] 1 2 3

Ou utilisez setNames.

setNames(tmp, NULL)
# [1] 1 2 3
20
Rich Scriven