[R] How are interaction terms computed in lm's result / problems with interaction terms in lm?
mviljamaa
mviljamaa at kapsi.fi
Sun Sep 18 20:01:43 CEST 2016
Also if you, rather than doing what's done below, do:
fit3 <- lm(kidmomhsage$kid_score ~ kidmomhsage$mom_age +
kidmomhsage$mom_hs + kidmomhsage$mom_age * kidmomhsage$mom_hs)
Then this gives the result:
Call:
lm(formula = kidmomhsage$kid_score ~ kidmomhsage$mom_age +
kidmomhsage$mom_hs +
kidmomhsage$mom_age * kidmomhsage$mom_hs)
Coefficients:
(Intercept)
110.542
kidmomhsage$mom_age
-1.522
kidmomhsage$mom_hs
-41.287
kidmomhsage$mom_age:kidmomhsage$mom_hs
2.391
Where the interaction term now seems properly interpretable. So perhaps
this is the way to use interaction terms with lm.
However, in the above, is the coefficient 2.391 of
kidmomhsage$mom_age:kidmomhsage$mom_hs actually only that for mom_hs ==
1 in which case for mom_hs == 0 one would simply ignore the last
coefficient?
And would one still need to perform summations of kidmomhsage$mom_age
and kidmomhsage$mom_age:kidmomhsage$mom_hs coefficients, i.e. the
coefficient for kidmomhsage$mom_age = -1.522 + 2.391?
On 2016-09-18 20:41, mviljamaa wrote:
> I'm trying to use interaction terms in lm and for the following types
> of models:
>
> fit3_hs <- lm(kidmomhsage$kid_score ~ kidmomhsage$mom_age +
> kidmomhsage$mom_hs + kidmomhsage$mom_age * 1)
> fit3_nohs <- lm(kidmomhsage$kid_score ~ kidmomhsage$mom_age +
> kidmomhsage$mom_hs + kidmomhsage$mom_age * 0)
>
> where you see the last term being the interaction term (it's
> mom_age*mom_hs where mom_hs takes values 0 or 1), the results are
> causing a bit of confusion.
>
> fit3_hs returns:
>
> Call:
> lm(formula = kidmomhsage$kid_score ~ kidmomhsage$mom_age +
> kidmomhsage$mom_hs +
> kidmomhsage$mom_age * 1)
>
> Coefficients:
> (Intercept) kidmomhsage$mom_age
> 70.4787 0.3261
> kidmomhsage$mom_hs
> 11.3112
>
>
> fit3_nohs returns:
>
> Call:
> lm(formula = kidmomhsage$kid_score ~ kidmomhsage$mom_age +
> kidmomhsage$mom_hs +
> kidmomhsage$mom_age * 0)
>
> Coefficients:
> kidmomhsage$mom_age kidmomhsage$mom_hs
> 3.368 11.568
>
> Now why is (Intercept) term missing from the second one?
> Also since in the first one the interaction term's coefficient should
> be added to the coefficient of mom_age, then is the return value of
> kidmomhsage$mom_age 0.3261 the sum of the coefficient of mom_age and
> the coefficient of the interaction term? Or would I need to produce
> the sum myself somehow?
More information about the R-help
mailing list