157 votes

Comment écrire succinctement une formule avec de nombreuses variables à partir d'une base de données ?

Supposons que je dispose d'une variable de réponse et de données contenant trois covariables (à titre d'exemple) :

y = c(1,4,6)
d = data.frame(x1 = c(4,-1,3), x2 = c(3,9,8), x3 = c(4,-4,-2))

Je souhaite appliquer une régression linéaire aux données :

fit = lm(y ~ d$x1 + d$x2 + d$y2)

Existe-t-il un moyen d'écrire la formule, de sorte que je n'aie pas à écrire chaque covariable individuelle ? Par exemple, quelque chose comme

fit = lm(y ~ d)

(Je veux que chaque variable de la base de données soit une covariable.) Je pose la question parce que j'ai en fait 50 variables dans ma base de données, et je veux donc éviter d'écrire x1 + x2 + x3 + etc .

0voto

amonk Points 1522

Vous pouvez vérifier le paquet leaps et en particulier la fonction regsubsets() pour la sélection des modèles. Comme indiqué dans la documentation :

Sélection de modèles par recherche exhaustive, pas à pas avant ou arrière, ou remplacement séquentiel

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