I have time series data stored as xts object. When regressing the dependent variable on the independent variable and an interaction term with a dummy, the output turned out to be automatically a regression with the independent variable, the interaction term AND the dummy itself. Here's an example of what I have done:
 x <- xts(rnorm(100,0,1), Sys.Date()-100:1)
 y <- xts(rnorm(100, 1, 1), Sys.Date()-100:1)
 d <- xts(order.by = index(x))
 d <- merge(d, dummy = 1)
 d["/2016-09-06"] <- 0
 Call:
 lm(formula = y ~ x + x * d)
 > Coefficients:
  (Intercept)            x            d          x:d  
        0.95559      0.07350      0.29469     -0.09851  
This looks a bit odd to me... Is it correct or have I done something wrong?
Thanks! (and please excuse me for auch a basic question.. )
That's what * means in a formula. If you just want the interaction term, use : instead. From ?formula:
The terms themselves consist of variable and factor names separated by ‘:’ operators. Such a term is interpreted as the interaction of all the variables and factors appearing in the term.
and
The ‘*’ operator denotes factor crossing: ‘a*b’ interpreted as ‘a+b+a:b’.
So you would want to use lm(y ~ x + x:d) (and your initial attempt could be reduced to lm(y ~ x*d)--the first x is redundant).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With