eHOF包中的HOF函数自动生成进度条,该函数没有参数来关闭进度条。
除了该函数以外,有没有其他方法可以抑制进度条的生成?(我需要多次应用该函数,目前进度条的唯一作用就是淹没我的屏幕。)
eHOF包中的HOF函数自动生成进度条,该函数没有参数来关闭进度条。
除了该函数以外,有没有其他方法可以抑制进度条的生成?(我需要多次应用该函数,目前进度条的唯一作用就是淹没我的屏幕。)
根据 @hrbrmstr 建议。
# Load the library
library("eHOF")
# Generate a fake dataset
FakeData<-sample(c(0,1),250,replace=TRUE)
TestMatrix<-matrix(FakeData,nrow=50,ncol=5)
# Apply the HOF function to each column of the matrix, and suppress progbar
# Use invisible to prevent capture.output from printing the progbar
invisible(capture.output(Models<-apply(TestMatrix,2,HOF,1:50)))
# Apply the Para function to extract the model parameters
DesiredOutcome<-sapply(Models,Para)
utils::txtProgressBar()
,它会写入stdout,因此您可以使用capture.output()
将整个调用包装起来以抑制它。invisible()
用于掩盖print()
输出,在这种情况下不起作用。您还应该考虑给pkg作者发送电子邮件,并将其作为可切换选项。我本来想尝试将其PR到pkg中,但似乎它不在github(等)上。 - hrbrmstrsink
函数将所有输出临时重定向。 - Eric Lecoutreinvisible()
不起作用。capture.output()
技术确实有效,但返回一个字符矩阵,与包的后续Para()
函数不兼容。虽然我可以解析矩阵并将其重新格式化为HOF类对象,但相对于忍受进度条来说,这似乎是太多的工作了。所以我放弃了这个愚蠢的梦想。再次感谢。 - Andycapture.output(var_name <- function_call(params))
吗? - hrbrmstr