【问题标题】:Suppress output of stationarity test that is printed to screen抑制打印到屏幕的平稳性测试的输出
【发布时间】:2015-04-24 06:20:13
【问题描述】:

如何从 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

【问题讨论】:

  • @user20650 谢谢,是的,编辑是正确的

标签: r output statistical-test


【解决方案1】:

事实上,您可以通过 重新路由 来抑制输出到 R 控制台。 R utils 中提供了两种方法,sinkcapture.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]
))

希望这会有所帮助。如果没有,请告诉我。

【讨论】:

    猜你喜欢
    • 2011-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多