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模板和辅助函数,批量生成报告。
在项目实践中,他们解决了两个关键问题:
- 平衡自动化与灵活性:他们选择了一个折中方案,允许团队成员通过简单修改脚本(如日期范围)来满足临时的、特定的报告需求。
- 改进报告设计:他们对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 服务)。
主要功能亮点包括:
- 丰富的题型:支持文本、单选、多选、滑块等多种标准题型。
- 强大的逻辑控制:可通过代码轻松实现问题的条件显示(
sd_show_if)和页面跳转(sd_skip_if)。 - 高度可扩展:由于基于 Shiny,可以集成各种高级功能,如交互式地图(leaflet)和实时投票图表。
- AI 辅助:可以利用大语言模型(LLM)快速生成问卷的 Quarto 代码。
- 图形化界面:为不熟悉代码的用户提供了配套包
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 代码直接在浏览器中运行,无需安装配置,极大地降低了入门门槛。其主要应用价值体现在三个方面:
- 降低认知负荷:通过在网页中嵌入简单的交互式练习并提供即时反馈,可以减少学习者对“搞坏软件”的恐惧,让他们专注于代码逻辑本身。
- 促进主动学习:可以将代码块直接嵌入幻灯片或教程中,让学习者边学边练,即时动手尝试和修改代码,巩固知识。
- 增强社交学习:方便学习者进行结对编程或实时分享、讨论代码。例如,在可视化工作坊中,学员可以修改图表代码并分享自己的设计,从而引发讨论、共同进步。
总之,WebR 和 Pyodide 是一个强大的教学辅助工具,通过创造一个低风险的实践环境,可以有效地帮助学习者逐步建立信心,实现从引导式学习到自主学习的平稳过渡。
Elevating Public Health Decision-Making with R Packages (Kylie Ainslie, RIVM) | posit::conf(2025)
来源:https://www.youtube.com/watch?v=YzIiWg4rySA
该视频分享了一种高效管理数据分析项目的方法:将项目构建为R包的结构,以此解决传统项目文件夹混乱无序(“项目文件夹地狱”)的问题。
讲者以自己在新冠疫情期间为荷兰政府所做的模型分析为例,阐述了该工作流的三大优势:
- 清晰的组织结构:R包强制使用标准化的文件目录(如
R/存放函数,inst/存放数据和脚本),使所有项目结构统一,提高了工作效率。 - 完善的文档体系:通过
roxygen2注释和vignettes长文档,代码与文档紧密结合,实现了分析过程的透明化和可追溯,使其工作成功通过了国际专家的审计,并建立了公众信任。 - 便捷的分享与协作:打包后的项目可以被轻松安装、分享和复用,极大地促进了团队协作和研究的可复现性。讲者的代码最终因此被整合到一个国际项目中。
最后,讲者鼓励听众在下一个项目中尝试这种方法,并推荐了usethis包和《R Packages》一书作为入门资源,认为这能从根本上提升代码质量、透明度和影响力。