2015-02-23 17 views
5

Làm cách nào để có được bài kiểm tra stationarity từ fractal package trong R để không in bất kỳ đầu ra nào ra màn hình.Ngăn chặn đầu ra của kiểm tra tình trạng dừng được in ra màn hình

Ví dụ, với các thử nghiệm shapiro.wilk khi thiết kết quả như là một biến nó không đưa ra bất cứ kết quả như sau

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

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

Đây là trường hợp đối với hầu hết các xét nghiệm nhưng khi tôi làm điều đó cho stationarity kiểm tra tôi nhận được một số đầu ra trong giao diện điều khiển 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 cảm ơn, có chỉnh sửa là chính xác – Vik

Trả lời

6

Trong thực tế, bạn có thể ngăn chặn đầu ra cho R console bởi rerouting nó. Hai phương pháp có sẵn trong R utils, sinkcapture.output. Cả hai phương pháp đều có ý định gửi đầu ra tới một tệp.

Vì bạn muốn chặn đầu ra của một biểu thức, bạn có thể sử dụng capture.output, với file=NULL (mặc định). Điều này sẽ trả lại đầu ra của bạn dưới dạng chuỗi. Để tránh hiển thị chuỗi trả lại trong bảng điều khiển R, bạn có thể sử dụng invisible.

Các mã cuối cùng có thể là:

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] 
)) 

Hope this helps. Hãy cho tôi biết nếu không.

Các vấn đề liên quan