【发布时间】:2014-02-26 04:44:38
【问题描述】:
我使用 tseries 包中的 add.test 制作了一个简单的协整函数
cointegration <- function(vals)
{
library(tseries)
beta <- coef(lm(vals[,2] ~ vals[,1] + 0, data = vals))[1]
names(beta) <- NULL
res <- adf.test(vals[,2] - beta*vals[,1], alternative = "stationary", k = 0)
return( list(beta = beta, p.value = res$p.value) )
}
显然,adf.test 的打印 p 值下限为 0.01。任何较小的 p 值都会产生警告消息:
Warning message:
In adf.test(vals[, 2] - beta * vals[, 1], alternative = "stationary", :
p-value smaller than printed p-value
是否可以让 adf.test 打印出更精确的 p 值?
我知道另一种方法是抑制警告消息:
res <- suppressWarnings(adf.test(vals[,2] - beta*vals[,1],
alternative = "stationary", k = 0))
但是打印更精确的 p 值会很好。
谢谢
【问题讨论】:
-
请包含您的数据样本以解决您的问题reproducible。
标签: r precision suppress-warnings p-value