繁体   English   中英

抑制打印到屏幕的平稳性测试的输出

[英]Suppress output of stationarity test that is printed to screen

如何从R中的fractal package中获得stationarity测试,以便不将任何输出打印到屏幕上。

例如,使用shapiro.wilk测试将结果设置为变量时,它不会提供任何输出,如下所示

lg.day.ret.vec <- rnorm(100, mean = 5, sd = 3)

shap.p <- shapiro.test(lg.day.ret.vec)$p.value

这是大多数测试的情况,但是当我为stationarity测试时,我在r控制台中获得了一些输出。

library(fractal)

stat.p <- attr(stationarity(lg.day.ret.vec),"pvals")[1]
1
2
3
4
5
6
N = 2609, nblock = 11, n_block_max = 238, dt =     1.0000
7
8
9
10
11
12
13
14
15
16
17
18

实际上,您可以通过重新路由来抑制输出到R控制台。 R utilssinkcapture.output中提供了两种方法。 这两种方法都旨在将输出发送到文件。

由于要抑制单个表达式的输出,因此可以使用capture.outputfile=NULL (默认值)。 这将以字符串形式返回输出。 要防止在R控制台中显示此返回的字符串 ,可以使用invisible

最终的代码可以是:

library(fractal)

lg.day.ret.vec <- rnorm(100, mean = 5, sd = 3)
shap.p <- shapiro.test(lg.day.ret.vec)$p.value

invisible(capture.output(
    stat.p <- attr(stationarity(lg.day.ret.vec),"pvals")[1]
))

希望这可以帮助。 如果没有,请告诉我。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM