knitr 新增三项调试功能:错误信息中的文件路径在 RStudio 中可点击直达出错行;警告可显示调用回溯,需设置选项开启;新增 log.echo 块选项,实时输出表达式日志,便于定位卡住或耗时的代码块。
knitr 的 SQL 引擎近期新增多项功能:sql.interlaced 支持拆分并逐条执行多语句;sql.result.fun 可返回惰性句柄供 dplyr 处理;引擎能识别非查询语句并返回影响行数,可通过 sql.statement.msg 报告;sql.args 用于传递后端参数。
knitr 的 purl() 功能获得多项改进:支持 Python 等非 R 语言,输出对应脚本并以 #%% 标记代码单元;read_chunk() 可从 .Rmd 等源文档按标签借用代码块;opts_hooks 钩子在 tangle 时生效,可动态筛选代码块;comment 选项可控制 eval=FALSE 代码是否注释。
knitr 的 spin() 功能可将带 #' 注释的普通脚本转为报告。近期更新:新增 engine 参数,按文件扩展名自动推断语言;新增 roxygen 参数,避免与 roxygen2 文档标签冲突;修复标签与引擎名粘连问题,使 purl 与 spin 可干净往返;改进 # /* */ 删除块的配对检查,报告未匹配行号。
knitr 缓存功能改进:新增 process_cache() 泛型,使 terra 栅格等指针对象可安全缓存;缓存改用 xfun 的 .rds 格式,兼容旧缓存;dependson 支持依赖未缓存代码块,通过将上游代码纳入缓存键实现失效,autodep 同样适用。
knitr 的 kable() 函数新增多项改进:HTML 表头自动添加 scope 属性以提升无障碍性;LaTeX 支持数字数学模式排版和可调整标题位置;simple 格式遇换行自动改用多行表格;支持保留空白和自定义 NA 显示。
knitr 作者集中清理了积压十余年的 GitHub 问题,修复并合并大量议题。主要改进包括:Quarto 下 current_input() 正确返回 .qmd;purl() 支持 YAML 参数;verbatim 块忽略全局 echo=FALSE;ffmpeg 失败时报错;read_chunk() 改用语法树检测;多设备绘图与 dpi 处理更准确;代码块引用可内联使用。作者还谈及赞助现状并感谢支持者。
knitr v1.46 至 v1.52 版本更新汇总:支持在代码块头设置表格标题、新增 spin() 分隔符、钩子函数可通过 ... 传参、自动压缩 PNG、新增 fig.note 图注、Typst 支持、WebP 图形设备、修复多图标题问题、引入 OpenTelemetry 追踪,并修复若干问题。
本文介绍了Typst在knitr中的初步支持,用户可以通过.Rtyp文件生成.typ或.pdf文件。尽管Typst渲染速度优秀,但动态文档的计算速度仍是瓶颈。作者认为HTML在可访问性和功能上优于PDF,并计划继续探索HTML的潜力,同时支持LaTeX。
文章讨论了作者在处理R包knitr和rmarkdown的反向依赖时遇到的困难。随着反向依赖数量的增加,检查日志变得复杂,常出现假阳性错误。为了解决这一问题,作者编写了一个JS脚本,将日志转换为标签页,方便查看每个包的错误信息。
Sometimes you may not like the default values of knitr’s chunk options, and you know how to change them (i.e., knitr::opts_chunk$set()), but it can be tedious to do it for every single document....
本期投稿: 谢益辉 肖楠 knitr: 小编的好哥(ji)们(you)KarlBroman大人写了一份《knitr in a knutshell》。买不起书或看长篇文档伤不起的同学们不妨看他的简明教程,外加一门《可重复性研究》的课程。
2010年年底我写了两篇文章,关于Sweave/LyX/pgfSweave,顺便引出可重复研究(Reproducible...
完成下面两步后,将自动完成登录并继续当前操作。