我将时间序列数据存储为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 我觉得有点奇怪..。是正确的还是我做错了什么?
谢谢!(请原谅我拍卖一个基本问题。)
发布于 2016-10-17 11:31:32
这就是*在公式中的意思。如果您只想使用交互术语,请使用:。来自?formula
术语本身由变量名和由“:”操作符分隔的因素名称组成。这一术语被解释为该术语中所有变量和因素的相互作用。
和
*运算符表示因子交叉:‘a*b’解释为‘a+b+a:b’。
因此,您需要使用lm(y ~ x + x:d) (您最初的尝试可以减少到lm(y ~ x*d)--第一个x是多余的)。
https://stackoverflow.com/questions/40084776
复制相似问题