2010-09-28 6 views
3

Je suis tout à fait nouveau à R et j'ai un problème suivant:Modèle linéaire avec contraintes, [R]

J'ai un modèle linéaire simple 2 facteurs:

Rate~factor1 + factor2 //factor1 has 8 categorical values, factor2 has 6 categories; 
model1 <- lm(Rate~factor1+factor2, data=myData) 

et que vous voulez mettre contraintes SUM de coefficients factor1 = 0, la même chose pour le facteur2.

Aucun des manuels donne aucune idée comment faire ..

J'ai trouvé un lien vers problème similaire here mais il est différent et je ne pouvais pas comprendre comment le modifier ...

+1

Cette question a également été posée au site d'échange de statistiques: http://stats.stackexchange.com/questions/3143/ – csgillespie

+0

@csgillespie: merci pour le lien. @Vytautas: s'il vous plaît ne pas cross-post. –

+0

Savez-vous comment spécifier une contrainte de positivité sur l'ajustement? Comment faire l'ajustement pour que la fonction finale soit toujours positive indépendamment des arguments? – schmi

Répondre

2

Il est décrit dans le chapitre 6 de MASS (Modern Applied Statistics avec S). Utilisez le contrasts argument de lm (jetez un oeil à ?contr.sum et ?model.matrix.default pour des exemples).

+0

Merci beaucoup. Je l'ai essayé - il n'a pas fait la somme des coefficients = 0, mais l'a minimisée (maintenant est 0.2 pour 1 facteur et 0.08 pour l'autre) – Vytautas

+0

Existe-t-il un moyen de forcer == 0 condition? – Vytautas

+0

Ma réponse est le moyen de le forcer. Si les sommes sont de 0,2 pour 'factor1' et de 0,08 pour' factor2', alors la valeur pour le dernier niveau de 'factor1' est -0,2 et la valeur pour le dernier niveau de' factor2' est -0,08. Notez que votre sortie de régression manque un niveau de facteur ... Ceci est également indiqué dans le lien contenu dans la réponse que vous avez acceptée sur stats.stackexchange.com ... –

Questions connexes