生信人应该这样学R语言系列视频学习心得笔记分享

时间:2019-09-23 08:40:01 来源:莱荷时尚网 当前位置:光闪闪 > 动漫 > 手机阅读

以下内容转载自生信技能树公众号,欢迎大家积极转发关注!

耗费半年的时间精心制作了成套的生物信息学入门视频教程,并且在生信技能树联盟平台发布了这个长达74个小时全套生物信息学入门视频:生信技能树视频课程学习路径,这么好的视频还免费!
在B站看了看,大家学的热火朝天, 接下来我们就一个个知识点进行专题介绍,主要是一些优秀学生的笔记分享,希望大家在学习的过程中也能吸收到我传达的学习经验,人生感悟,只要你发给我笔记(邮箱 jmzeng1314@163.com),就有惊喜!
专题历史目录:
3个学生的linux视频学习笔记
接下来介绍R语言:

【生信技能树】生信人应该这样学R语言



1.课前准备:周末生物信息学培训班准备工作【http://www.bio-info-trainee.com/3727.html】

2.有好奇心,主动学习的能力

3.不可一下运行全部代码,避免不知道哪一步报错。一步步运行,慢+理解=进步

4.逻辑思考代码含义,比较,修改参数推理含义

5.敢于折腾

6.找规律

7.代码错误,看变量类型 class(), mode(), typeof()

8.R语言高手认识每个配置元素

9.通过project组织项目

10.报错的两种情况:自己的逻辑思维出问题(你以为的不是你以为的);系统提示报错

11.函数初学看参数,进阶把常用参数记在心里

12.python,R,Linux本质上木有区别,取决于对哪种语法更熟悉,目的都是处理数据


1. 介绍R语言及Rstudio
  • 了解R,Rstudio及R包

    • 安装的包在packages中检查

      .libPaths() ?#找安装路径

    • 帮助文档,帮忙看路径

      ?substring

    • 学会代码所蕴含的含义

      > tmp='abcde'
      > tmp
      [1] "abcde"
      > substring(tmp,1,3)
      [1] "abc"

    • 定位文件、设置文件位置

      getwd()
      setwd() ?

    • History- to console, to source

    • 环境变量:赋值后会被记录

    • plot画图,如果没有出现所画的图形,要关掉之前开的窗口,再画图

      plot(1:10)
      png('tmp.png')
      dev.off()
      plot(1:10)

    • 下载R语言软件

    • 下载Rstudio编辑器

    • 安装一些必要的包,了解CRAN和bioconductor, 了解镜像并设置


2. R语言基础变量讲解

1.使用源代码或者重用R包,报错是因为没有基础知识,即变量类型

2.看五本以上的R书

  • 从无到有创建各种变量,掌握很多函数

    • 理解索引

    • 理解行列

    • 理解取子集的两种方式

    • grep()搜索函数

      index1 = grep('RNA-Seq', a$Assay_Type)
      index2 = grepl('RNA-Seq', a$Assay_Type)
      b = a[index1,] ?# 下标
      b = a[index2,] ?# 索引

    • list取元素用双括号来取,不然只能取到子list

    • 向量型(Vector)

      > a=c(1,2,3)
      > a
      [1] 1 2 3
      > class(a) # 数值类型不相容的时候查变量类型是否不符合函数类型
      [1] "numeric"

    • 双整型double

    • 整型integer

    • 字符型character

    • 逻辑型logical

    • 复数类型complex

    • 原始类型raw

    • 矩阵型(Matrix)和数组型(Array)

    • 数据框架型(Data Frame)及列表型(List)

    • 创建字符时,有字符有数值,创建的向量就全变成字符 ?#向量有优先级

      > a=c(1,'b',2)
      > class(a)
      [1] "character"

    • 字符串要加引号,单双引号没啥区别。特殊情况下有区别,单双引号都在

    • 二维和多维

    • 每个元素可以用$符号取

    • 概括来说,R可以识别六种基本类型的原子型向量,可以具有名称属性或者维度属性

    • 用函数或者内置变量创造变量

      > a=1:10
      > a
      [1] ?1 ?2 ?3 ?4 ?5 ?6 ?7 ?8 ?9 10
      > a = seq(1:10)
      > a
      [1] ?1 ?2 ?3 ?4 ?5 ?6 ?7 ?8 ?9 10
      > a = LETTERS
      > a
      [1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N"
      [15] "O" "P" "Q" "R" "S" "T" "U" "V" "W" "X" "Y" "Z"
      > a = LETTERS[1:10]
      > a
      [1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J"

    • 五种变量结构(class属性)

    • 变量的类型判断及转换

      is. X
      as. X

    • 数据变量的各种操作

    • a=data.frame(n=LETTERS[1:10],v=1:10)

    • rownames(a)=paste0('row',1:10)

  • 为什么画个热图这么难

3. 外部数据导入导出
  • Excel表格到R语言转换

    a = read.table('', head = T, sep = '\t')
    b = read.table('', comment.char = '!', head = T, sep = '\t') ?# 带感叹号的不读取
    write.csv(b,'.csv')
    d = read.csv('.csv')

    read.table('', head = T, sep = '\t')
    save(b,file = 'b_input.Rdata')
    load(file = 'b_input.Rdata')
    b = b[,-1] ?# 取第一行
    b = log2(b)
    pheatmap::pheatmap(b[1:10,])

  • 建议把excel转成csv来读取


4. 中级变量操作

变量类型会贯穿所有分析、报错之中(你以为的不是你以为的)

打开Project

进阶之后,一个函数通用多个功能

几乎所有英文单词都是一个函数,函数无穷无尽,找规律

  • 所有函数有参数,很多是互通的, eg sort, max, min, fivenum(四分位值)

  • 向量化操作

不断练习

几乎所有英文单词都是一个函数, 如果不是,可以把它变成一个函数

变量可以叫任何名字,关键要知道它指代是啥

函数可以满足各种需求,自己可以创造函数

相关文章:

动漫本月排行

动漫精选