动机
rmarkdown公司
&针织物
捕获写入的所有内容标准输出
,其中包括来自文档块,包括进度条,例如数字播放器
.
即使在使用时也要启用进度报告rmarkdown公司
文档,进度此处提供的条可以将输出写入任何连接,包括标准输出
,标准错误
,以及任何打开的文件。
安装程序
加载包,并定义将使用进度条的函数。这个具体示例由鲍勃·鲁迪斯.
库(knitrProgressBar)arduously_long_nchar<-函数(input_var,.pb=NULL){update_progress(.pb)#这是包提供的函数系统睡眠(0.1)nchar(输入变量)}
选择输出位置
有两种选择输出的方法:
- 使用
make_kpb_output_decisions()
- 直接通过传递连接(或
无效的
无输出)
使用生成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