编织文档时喜欢多行进度条吗?你可能不知道。我也不喜欢。它太冗长了,太多的信息使控制台变得混乱,而这些信息往往没有什么真正的好处。这些信息是用来调试的,但作为调试冠军,你只需要知道错误信息就可以了,对吧?当错误仅来自一个代码块时,为什么knitr应该让您知道来自其他一百个代码块的信息?更糟糕的是,作为一名编程冠军,您永远不会遇到错误,并且总是一脸茫然地看着进度条从 0% 到 100%:
processing file: skeleton.Rmd |... | 4% inline R code fragments |...... | 9% label: setup (with options) List of 1 $ include: logi FALSE |......... | 13% ordinary text without R code |............ | 17% label: unnamed-chunk-1 (with options) List of 2 $ eval: logi FALSE $ tidy: logi FALSE |............... | 22% inline R code fragments ... |..........................................................| 100% ordinary text without R code
为什么要重复一百遍“没有R代码的普通文本”? knitr怎么敢说我的文字很普通?这是非凡的!
向十年来饱受无意义垃圾之苦的所有人致歉!下一个版本的knitr将去掉进度条中的垃圾信息。 CRAN 版本可能会在本月晚些时候或下个月发布。现在,您可以尝试开发版本:
install.packages('knitr', repos = c( yihui = 'https://yihui.r-universe.dev', CRAN = 'https://cloud.r-project.org' )) # restart R, and make sure packageVersion('knitr') >= '1.41.8'
那么在knit一个文档的时候应该会看到一个单行的进度条,默认只显示进度和chunk标签。进度条将在之后被清理。如果您确实需要以前的详细信息,可以通过options(knitr.package.verbose = TRUE)
显式启用它。
如果您不喜欢默认的文本进度条,您可以通过设置全局选项knitr.progress.fun
(在.Rprofile
中)来使用您自己喜欢的进度条。例如,您可以在 Windows 上使用winProgressBar
,或者在cli或progressr中使用进度条。有关详细信息,请参阅文档。
2023 年全新开始,希望您在knitr中享受新鲜的进度条,并在今年取得很大进步。