我想在差分自变量和一个非差分变量上回归差分因变量。 我在R中尝试了以下几行:
xt <- ts(xx)
yt <- ts(yy)
zt <- ts(zz)
bt <- ts(bb)
mt <- ts(mm)
xtd <- diff(xt)
ytd <- diff(yt)
ztd <- diff(zt)
btd <- diff(bt)
axx <- ts.intersect(xtd, ytd, ztd, btd, mt)
reg1 <- lm(xtd~ytd+ztd+btd+mt, axx)
summary(reg1)
如果没有命令ts.intersect(),则会弹出一条错误消息,表示变量mt的变量长度不同。这是有道理的,因为它没有区别。我的问题是: i)这是处理不同变量长度的正确方法吗?和ii)有更有效的方法吗?非常感谢提前
Date xx yy zz bb mm
1 03.01.2005 0.065 0.001 14.4700 17.938 345001.0
2 04.01.2005 0.067 0.006 14.5100 17.886 345001.0
3 05.01.2005 0.064 -0.007 14.4200 17.950 334001.0
4 06.01.2005 0.065 -0.005 13.8000 17.950 334001.0
5 07.01.2005 0.060 -0.006 13.5700 17.913 334001.0
6 10.01.2005 0.059 -0.007 12.9200 17.958 334001.0
7 11.01.2005 0.057 -0.009 13.6800 17.962 334001.0
8 12.01.2005 0.060 -0.005 14.0500 17.886 340001.0
9 13.01.2005 0.060 -0.004 13.6400 17.568 340001.0
10 14.01.2005 0.059 -0.005 13.5700 17.471 340001.0
11 17.01.2005 0.058 -0.005 13.2000 17.365 340001.0
12 18.01.2005 0.059 -0.005 13.1700 17.214 340001.0
13 19.01.2005 0.057 -0.006 13.6300 17.143 354501.0
14 20.01.2005 0.057 -0.007 14.1700 17.125 354501.0
15 21.01.2005 0.056 -0.007 13.9600 17.193 354501.0
16 24.01.2005 0.057 -0.006 14.1100 17.283 354501.0
17 25.01.2005 0.058 -0.006 13.6300 17.083 354501.0
18 26.01.2005 0.057 -0.006 13.3200 17.348 348001.0
19 27.01.2005 0.059 -0.005 12.4600 17.295 353001.0
20 28.01.2005 0.060 -0.004 12.8100 17.219 353001.0
21 31.01.2005 0.058 -0.004 12.7200 17.143 353001.0
22 01.02.2005 0.059 -0.003 12.3600 17.125 353001.0
23 02.02.2005 0.058 -0.003 12.2500 17.000 357501.0
24 03.02.2005 0.056 -0.008 12.3800 16.808 357501.0
25 04.02.2005 0.058 -0.004 11.6000 16.817 357501.0
26 07.02.2005 0.058 -0.004 11.9900 16.798 357501.0
27 08.02.2005 0.058 -0.003 11.9200 16.804 355501.0
28 09.02.2005 0.062 0.000 12.1900 16.589 355501.0
29 10.02.2005 0.060 0.000 12.0400 16.500 355501.0
30 11.02.2005 0.062 0.002 11.9900 16.429 355501.0
答案 0 :(得分:0)
简短的回答是肯定的,你需要使用ts.intersect()
当你有一些差异的变量而一些不是。
你可以稍微清理一下代码,这样你就不会重复这么多行了,但是(特别是如果这些都是你的变量那么它并没有什么区别。
例如,您可以通过ts.d=ts(d[2:6])
一步将所有列重新编码为time.series。