2015-02-23 3 views
5

Как получить тест stationarity из fractal package в R, чтобы не печатать какой-либо вывод на экран.Подавление вывода теста стационарности, которое печатается на экране

Например, с помощью теста shapiro.wilk при установке результата в виде переменной она не дает никакого выходных данные следующим образом

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

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

Это тот случай, для большинства тестов, но когда я делаю это для stationarity тестов I получить некоторый вывод в консоли 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 
+1

@ user20650 спасибо, да редактирование правильное – Vik

ответ

6

В самом деле, вы можете запретить вывод на R-консоли переразводки его. Два метода доступны в R utils, sink и capture.output. Оба метода предназначены для отправки вывода в файл.

Поскольку вы хотите подавить выход одного выражения, вы можете использовать capture.output, с file=NULL (по умолчанию). Это будет return ваш выход как строка. Чтобы предотвратить показ этой строки в консоли 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] 
)) 

Надеется, что это помогает. Дайте мне знать, если нет.

Смежные вопросы