盘一盘 生信技能树R语言小作业(初级)

R语言基础知识的一些检验,最好是对照几本R基础语法书籍来理解。

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

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

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

getwd()

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

b<-"What's wrong"
aa<-1:10
c<-TRUE

3.告诉我在你打开的rstudio里面 getwd() 代码运行后返回的是什么?

当前工作目录

4.新建一些数据结构,比如矩阵,数组,数据框,列表等(重点是数据框,矩阵)

newmatrix<-matrix(1:6, nrow = 2, ncol = 3)
newarray <- array(1:3, c(2,4))
pa1<-c(1,2,3,4)
ga1<-c(5,4,44,12)
pa2<-c(1,2,3,4)
ga2<-c(5,4,44,12)
pa3<-c(1,2,3,4)
ga3<-c(5,4,44,12)
newdata.frame <- data.frame(pa1,ga1,pa2,ga2,pa3,ga3)
newlist <- list(x = cars[,1], y = cars[,2])
newfactor <- factor(letters,ordered=TRUE)

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

newdata.frame[1:3,4:6]

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

data("rivers")

7.下载 https://www.ncbi.nlm.nih.gov/sra?term=SRP133642 里面的 RunInfo Table 文件读入到R里面,了解这个数据框,多少列,每一列都是什么属性的元素。(参考B站生信小技巧获取runinfo table) 这是一个单细胞转录组项目的数据,共768个细胞,如果你找不到RunInfo Table 文件,可以点击下载,然后读入你的R里面也可以。

SraRunTable <- read.table("http://www.bio-info-trainee.com/tmp/5years/SraRunTable.txt",fill=TRUE,header = T,sep = "\t")
dim(SraRunTable)
class(colnames(SraRunTable))

8.下载 https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE111229 里面的样本信息sample.csv读入到R里面,了解这个数据框,多少列,每一列都是什么属性的元素。(参考 https://mp.weixin.qq.com/s/fbHMNXOdwiQX5BAlci8brA 获取样本信息sample.csv)如果你实在是找不到样本信息文件sample.csv,也可以点击下载

sample <- read.csv("sample.csv")

9.把前面两个步骤的两个表(RunInfo Table 文件,样本信息sample.csv)关联起来,使用merge函数。

d=merge(SraRunTable,sample,by.x = 'Sample_Name',by.y = 'Accession')
# 在merge这里堵了很长时间...最终是数据源的问题
# by.x = 'Sample_Name',by.y = 'Accession'这里的Sample_Name与Accession必须代表同样的数据!

基于下午的统计可视化

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

boxplot(MBases ~ MBytes, data = SraRunTable, col = "lightgray")
?fivenum;fivenum(SraRunTable$MBases)
plot(density(SraRunTable$MBases))
hist(SraRunTable$MBases)
plot(density(SraRunTable$MBases))

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

e <- d[,c("MBases","Title")]
plate=unlist(lapply(as.character(e[,2]),function(x){
  # x=e[,2]  
  x
  strsplit(x,'_')[[1]][3]
  
}))
# 试一下去掉as.character是什么效果 考虑为什么 出错就?一下
table(plate)
boxplot(e[,1]~plate)

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

t.test(e[,1]~plate)

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

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

e$plate=plate
library(ggplot2)
colnames(e)
ggplot(e,aes(x=plate,y=MBases))+geom_boxplot()

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

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')

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

indexes <- sample (nrow (e), 384)
data <- e [indexes, ]
data2 <- data[,c(3,1,2)]
dim(data2)

很奇怪,我在typora里写好之后直接复制到简书,代码前面会出现乱码,先复制到r,再传递过来就没事了。


参考来源:生信技能树

友情链接:

课程分享
生信技能树全球公益巡讲
https://mp.weixin.qq.com/s/E9ykuIbc-2Ja9HOY0bn_6g
B站公益74小时生信工程师教学视频合辑
https://mp.weixin.qq.com/s/IyFK7l_WBAiUgqQi8O7Hxw
招学徒:
https://mp.weixin.qq.com/s/KgbilzXnFjbKKunuw7NVfw

欢迎关注公众号:青岛生信菜鸟团

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,884评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,347评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,435评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,509评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,611评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,837评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,987评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,730评论 0 267
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,194评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,525评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,664评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,334评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,944评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,764评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,997评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,389评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,554评论 2 349