谢益辉

谢益辉

RSS: https://yihui.org/index.xml
谢益辉的个人网站,R Markdown、knitr 作者,统计学家。
0

knitr 中 spin() 函数的改进

注释
这是最近几篇关于新功能的帖子之一四天编织分诊冲刺;关于冲刺的完整细节,请参见那篇文章。
概念spin()类似于 的反向purl().
35 天前
0

knitr 缓存能力增强:可缓存不可序列化对象,依赖失效机制修复

knitr 的 chunk 缓存在本次四日 triage sprint 中引入两项改进:一是新增 S3 泛型 process_cache,允许包作者为不能直接序列化的对象(如 terra SpatRaster)注册包/解包方法,使这类对象也能安全缓存,且包作者可在.
onLoad 中注册,用户零成本受益;
底层存储也从内部 API 工具切到 xfun::lazy_save/lazy_load(普通.
35 天前
0

让 knitr::kable() 的表格做得更好

谢益辉介绍 knitr 新版本 kable 的几处改进:HTML 表格自动给列头加 scope="col" 提升屏幕阅读器可访问性,可用全局选项把行名列也标为行头;
LaTeX 数值列可切到 math mode,修复负号、科学计数法和千分位逗号的排版;
新增 caption.
35 天前
0

knitr 的 SQL 引擎长大了

谢益辉发布 knitr 四次 triage 冲刺中 SQL 引擎的新特性:1) sql.
interlaced 支持多语句按序执行并交替输出每句源码与结果,避免旧版静默丢失第二条以后的结果;
2) 允许用户自带结果函数,例如用 dbplyr 返回惰性 data frame 并配合 output.
35 天前
0

knitr 的 tangle(代码提取)功能变得更智能

注
这是关于近期一次为期四天的 knitr 问题排查冲刺中新功能的几篇博文之一;有关此次冲刺的完整详情,请参阅那篇文章。
Tangle 是旧式文学编程(例如 WEB/Sweave)中用于从文档中提取代码并丢弃说明性文字的术语。
35 天前
0

knitr 的三项新调试功能

注释
这是最近几篇关于新功能的帖子之一四天编织分诊冲刺;关于冲刺的完整细节,请参见那篇文章。
当一份文件无法完成编织时,最糟糕的不是错误本身——而是寻宝游戏。
35 天前
0

A Four-Day knitr Issue/PR Triage Sprint

After knitr v1.
52 went to CRAN on 2026-09-06, I did something I don’t do often but have been hoping to do: I sat down and worked through the GitHub issue tracker more or less top to bottom.
Over the p...
36 天前
0

该不该向社区要赞助?——一位R Markdown维护者的自白

谢益辉继续免费维护R Markdown生态,考虑是否向社区寻求赞助。
GitHub五年赞助折合每年约20小时工作量,不足以覆盖维护需求。
需逐个检查26,000多个CRAN包才能发布新版本。
46 天前
0

knitr 2024-2026 版本更新回顾

自从我宣布更新已经很久了编织者上次了,所以我写这篇文章是为了介绍一些显著的变化编织者v1.46–v1.52。完整更新日志请参见发行说明在GitHub上。
希望你会觉得这三年回顾有帮助。
Knitr 1.46(2024-04-06)
47 天前
0

rmarkdown 2024-2026 版本更新回顾

R Markdown 从 v2.
26 到 v2.
32 共七个版本更新,修复了多个长期存在的 bug。
47 天前
0

lt包:R语言的轻量级HTML表格方案

最近我在 CRAN 上发布了一个新包:lt,是“轻量级表格”(或“小于”)的简称。
它的诞生源于一个小小的震惊时刻。
大约两年前,有个项目需要使用 gt,于是我在 Linux 系统上启动了一个全新的 R 会话,运行了 install.
108 天前
0

将 testthat 测试转换为 testit

早在2013年,我在首次发布testit时就写过关于R包测试的文章。十三年过去了,我仍然认为单元测试的本质应当只是“告诉我是否发生了意料之外的情况”。
最近,我将一个庞大的testthat测试套件迁移到了testit,于是我想为那些考虑同样迁移的开发者分享一份实用指南。
迁移指南
164 天前
0

再见,Stack Overflow

在Stack Overflow担任成员超过15年之后,我终于下定决心离开这里。
早在2017年和2018年,我就曾多次抱怨过这个平台。
而直到本月早些时候,类似的挫败感再次涌上心头——这一次,它成了压垮我的最后一根稻草。
164 天前
0

Reflections on AI-assisted Programming

My former colleague Nan kept telling me early last year that I should try Cursor, but I felt I didn’t need AI assistance at that time, since I knew pretty well what I wanted to do and how.
Plus, I’m g...
176 天前
0

knitr 中对 Typst 的初步支持

几周前,我在 knitr 中添加了对 Typst 的初步支持。
其工作方式很简单:如果您的文件扩展名为 .
Rtyp,knitr 会将其识别为 Typst 文档,对其进行编织,并生成一个 .
182 天前
0

xfun简介

在编写了大约20个R包之后,我发现已经积累了一些自己常用的工具函数[…]
195 天前
0

安息吧,托马斯·卡利贝拉

2026年4月20日更新
以下是Jan Vitek教授撰写的一篇悼文,其中包含了关于Tomas更为丰富的信息:prl-prg.github.io/tomas-kalibera.html
我实在不愿再写一篇讣告,但前几天我在Bluesky上得知Tomas Kalibera已去世。
195 天前
0

R 中 textConnection() 的意外缓慢

本月早些时候,@idavydov 向 Quarto 提交了一个问题,指出在处理输出较长的文档时,Quarto 的速度大约比 rmarkdown 慢 100 倍。
其最小可复现示例令人震惊:
对仅包含该代码块的文档运行 quarto render 需要 35 秒,而等效的 rmarkdown::render() 则不到半秒就完成了。
211 天前
0

tinyimg:用于压缩图像的R包

上个月,@bastistician 在 litedown 的代码库中 提交了一个 issue,指出 knitr 提供了 hook_pngquant() 函数,可用于压缩代码块中的 PNG 图表,但 litedown 缺乏类似功能。
他还提供了一个合理的 workaround——在 vignette 的末尾代码块中调用 system2("pngquant", ...
) 并配合 litedown::get_context("plot_files")。
211 天前
0

由 CDN 支持的 CTAN 镜像:tlnet.yihui.org

本月我在 tlnet.
yihui.
org/index.
212 天前
0

TinyTeX on macOS: No More Messing with `/usr/local/bin`

If you have ever installed TinyTeX on a relatively recent macOS system, you might have seen an admin password prompt pop up out of nowhere.
What was TinyTeX doing behind the scenes?
Well… honestly, so...
213 天前
4

RMarkdown创始人谢益辉从RStudio离职

谢益辉(Yihui Xie)于2024年1月3日发文确认,他已离开工作十余年的RStudio(后更名为Posit)。
此次离职属于裁员,他的最后工作日为2023年12月31日。
他表明自己接受这一决定,认为这仅是职业匹配度的变化,而非个人失败。
1020 天前