R语言练习题-初级

基于上午的R语言基础知识

全部答案及视频在:https://github.com/jmzeng1314/R_bilibili

首先做完了周末班工作, 包括软件安装以及R包安装:http://www.bio-info-trainee.com/3727.html

打开 Rstudio 告诉我它的工作目录。

新建6个向量,基于不同的原子类型。(重点是字符串,数值,逻辑值)

告诉我 getwd() 返回的是什么?

新建5个其它数据结构,矩阵,数组,数据框,列表,因子(重点是数据框,矩阵)

在你新建的数据框进行切片操作,比如首先取第1,3行, 然后取第4,6列

使用data函数来加载R内置数据集 rivers 描述它。并且可以查看更多的R语言内置的数据集:https://mp.weixin.qq.com/s/dZPbCXccTzuj0KkOL7R31g

下载 https://www.ncbi.nlm.nih.gov/sra?term=SRP133642 里面的 RunInfo Table 文件读入到R里面,了解这个数据框,多少列,每一列都是什么属性的元素。

下载 https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE111229 里面的样本信息读入到R里面,了解这个数据框,多少列,每一列都是什么属性的元素。

把两个表关联起来,使用merge函数。

基于下午的统计可视化

对前面读取的 RunInfo Table 文件在R里面探索其MBases列,包括 箱线图(boxplot)和五分位数(fivenum),还有频数图(hist),以及密度图(density) 。

把前面读取的样本信息表格的样本名字根据下划线分割看第3列元素的统计情况。第三列代表该样本所在的plate

根据plate把关联到的 RunInfo Table 信息的MBases列分组检验是否有统计学显著的差异。

分组绘制箱线图(boxplot),频数图(hist),以及密度图(density) 。

使用ggplot2把上面的图进行重新绘制。

使用ggpubr把上面的图进行重新绘制。

随机取384个MBases信息,跟前面的两个plate的信息组合成新的数据框,第一列是分组,第二列是MBases,总共是384*3行数据。

rm(list = ls())
options(stringsAsFactors = F)
a=read.table('SraRunTable.txt',sep = '\t',header = T)
b=read.csv('sample.csv')
colnames(a)
colnames(b)
d=merge(a,b,by.x = 'Sample_Name',by.y = 'Accession')
e=d[,c("MBases","Title")]
save(e,file = 'input.Rdata')

rm(list = ls())
options(stringsAsFactors = F)
load(file = 'input.Rdata')

e[,2]
plate=unlist(lapply(e[,2],function(x){
 # x=e[1,2]
 x
 strsplit(x,'_')[[1]][3]

}))
table(plate)
boxplot(e[,1]~plate)
t.test(e[,1]~plate)
e$plate=plate
library(ggplot2)
colnames(e)
ggplot(e,aes(x=plate,y=MBases))+geom_boxplot()

library(ggpubr)
p <- ggboxplot(e, x = "plate", y = "MBases",
 color = "plate", palette = "jco",
 add = "jitter")
# Add p-value
p + stat_compare_means(method = 't.test')

Comments are closed.