2

我需要从函数ur.za(即 Zivot & Andrews Unit Root Test)或summaryurca中提取断点。

library(urca)
data(nporg)
gnp <- na.omit(nporg[, "gnp.r"])
za.gnp <- ur.za(gnp, model="both", lag=2)
summary(za.gnp)

这给出了以下总结。所以我需要提取摘要末尾给出的断点 21。

################################ 
# Zivot-Andrews Unit Root Test # 
################################ 


Call:
lm(formula = testmat)

Residuals:
    Min      1Q  Median      3Q     Max 
-39.753  -9.413   2.138   9.934  22.977 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept)  21.49068   10.25301   2.096  0.04096 *  
y.l1          0.77341    0.05896  13.118  < 2e-16 ***
trend         1.19804    0.66346   1.806  0.07675 .  
y.dl1         0.39699    0.12608   3.149  0.00272 ** 
y.dl2         0.10503    0.13401   0.784  0.43676    
du          -25.44710    9.20734  -2.764  0.00788 ** 
dt            2.11456    0.84179   2.512  0.01515 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 13.72 on 52 degrees of freedom
  (3 observations deleted due to missingness)
Multiple R-squared:  0.9948,    Adjusted R-squared:  0.9942 
F-statistic:  1651 on 6 and 52 DF,  p-value: < 2.2e-16


Teststatistic: -3.8431 
Critical values: 0.01= -5.57 0.05= -5.08 0.1= -4.82 

Potential break point at position: 21 
4

1 回答 1

3

我希望我不会错过简短的“评论即答案”类型的答案,但也许您只是在寻找:

za.gnp@bpoint
# [1] 21

为了减少评论...

str函数通常对理解数据结构非常有帮助。这是str“za.gnp”的第一行和最后几行。

> str(za.gnp)
Formal class 'ur.za' [package "urca"] with 10 slots
  ..@ y        : num [1:62] 117 120 123 130 131 ...
  ..@ model    : chr "both"
  ..@ lag      : int 2
  ..@ teststat : num -3.84
  ..@ cval     : num [1:3] -5.57 -5.08 -4.82
  ..@ bpoint   : int 21
  ..@ tstats   : num [1:61] -1.29 -1.29 -1.29 -1.4 -1.41 ...
  ..@ res      : Named num [1:59] 7.056 0.116 -5.917 -0.341 7.981 ...
  .. ..- attr(*, "names")= chr [1:59] "4" "5" "6" "7" ...
  ..@ testreg  :List of 13

  <<SNIP>>

  .. .. .. .. .. ..- attr(*, "names")= chr [1:7] "y" "y.l1" "trend" "y.dl1" ...
  .. .. ..- attr(*, "na.action")=Class 'omit'  Named int [1:3] 1 2 3
  .. .. .. .. ..- attr(*, "names")= chr [1:3] "1" "2" "3"
  .. ..- attr(*, "class")= chr "lm"
  ..@ test.name: chr "Zivot-Andrews"
于 2013-09-27T17:52:18.097 回答