动机

rmarkdown公司&针织物捕获写入的所有内容标准输出,其中包括来自文档块,包括进度条,例如数字播放器.

即使在使用时也要启用进度报告rmarkdown公司文档,进度此处提供的条可以将输出写入任何连接,包括标准输出,标准错误,以及任何打开的文件。

安装程序

加载包,并定义将使用进度条的函数。这个具体示例由鲍勃·鲁迪斯.

库(knitrProgressBar)arduously_long_nchar<-函数(input_var,.pb=NULL){update_progress(.pb)#这是包提供的函数系统睡眠(0.1)nchar(输入变量)}

选择输出位置

有两种选择输出的方法:

  1. 使用make_kpb_output_decisions()
  2. 直接通过传递连接(或无效的无输出)

使用生成kpb输出决策()

默认值

#不运行pb<-progress_estimated(长度(字母))purrr::map_int(字母,arduously_long_nchar,.pb=pb)

在终端中,这应将结果推送到标准输出,英寸针织物/rmarkdown公司将被推到标准错误.

抑制输出

如果希望在终端中显示进度,而不是在运行时通过R工作室 针织按钮或Rscript(脚本),然后您可以提供一个选项要在非交互式运行中抑制进度输出:

选项(kpb.suppress_noninteractive=TRUE)

日志文件

如果希望日志文件显示进度,可以使用以下选项:

选项(kpb.use_logfile=TRUE)

这将把所有进度推到一个日志文件中,默认为kpb_output.log(输出日志).

添加更多选项将提供更好的控制:

选项(kpb.use_logfile=TRUE)选项(kpb.log_file=“my_logfile.log”)

现在进度将保存在我的日志文件.log.

如果您正在使用rmarkdown公司并希望根据区块标签制作日志文件,然后你会使用kpb.log_模式选项:

选项(kpb.use_logfile=TRUE)选项(kpb.log_pattern=“pb_out_”)

这将为每个rmarkdown公司块,以及预弯每个一个带有外面的.

注释:kpb.log_文件kpb.log_模式不应同时设置在一个运行,和kpb.log文件王牌kpb.log_模式.

直接设置保存位置

在这种情况下,只需将连接直接传递到进度_估计:

#终端,或在编织块中打印pb<-progress_estimated(长度(字母),progress_location=stdout())#到stderr,在knitr中可见pb<-progress_estimated(长度(字母),progress_location=stderr())#到文件,使用tailf可见pb<-progress_estimated(长度(字母),progress_location=文件(“progress.log”,open=“w”))

无进度条

如果您决定不希望显示任何进度,只需传递一个无效的连接。

pb<-progress_estimated(长度(字母),progress_location=NULL)purrr::map_int(字母,arduously_long_nchar,.pb=pb)#>  [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1