我将时间序列数据存储为xts对象。当回归自变量上的因变量和带虚拟的交互项时,输出结果是自动回归自变量,交互项和虚拟本身。以下是我所做的一个例子:
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
这对我来说有点奇怪......它是正确的还是我做错了什么?
谢谢! (请原谅我为奥奇提出一个基本问题..)
答案 0 :(得分:2)
*
在公式中的含义。如果您只想要交互术语,请改用:
。来自?formula
:
术语本身由变量和因子名称组成,由“:”运算符分隔。这个术语被解释为该术语中出现的所有变量和因素的相互作用。
和
'*'运算符表示因子交叉:'a * b'被解释为'a + b + a:b'。
所以你想要使用lm(y ~ x + x:d)
(你的初步尝试可以减少到lm(y ~ x*d)
- 第一个x
是多余的。)