美文网首页
2019-06-15 R语言作业(初级)

2019-06-15 R语言作业(初级)

作者: LiuYueRR | 来源:发表于2019-06-15 18:03 被阅读0次

R语言作业(初级)

题目链接:http://www.bio-info-trainee.com/3793.html

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

getwd()

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

a1 <- c(1,2,5,7,9,12)
a2 <- seq(1,10)
a3 <- 'R_language'
a4 <- 3<1

class(a1)
class(a2)
class(a3)
class(a4)

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

b1 <- matrix(1:10,nrow = 5)
b2 <- array(c('a','b','c'),dim = seq(2,4))
b3 <- data.frame(x=seq(1,12),y=LETTERS[1:12],Z=letters[1:12])
b4 <- list(x=seq(1,5),y=c('a','b','c'),z=rep(1:3,times=3))

class(b1)
class(b2)
class(b3)
class(b4)

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

b3[c(1,3),]
b3[,c(1,3)]

5.使用data函数来加载R内置数据集 rivers 描述它

data("rivers")
class(rivers)
head(rivers)
tail(rivers)
str(rivers)

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

setwd('C:/Users/42403/Documents')
data <- read.table('SraRunTable.txt',header = T,sep = '\t')
class(data)
dim(data)
str(data)
test=data[1:5,1:5]

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

setwd('C:/Users/42403/Documents')
data2 <- read.csv('sample.csv',header = T)
class(data2)
dim(data2)
str(data2)
test=data2[1:5,1:5]

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

colnames(data)
colnames(data2)
data3 <- merge(data,data2,by.x = "Sample_Name",by.y = "Accession")
data3[1:5,1:5]

统计可视化基础

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

boxplot(data$MBases,main='boxplot')
fivenum(data$MBases)
plot(fivenum(data$MBases))
hist(data$MBases)
plot(hist(data$MBases),main = 'hist')
density(data$MBases)
plot(density(data$MBases),main='density')

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

data[1:5,1:5]
data2[1:5,1:5]
data2$Title[1]
class(data2$Title[1])
title=data2$Title
class(title)
title=as.character(title)
head(title)

试着用strsplit函数来一下

strsplit(title[1],split = '_')

提取一下元素

strsplit(title[1],split = '_')[[1]][3]

批量操作一下

plate=unlist(lapply(title, function(x){
  x
  strsplit(x,split = '_')[[1]][3]
}))
table(plate)

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

?t.test
t.test(data$MBases~plate)

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

boxplot(data$MBases~plate)
#hist(data$MBases~plate)
#density(data$MBases~plate)
typeof(plate)
class(plate)

data4 <- data3[,c('MBases','Title')]
data4$plate=title
hist(data4$MBases)
plot(data4$MBases)
plot(density(data4$MBases))

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

library(ggplot2)
data4$plate=plate
colnames(data4)
ggplot(data4,aes(x=plate,y=MBases))+geom_boxplot()
ggplot(data4,aes(x=MBases)) + geom_histogram(fill="lightblue",colour="grey") + facet_grid(plate ~ .)
(plate ~ .)
ggplot(data4,aes(x=MBases,fill=plate))+geom_histogram()

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

library(ggpubr)
ggboxplot(data4, x="plate", y="MBases", color = "plate", palette = "aaas",add = "jitter")+stat_compare_means(method = "t.test")
ggdensity(data4, x="MBases", fill = "plate", , color = "plate", add = "mean",palette = c(
  "#f4424e", "#41a6f4"))

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

data5 <- data4[sample(nrow(data4),384),]
data5=data5[,c(3,1,2)]
data5[1:3,1:3]

相关文章

  • 2019-06-15 R语言作业(初级)

    R语言作业(初级) 题目链接:http://www.bio-info-trainee.com/3793.html ...

  • R语言初级作业

    首先做完了周末班工作, 包括软件安装以及R包安装: 打开 Rstudio告诉我它的工作目录。getwd() 新建6...

  • R语言初级作业

    R语言初级作业 打开 Rstudio 告诉我它的工作目录。 新建6个向量,基于不同的原子类型。(重点是字符串,数值...

  • R语言作业—初级

    教程对应B站:【生信技能树】生信人应该这样学R语言配套资料:B站的11套生物信息学公益视频配套讲义、练习题及思维导...

  • R语言作业·初级

    【作业1】当前工作目录是什么路径 【作业2】新建6个向量,基于不同的原子类型。(重点是字符串,数值,逻辑值) 【不...

  • R语言作业(初级·上)

    初级作业·上 题目链接:http://www.bio-info-trainee.com/3793.html 1.软...

  • R语言初级题作业笔记

    题目链接:http://www.bio-info-trainee.com/3793.html题目比较基础,我这里就...

  • R语言初级作业10题

    打开 Rstudio 告诉我它的工作目录 新建6个向量,基于不同的原子类型。(重点是字符串,数值,逻辑值) 告诉我...

  • R语言作业-初级10题

    dandanwu902019年4月9日 B站R语言视频在这里看完视频就上树!小菜鸟!初级10 个题目在这里 清空一...

  • Steven的R语言初级作业

    我的第一篇简书笔记,就从R语言的入门习题开始~ 今天做了Jimmy老师的R语言初级练习题,还没有全部写完,打算分两...

网友评论

      本文标题:2019-06-15 R语言作业(初级)

      本文链接:https://www.haomeiwen.com/subject/katifctx.html