前言

会写 R 代码之后,学习的难点往往变了。你已经能完成一次分析,却可能难以把它变成下一次还能使用、同事能够接手、结果可以解释的工作。数据换了一批,脚本就要重写;图表在自己的屏幕上很清楚,交出去却缺少上下文;一段代码没有报错,也不意味着它做对了事情。

《现代 R 进阶》关注的正是这段距离:从完成一次计算,到交付一份可以使用、检查和继续维护的成果。

为什么写这本书

工作坊很适合快速接触一个工具。完整的教材还需要解释工具之间的关系:为什么此时需要一个函数,何时应保留中间结果,为什么一个测试能发现问题,什么情况下应把交互图改成静态图。读者也需要机会在没有提示的情况下做出选择,再用结果检验自己的判断。

因此,本书以分析和交付任务为主线组织材料。posit::conf 的公开工作坊提供了许多现代 R 实践案例;经典教材和官方文档提供进一步理解概念的入口。来源不同的材料在这里需要共同回答一个问题:读完这一节,你能独立完成什么,又如何知道自己完成得足够好?

参考资料是学习的支撑。正文的解释、任务之间的衔接和练习的验收要求,仍然需要由本书自己承担。

写给谁

本书主要写给已经掌握基础 R、希望提升实际分析与交付能力的读者。你可能是研究人员、数据分析师,也可能正在把个人脚本转变为团队可以复用的工作流程。

临床研究与制药领域的读者是另一类重点读者。除了通用的数据处理、图表和软件工程技能,你还需要关注数据来源、变量定义、输出检查及工作过程的可追溯性。本书为此提供一条专门的阅读路径,并在第四单元讨论临床报告与受监管环境。领域章节与前面的函数、测试和报告章节相互衔接。

本书不是零基础编程入门,也不替代统计方法教材或机构的具体操作流程。遇到这些问题时,阅读指南会帮助你找到需要回补的知识,而不是要求你从头读完所有材料。

怎样把阅读变成能力

每章从目标与前置自测开始,经过解释、示例和随堂检查,再进入三个层次的练习:先复现一个做法,再改变条件,最后独立完成任务。压轴项目要求你交付一个可检查的成果,并用评分量规说明它的完成程度。

读代码时,先预测结果,再运行。遇到故意出错的示例,先解释它为什么错。完成练习后,保留你作出的假设、检查结果和没有解决的问题。一个可以解释的失败,通常比一段无法解释的“成功运行”更有学习价值。

配套训练与正文分开维护,便于自学和授课使用。你可以先完成一个有数据、起始脚本和验收检查的训练,再回到相关章节补足理解。已有训练及尚待补充的内容会明确区分。

关于 AI

AI 可以协助解释代码、生成备选方案和扩展检查清单。它也可能让人跳过最需要练习的判断过程。本书因此保留明确的禁 AI 环节:先独立预测、设计或实现,再使用 AI 进行比较与复核。

判断学习是否发生,不是看代码生成得多快,而是看你能否解释输入和输出、识别错误,并在条件变化后修改方案。

关于这个版本

目前正文包含四个单元、28 章。代码审核区分了可执行示例、故意错误、需要外部服务的示例以及依赖特定教学文件的片段;这些边界不会因为一本书拥有封面就自动消失。

本版建立独立的书籍入口、阅读指南、配套训练和多来源阅读地图。后续内容完善将优先补齐概念之间的解释、可复用的练习数据和参考解答,而不是单纯增加章节数量。发现内容或代码问题时,欢迎通过书籍仓库提出具体的复现信息。

Jaime Yan

2026 年 9 月