我在尋找抑制輸出一個命令(在這種情況下,apply
函數)。抑制一個命令的輸出R
是否可以在不使用sink()
的情況下執行此操作?我已經在下面找到了所描述的解決方案,但是如果可能的話,希望在一行中完成。
我在尋找抑制輸出一個命令(在這種情況下,apply
函數)。抑制一個命令的輸出R
是否可以在不使用sink()
的情況下執行此操作?我已經在下面找到了所描述的解決方案,但是如果可能的話,希望在一行中完成。
你爲什麼要做到這一點沒有sink
目前尚不清楚,但可以在invisible()
功能包的任何命令,它會抑制輸出。例如:
1:10 # prints output
invisible(1:10) # hides it
否則,你總是可以結合東西放進一個行以分號和括號:
{ sink("/dev/null"); ....; sink(); }
[R僅自動打印未分配表達式的輸出,所以只分配的結果apply
到一個變量,它不會被打印。
使用capture.output()
函數。它非常像一次性的sink()
,而不像invisible()
,它可以抑制不僅僅是打印信息。將文件參數設置爲UNIX上的/dev/null
或Windows上的NUL
。例如,考慮德克的說明:
> invisible(cat("Hi\n"))
Hi
> capture.output(cat("Hi\n"), file='NUL')
>
您可以使用下面的'capture.output'。這使您可以使用以後數據:
log <- capture.output({
test <- CensReg.SMN(cc=cc,x=x,y=y, nu=NULL, type="Normal")
})
test$betas
invisible(cat("Dataset: ", dataset, fill = TRUE))
invisible(cat(" Width: " ,width, fill = TRUE))
invisible(cat(" Bin1: " ,bin1interval, fill = TRUE))
invisible(cat(" Bin2: " ,bin2interval, fill = TRUE))
invisible(cat(" Bin3: " ,bin3interval, fill = TRUE))
在該行的結尾或下一行產生輸出,而不NULL
Dataset: 17 19 26 29 31 32 34 45 47 51 52 59 60 62 63
Width: 15.33333
Bin1: 17 32.33333
Bin2: 32.33333 47.66667
Bin3: 47.66667 63
你能解釋一下你的意思通過「做到這一點一致'?否則,你引用的問題已經提供了答案,這是重複的。 – 2010-04-27 16:33:19
該解決方案需要三條線路,一條重定向輸出,命令,然後另一條輸出重新打開。 – Tor 2010-04-27 16:43:59
這仍然是一個重複的問題。 – 2010-04-27 16:55:26