Using Quarto to Improve Formatting/Automate the Generation of Hundreds of Reports (Keaton Wilson)

来源:https://www.youtube.com/watch?v=vHrI17AeYGs

这份视频摘要介绍了市场研究公司KS&R的解决方案开发者Keaton,分享了他们团队如何利用Quarto和R来自动化生成PDF报告的经验。

演讲者首先用一张难以辨认且不易扩展的祖传食谱作比喻,生动地说明了他们旧的数据报告流程所面临的挑战:文档过时、缺乏版本控制、技术陈旧,且核心知识掌握在已离职的员工手中。

面对为数百名问卷受访者每周生成个性化PDF报告的任务,团队使用R、Quarto和Tidyverse工具集从零开始重建了自动化流程。该流程通过一个主脚本,结合参数化的Quarto模板和辅助函数,批量生成报告。

在项目实践中,他们解决了两个关键问题:

  1. 平衡自动化与灵活性:他们选择了一个折中方案,允许团队成员通过简单修改脚本(如日期范围)来满足临时的、特定的报告需求。
  2. 改进报告设计:他们对PDF格式做了微小但有效的改进(如增加小标题、优化间距),这不仅提升了客户的信任度和体验,也加快了内部的质检速度。格式修改目前依赖LaTeX,但因维护困难,计划未来转向Typst。

最终,这个新流程使项目团队的效率提升了50%,获得了客户的好评,并成功将知识从个人头脑中转移到一个文档齐全、可复现的共享基础设施上,促进了团队协作和技能提升。

surveydown (John Paul Helveston, GWU) | posit::conf(2025)

来源:https://www.youtube.com/watch?v=VwoeFKNvN5k

该视频介绍了由乔治华盛顿大学教授 J.P. Helveston 及其团队开发的 R 语言包 surveydown

surveydown 旨在解决传统网页问卷工具(如 Google Forms)存在的难以复现、版本控制混乱、功能有限且不开源等问题。它的核心理念是将 Quarto 的强大功能应用于问卷制作,让用户可以通过编写简单的 Quarto(.qmd)纯文本文档来创建功能丰富的网页问卷。

其技术架构是一个整合了多种开源技术的生态系统:

  • Quarto:用于定义问卷的界面、内容和结构。
  • Shiny:作为后端的网页应用框架,处理交互逻辑。
  • PostgreSQL:作为数据库后端存储问卷数据(推荐使用免费的 Supabase 服务)。

主要功能亮点包括:

  1. 丰富的题型:支持文本、单选、多选、滑块等多种标准题型。
  2. 强大的逻辑控制:可通过代码轻松实现问题的条件显示(sd_show_if)和页面跳转(sd_skip_if)。
  3. 高度可扩展:由于基于 Shiny,可以集成各种高级功能,如交互式地图(leaflet)和实时投票图表。
  4. AI 辅助:可以利用大语言模型(LLM)快速生成问卷的 Quarto 代码。
  5. 图形化界面:为不熟悉代码的用户提供了配套包 sdstudio,提供一个仪表盘来通过点击创建问卷,并能自动生成可复现的代码。

最后,演讲者强调 surveydown 是一个完全免费和开源的解决方案,并鼓励社区参与贡献。

Empowering Learners with WebR, Pyodide, and Quarto (Ted Laderas, Fred Hutch) | posit::conf(2025)

来源:https://www.youtube.com/watch?v=EQ9_MP2PYL8

该视频介绍如何利用 WebR 和 Pyodide 技术改善编程教学,特别是针对容易受挫的初学者。演讲者以自身职业培训经验为例,指出 RStudio 等复杂工具会给新手带来巨大认知负荷,甚至导致他们放弃学习。

WebR 和 Pyodide 能让 R 和 Python 代码直接在浏览器中运行,无需安装配置,极大地降低了入门门槛。其主要应用价值体现在三个方面:

  1. 降低认知负荷:通过在网页中嵌入简单的交互式练习并提供即时反馈,可以减少学习者对“搞坏软件”的恐惧,让他们专注于代码逻辑本身。
  2. 促进主动学习:可以将代码块直接嵌入幻灯片或教程中,让学习者边学边练,即时动手尝试和修改代码,巩固知识。
  3. 增强社交学习:方便学习者进行结对编程或实时分享、讨论代码。例如,在可视化工作坊中,学员可以修改图表代码并分享自己的设计,从而引发讨论、共同进步。

总之,WebR 和 Pyodide 是一个强大的教学辅助工具,通过创造一个低风险的实践环境,可以有效地帮助学习者逐步建立信心,实现从引导式学习到自主学习的平稳过渡。

Elevating Public Health Decision-Making with R Packages (Kylie Ainslie, RIVM) | posit::conf(2025)

来源:https://www.youtube.com/watch?v=YzIiWg4rySA

该视频分享了一种高效管理数据分析项目的方法:将项目构建为R包的结构,以此解决传统项目文件夹混乱无序(“项目文件夹地狱”)的问题。

讲者以自己在新冠疫情期间为荷兰政府所做的模型分析为例,阐述了该工作流的三大优势:

  1. 清晰的组织结构:R包强制使用标准化的文件目录(如R/存放函数,inst/存放数据和脚本),使所有项目结构统一,提高了工作效率。
  2. 完善的文档体系:通过roxygen2注释和vignettes长文档,代码与文档紧密结合,实现了分析过程的透明化和可追溯,使其工作成功通过了国际专家的审计,并建立了公众信任。
  3. 便捷的分享与协作:打包后的项目可以被轻松安装、分享和复用,极大地促进了团队协作和研究的可复现性。讲者的代码最终因此被整合到一个国际项目中。

最后,讲者鼓励听众在下一个项目中尝试这种方法,并推荐了usethis包和《R Packages》一书作为入门资源,认为这能从根本上提升代码质量、透明度和影响力。

作者简介

Chun-Hui Gao is a Research Associate at Huazhong Agricultural University.

重复使用

Text and figures are licensed under Creative Commons Attribution CC BY 4.0. The source code is licensed under MIT. The full source is available at https://github.com/yihui/hugo-prose.

欢迎修订

如果您发现本文里含有任何错误(包括错别字和标点符号),欢迎在本站的 GitHub 项目里提交修订意见。

引用本文

如果您使用了本文的内容,请按照以下方式引用:

gaoch (2025). Posit::conf(2025) 精选辑 - Quarto/文档生成. BIO-SPRING. /post/2025/11/27/posit-conf-2025-quarto/

BibTeX citation

@misc{
  title = "Posit::conf(2025) 精选辑 - Quarto/文档生成",
  author = "gaoch",
  year = "2025",
  journal = "BIO-SPRING",
  note = "/post/2025/11/27/posit-conf-2025-quarto/"
}