题目目录
- 1. 打开 Rstudio 告诉我它的工作目录。
- 2. 新建6个向量,基于不同的数据类型。(重点是字符串,数值,逻辑值)
- 3. 告诉我在你打开的rstudio里面 getwd() 代码运行后返回的是什么?
- 4. 新建一些数据结构,比如矩阵,数组,数据框,列表等重点是数据框,矩阵)
- 5. 在你新建的数据框进行切片操作,比如首先取第1,3行, 然后取第4,6列
- 6. 使用data函数来加载R内置数据集,找到rivers的描述。
- 7. 下载 [https://www.ncbi.nlm.nih.gov/sra?term=SRP133642](https://www.ncbi.nlm.nih.gov/sra?term=SRP133642) 里面的 RunInfo Table 文件读入到R里面,了解这个数据框,多少列,每一列都是什么属性的元素。
- 8. 下载 [https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE111229](https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE111229) 里面的样本信息sample.csv读入到R里面,了解这个数据框,多少列,每一列都是什么属性的元素。
- 9. 把前面两个步骤的两个表(RunInfo Table 文件,样本信息sample.csv)关联起来,使用merge函数。
- 10. 对前面读取的RunInfo Table文件在R里面探索其MBases列。把前面读取的样本信息表格的样本名字根据下划线分割看第3列元素的统计情况。第三列代表该样本所在的plate。根据plate把关联到的RunInfo Table信息的MBases列分组检验是否有统计学显著的差异。分组绘制箱线图(boxplot),频数图(hist),以及密度图(density) 。
- 11. 使用ggplot2把上面的图进行重新绘制。
- 12. 使用ggpubr把上面的图进行重新绘制。
前面学习了Linux的基础操作和一些文件格式的shell练习,接下来开始学习R语言。R语言是生信学习的重要基石。我的学习路线是过一遍教学课程,然后用题目来加深自己的理解。
推荐几个优秀课程:
R语言入门与数据分析:https://www.bilibili.com/video/BV19x411X7C6
R语言与生物信息绘图:https://www.bilibili.com/video/BV1XJ411m73p
生信人应该这样学R语言:https://www.bilibili.com/video/BV1cs411j75B
建议搭配《R语言实战(第2版)》按顺序进行学习。最后一个可看可不看。
本文的题目来自Jimmy老师的R语言练习题:http://www.bio-info-trainee.com/3793.html
博主将题目进行了整理,并且对Jimmy老师的部分答案进行了适量修改。需要代码和文件的可以私信我。学就完事了…
1. 打开 Rstudio 告诉我它的工作目录。
getwd()
# 返回工作目录:[1] "D:/R/R-project"
2. 新建6个向量,基于不同的数据类型。(重点是字符串,数值,逻辑值)
有两种最基本的数据类型:原子向量(atomic vector)和泛型向量(generic vector)。原子向量是包含单个数据类型的数组。 原子向量是包含单个数据类型(逻辑类型、实数、复数、字符串或原始类型)的数组。泛型向量也称为列表,是原子向量的集合。
a1 <- c(T, F, T, F)
class(a1) # 逻辑型
a2 <- c(15, 18, 25, 14, 19)
class(a2) # 实数
a3 <- c(1+2i, 0+1i, 39+3i, 12+2i)
class(a3) # 复数
a4 <- c("Bob", "Ted", "Carol", "Alice")
class(a4) # 逻辑型
a5 <- matrix(1:20,4,5)
class(a5) # 矩阵
a6 <- list(1:20)
class(a6) # 列表
3. 告诉我在你打开的rstudio里面 getwd() 代码运行后返回的是什么?
getwd()
# 返回工作目录:[1] "D:/R/R-project"
4. 新建一些数据结构,比如矩阵,数组,数据框,列表等重点是数据框,矩阵)
rnames <- c("R1", "R2", "R3", "R4", "R5")
cnames <- c("C1", "C2", "C3", "C4")
mymatrix <- matrix(1:20, 5, 4, byrow=T, dimnames=list(rnames, cnames))
mymatrix
dim1 <- c("A1", "A2")
dim2 <- c("B1", "B2"