Modern R Operations 是一份 tidyverse 优先的现代 R 最佳实践参考,面向 2024 及之后的 R 使用场景,涵盖数据分析、统计、可视化与可复现工作流。它在社区已形成共识之处给出明确倾向,同时把 base R 与 data.table 标注为在特定情况下更合适的选择。
用途 该技能用于指导现代 R 环境下的数据处理与分析工作。它按照分析工作流组织内容:导入 → 整理 → 变换 → 可视化 → 建模 → 沟通,并为每个环节提供可按需加载的参考文件。
主要能力
- 提供现代 R 技术栈的“任务—推荐工具—不再推荐”对照,例如管道推荐原生 |>、数据框推荐 tibble、数据整理推荐 dplyr + tidyr、CSV 读取推荐 readr::read_csv 与 data.table::fread、Excel/Parquet/数据库推荐 readxl/arrow/DBI+dbplyr、字符串日期因子推荐 stringr/lubridate/forcats、绘图推荐 ggplot2、迭代推荐 purrr::map_* 与 across()、大数据推荐 data.table、建模推荐 base lm/glm + broom 或 tidymodels、时间序列推荐 tsibble + fable、报告推荐 Quarto、可复现性推荐 renv + Projects + here()。
- 按分析步骤拆分参考文件:导入与 IO、tidyverse 核心、字符串日期与因子、迭代与函数式、可视化、建模与统计、data.table、时间序列、工作流与工具链。
- 提供核心惯用法代码示例,包括原生管道、across()、类型稳定的 map、ggplot 分层语法等。
- 提供决策捷径,例如优先使用 .by = 进行分组、显式书写 join_by(...)、在 read_csv/fread/vroom 之间选择、在 dplyr 与 data.table 之间取舍、在 base lm/glm 与 tidymodels 之间取舍、在 base R 与 tidyverse 之间取舍。
- 汇总高价值陷阱,例如 stringsAsFactors 自 R 4.0 起为 FALSE、glm 预测概率需 type = "response"、检验相关性用 cor.test()、sapply 类型不稳定、map_dfr/map_dfc 已被取代、ggplot 的映射与设定区别、coord_cartesian 与 scale_y_continuous 的区别、因子顺序影响坐标轴与回归参考水平、lubridate 的 period 与 duration 区别、data.table 的 := 原地修改、xts 的 lag 方向与 rollapply 对齐、避免绝对路径 setwd() 与保存 .RData。
使用方式 打开与当前任务对应的参考文件即可,它们按需加载;若只需整体定位,本文件(技能主文件)已经足够。核心惯用法可直接参考文件中的代码块,例如用原生管道串联 filter/mutate/summarise/arrange,用 across() 对多列应用同一操作,用 map 与 list_rbind 组合结果,用 ggplot 叠加几何对象。
适用场景 适合需要在 R 中进行数据分析、统计建模、可视化与可复现报告撰写的用户;适合希望采用现代 R 生态(R ≥ 4.3、tidyverse 2.0、原生管道、dplyr .by=、(x) lambda、list_rbind/list_cbind、tidyverts、Quarto)的团队与个人;也适合遇到从旧写法迁移到新写法问题的用户。
限制 资料未提供关于收费、价格、平台支持、性能效果或具体安装步骤的说明,暂未提供。技能内容反映 2024–2026 年的 R 生态状态,并包含一个校验脚本用以防止事实漂移:--offline 模式在 CI 中检查目录内每个 CRAN 包仍在本技能文本中被提及、货币说明仍包含年份,退出码 0 表示一致、10 表示漂移;--live 模式每周检查推荐包是否仍能在 CRAN 解析,退出码 10 表示包消失、7 表示 CRAN 不可达。规范包列表位于 assets/r-packages.json,增删推荐包时需同步更新,否则 --offline 会使 CI 失败。