R语言练习题-初级

作者: mayoneday | 来源:发表于2019-07-23 19:35 被阅读10次

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

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

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

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

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

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

    作业4:是数据框,矩阵)

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

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

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

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

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

    基于下午的统计可视化

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

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

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

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

    作业14:使用ggplot2把上面的图进行重新绘制。

    作业15:使用ggpubr把上面的图进行重新绘制。

    rm(list = ls())
    options(stringsAsFactors = F)
    # 或者下载:http://www.bio-info-trainee.com/tmp/5years/SraRunTable.txt
    a=read.table('SraRunTable.txt',sep = '\t',header = T)
    # 或者下载:http://www.bio-info-trainee.com/tmp/5years/sample.csv 
    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')
    

    本文作者:生信技能树团队

    相关文章

      网友评论

        本文标题:R语言练习题-初级

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