「r<-workshop」第一期:我理解的(生信)数据分析核心基础

我在和公众号上已经分享了很多之前学习的数据分析笔记和文章,覆盖了各方面的内容,数据分析方面以后不会再个人分享特别基础的东西了。接下来我会让师弟师妹们定期分享自己的学习过程。

另外,为了更好地学习和交流,我尝试在组内组织 Workshop,前几期会由我根据一些主题讲述数据分析操作、软件包开发等。后续也将通过轮流的方式组织大家一起学习编程、数据分析流程、生信流程等等。

Workshop 视频:https://www.bilibili.com/video/BV16K4y1t7VD?from=search&seid=2192097665920449954

我在视频中讲述的笔记随意,有时候可能会有点逻辑错误、重复问题等等,请见谅。

以下是我第一期讲解的大纲。

生信核心

编程 + 统计 + 专业背景

  • 编程:R/Python/Shell/C++/Golang etc.
  • 统计基础:描述性统计量、概率分布、假设检验
  • 统计分析(基于统计的计算):均值、方差;t检验(差异分析)、相关分析、富集分析、多重校正等
  • 专业背景:肿瘤学、免疫学、临床治疗等

数据处理流程

  • 预处理
  • 数据转换和操作
  • 数据建模
  • 可视化
  • 结果汇总和报告
「r<-workshop」第一期:我理解的(生信)数据分析核心基础_第1张图片
data-science-explore.png

注意数据分析流程与软件开发流程的区别。

  • 前者注重探索
  • 后者注重功能实现

流程

  • 以目录的形式
  • 以 包的形式
「r<-workshop」第一期:我理解的(生信)数据分析核心基础_第2张图片

原始数据的存储可以放到 https://figshare.com/。工具也有 https://git-lfs.github.com/ (https://gitee.com/help/articles/4235#article-header0)

工具

  • Make

  • Snakemake

  • Drake

  • Rmarkdown

  • Devtools/usethis (R)

核心工具集

  • R base/stats/(graphics)
  • 数据处理与分析
    • tidyverse 家族(https://r4ds.had.co.nz/)
      • readr
      • dplyr
      • 管道
      • tidyr
      • purrr
      • ggplot2
    • data.table
      • fread(至少知道这个可以快速读取大内存数据) 和 fwrite
      • dt[i, j, by] 等核心操作
    • Linux shell
      • 基本命令 echo/cat/grep/gzip/cut/uniq/sort/wc
      • 控制与循环
      • sed/awk
  • 建模与统计分析
    • stats/(cars)/(caret)/(glmnet)
    • 机器学习 mlr3
  • 绘图(最好是先导出为 pdf,然后用其他矢量图工具任意调整)
    • base
    • ggplot2
    • cowplot/patchwork/ggplotify(拼图)
    • pheatmap/complexheatmap
    • https://github.com/tylermorganwall/rayshader(三维图)
    • https://github.com/tomwenseleers/export (将各种图片导出,特别是到ppt)
  • 汇报或记录
    • markdown
      • typora
      • 个人博客
      • 语雀
      • Github
    • rmarkdown
    • https://github.com/yihui/xaringan (幻灯片)
    • Jupyter notebook
    • Shiny

工作流程

  • 先思考下问题该怎么解决,尽量拆分为小的问题或步骤
  • 思考用什么环境(R/Python/Shell)、什么工具(dplyr/data.table/ggplot)解决,脑子里有一个大概解决方案
  • 尝试解决
  • 不成功思考问题出在逻辑上还是程序实现上
    • 如果逻辑有问题,返回思考并优化解决方案
    • 如果程序有问题,(谷歌)搜索查找具体问题的解决方案或请教他人
  • 解决后检查逻辑是否存在问题,代码是否可以优化(包括逻辑上和效率上)
  • 记录结果(图片、表格等)
Git与GitHub/Gitee 的使用

Git: https://git-scm.com/

GitHub desktop: https://desktop.github.com/

Gitee: https://gitee.com/

  • 代码与数据存储
  • Issue track
    • 问题计划
    • 进展计划
  • 合作
  • 连接 R
    • Project
    • Package
    • Shiny

你可能感兴趣的:(「r<-workshop」第一期:我理解的(生信)数据分析核心基础)