2010-09-07 8 views
8

Dans le langage de programmation statistique R, la formule suivante (telle qu'elle est utilisée dans lm() ou glm())Formule pour tous les premier et second prédicteurs de commande, y compris les interactions par R

z ~ (x+y)^2 

est équivalente à

z ~ x + y + x:y 

en supposant, je ne dispose que des prédicteurs continus, est-il un moyen concis pour obtenir

z ~ I(x^2) + I(y^2) + I(x) + I(y) + I(x*y) 

a formule qui fait la bonne chose pour les prédicteurs de facteur est un plus.

Une solution possible est

z ~ (poly(x,2) + poly(y,2))^2 

Je cherche quelque chose de plus élégant.

+0

Est-ce une vraie question? –

+0

Richard, pouvez-vous expliquer pourquoi vous pensez que la question n'est pas réelle? J'ai essayé de clarifier ma question après votre expression de doute. – chris

+0

Quelqu'un a tagué cela comme devoir. J'en ai besoin pour le travail, pas pour les devoirs. J'ai ajouté une solution pour préciser que je ne cherche pas une solution rapide, mais une solution élégante. – chris

Répondre

9

Je ne sais pas si elle est plus élégante ou non, mais la fonction de poly peut prendre plusieurs vecteurs:

z ~ poly(x, y, degree=2) 

Cela va créer toutes les combinaisons que vous avez demandé, sans les autres. Notez que vous devez spécifier degree = 2, et pas seulement 2 si vous le faites de cette façon.

Questions connexes