【发布时间】:2017-09-06 16:03:23
【问题描述】:
这是我使用 vars 包创建的用于测试平稳性的示例代码:
library(vars)
data(Canada)
Canada <- data.frame(Canada)
test = function(x) {
adf <- ur.df(x, type = "trend", selectlags = "BIC")
adf.out <- format(round(c(adf@teststat[1], head(adf@cval,1)[,c(1,2,3)]), 2), nsmall = 3)
adf.comment <- if(adf.out[1] >= adf.out[3]) {"Yes"} else {"No"}
kpss <- ur.kpss(x, type ="tau", use.lag = adf@lags)
kpss.out <- format(round(c(kpss@teststat[1],head(kpss@cval, 1)[,c(4,2,1)]), 2), nsmall = 3)
kpss.comment <- if(adf.out[1] >= adf.out[3]) {"Yes"} else {"No"}
out <- c(adf.out, adf.comment, kpss.out, kpss.comment)
out
}
test(Canada["prod"][,1])
输出:
> test(Canada["prod"][,1])
1pct 5pct 10pct 1pct 5pct 10pct
"-2.020" "-4.040" "-3.450" "-3.150" "No" "0.490" "0.220" "0.150" "0.120" "No"
为什么数字周围有“”,如何删除它们?
【问题讨论】:
-
format将它们转换为字符。 -
好的,如果我不包含 cmets,格式就可以解决问题。请注意,我使用“adf.comment”和“kpss.comment”更新了脚本。将这些引入输出时,所有项目再次出现问题?
-
如果
c(adf.out, adf.comment, kpss.out, kpss.comment)中的任何元素是字符向量,那么生成的向量也将是字符类型。 -
您想删除 R 控制台或您生成的外部文件中的引号吗?如果只是控制台,为什么要删除它们?
标签: r dataframe output time-series