vars包中
ur.df(y, type = c("none", "drift", "trend"), lags = 1,selectlags = c("Fixed", "AIC", "BIC")) 函数可以解决
type是要选择的类型,lags是要选择的滞后阶数,selectlags表示以哪个准则为主选择,y表示的是一个序列
比如:t1=ur.df(Canada[,"prod"],type ="trend",lag = 1,selectlags = "BIC")
t1如下:
###############################################################
# Augmented Dickey-Fuller Test Unit Root / Cointegration Test #
###############################################################
The value of the test statistic is: -2.0216 2.4483 2.678
因此必须summary(t1),输出结果如下:
###############################################
# Augmented Dickey-Fuller Test Unit Root Test #
###############################################
Test regression trend
Call:
lm(formula = z.diff ~ z.lag.1 + 1 + tt + z.diff.lag)
Residuals:
Min 1Q Median 3Q Max
-2.22554 -0.40892 0.02578 0.41669 1.70908
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 29.281115 14.506222 2.019 0.04697 *
z.lag.1 -0.073036 0.036127 -2.022 0.04664 *
tt 0.014219 0.006151 2.312 0.02344 *
z.diff.lag 0.310251 0.109678 2.829 0.00594 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.6797 on 78 degrees of freedom
Multiple R-squared: 0.1467, Adjusted R-squared: 0.1139
F-statistic: 4.471 on 3 and 78 DF, p-value: 0.005977
Value of test-statistic is: -2.0216 2.4483 2.6786
Critical values for test statistics:
1pct 5pct 10pct
tau3 -4.04 -3.45 -3.15
phi2 6.50 4.88 4.16
phi3 8.73 6.49 5.47
如果要对序列进行差分还必须加上diff函数
diff(x, lag =...,difference=.....)
x表示原序列,lags表示差分几次,difference表示差分的顺序,即相隔几个进行差分,1表示相邻差分,2表示隔两个进行差分
diff(1:10,lag=1)#默认差分也是1
1 1 1 1 1 1 1 1 1
diff(1:10,2)表示相隔两个进行差分,差分几次是被默认了