如何从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
答案 0 :(得分:7)
实际上,您可以通过重新路由来抑制输出到R控制台。 R utils ,sink
和capture.output
中提供了两种方法。这两种方法都旨在将输出发送到文件。
由于您要抑制单个表达式的输出,因此可以使用capture.output
和file=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]
))
希望这会有所帮助。如果没有,请告诉我。