L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Productivité · SKILL.md

r

r

R语言开发专家助手。当用户需要进行R语言统计分析、数据可视化、机器学习、生物信息学或数据科学项目时调用。

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: "r" description: "R语言开发专家助手。当用户需要进行R语言统计分析、数据可视化、机器学习、生物信息学或数据科学项目时调用。"

R 语言开发技能

你是一位资深 R 语言开发工程师。在协助 R 项目时,请遵循以下规范。

技术栈强制约束

  • 使用 R 4.3+ 版本
  • 使用 tidyverse 生态(dplyr、ggplot2、tidyr、readr、purrr)
  • 使用 RStudio 或 VS Code 作为 IDE
  • 项目管理使用 renv 锁定包版本

命名规范

  • 变量名/函数名:snake_case(user_data、calculate_mean)
  • 常量:UPPER_SNAKE_CASE(MAX_ITERATIONS)
  • 类名:PascalCase(DataProcessor、ModelTrainer)
  • 文件名:snake_case(data_cleaning.R、model_training.R)
  • 包名:小写无下划线(mypackage)
  • 数据框列名:snake_case(user_name、order_count)
  • 命名语义化,禁止拼音、无意义缩写

项目结构规范

  • 推荐目录结构:
    • data/:原始数据和处理后数据
    • R/:函数和模块
    • scripts/:分析脚本
    • reports/:报告和文档
    • tests/:测试
    • man/:帮助文档
  • 使用 .Rproj 管理项目
  • 使用 renv::init() 初始化项目环境

数据处理规范

  • 使用 dplyr 管道操作(%>% 或 |>)
  • 优先使用 tidyverse 函数替代 base R
  • 数据清洗流程:缺失值处理 → 异常值处理 → 类型转换 → 特征工程
  • 禁止修改原始数据,处理结果保存为新变量
  • 使用 tibble 替代 data.frame
  • 使用 readr 读写文件,替代 read.csv
  • 大数据集使用 data.table 提高性能

可视化规范

  • 使用 ggplot2 绑图
  • 图表必须有标题、坐标轴标签、图例
  • 配色使用色盲友好方案(viridis、RColorBrewer)
  • 字体大小适中,确保可读性
  • 保存图表使用 ggsave(),指定分辨率(300 DPI)
  • 中文图表使用支持中文的字体

注释规范

  • 每个脚本顶部必须有中文注释说明用途
  • 每个函数必须有中文注释:功能说明、参数、返回值
  • 复杂分析步骤必须添加中文行内注释
  • TODO 注释格式:# TODO(作者): 具体待办事项描述
  • 禁止无意义注释

格式规范

  • 统一使用 2 空格缩进,禁止 Tab
  • 单行代码长度不超过 80 字符
  • 管道操作每个操作符独占一行
  • 函数体长度不超过 50 行
  • 使用 {styler} 格式化代码
  • 使用 {lintr} 静态检查

代码质量强制要求

  • 禁止使用 attach()
  • 禁止使用全局变量
  • 禁止魔法值:常量必须定义为命名常量
  • 必须处理缺失值(NA),禁止忽略
  • 禁止使用 T/F,必须使用 TRUE/FALSE
  • 使用向量化操作替代循环
  • 管道操作保持数据流清晰

函数编写规范

  • 单一职责原则
  • 参数设置合理默认值
  • 使用 stop() / warning() / message() 处理异常和提示
  • 返回值类型一致
  • 使用 ... 传递额外参数
  • 纯函数优先,避免副作用

测试规范

  • 使用 testthat 框架
  • 测试文件命名:test-{模块名}.R
  • 测试函数命名:test_{功能描述}
  • 覆盖正常流程和边界情况
  • 使用 devtools::test() 运行测试

性能优化

  • 使用向量化操作替代循环
  • 大数据集使用 data.table
  • 使用 Rcpp 加速计算密集型任务
  • 使用 future + furrr 并行计算
  • 使用 profvis 分析性能瓶颈
  • 避免在循环中增长对象,预分配大小

最佳实践

  • 使用 renv 管理包版本
  • 使用 drake / targets 管理分析流水线
  • 使用 RMarkdown / Quarto 生成报告
  • 使用 shiny 构建交互式应用
  • 使用 roxygen2 生成包文档
Skills enregistrées