2 votes

comment obtenir un vecteur ("x", "z") à partir de la chaîne "y ~ x + z" ?

J'ai une chaîne de formules de régression "y ~ x + z" . Comment puis-je obtenir "x" y "z" d'elle ? J'ai besoin de récupérer les noms des colonnes que j'utilise pour la régression

3voto

akrun Points 148302

Nous pouvons convertir la chaîne en formula et récupérer les variables avec all.vars . Le premier élément serait la variable dépendante, il est donc supprimé avec l'indexation ( [-1] )

all.vars(as.formula(str1))[-1]
#[1] "x" "z"

Ou comme @ducymayr l'a mentionné

attr(terms(as.formula(str1)), "term.labels")
#[1] "x" "z"

données

str1 <- "y ~ x + z"

Prograide.com

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.

Powered by:

X