美文网首页R语言作业
【生信技能树::作业&习题】R语言初级练习题-修正

【生信技能树::作业&习题】R语言初级练习题-修正

作者: 墨墨如 | 来源:发表于2019-03-31 18:18 被阅读150次

    R 语言初级习题中我下载的样本信息尽管还是那个内容,但并不是最好的下载方式,也不是习题要求中的表格。那个表格的可读性太差了。Jimmy官方给了一个如何用R获取GEO样本信息的链接。根据这个教程,我接着修正前面的作业内容,然后接着完成后面的习题。

    不过上次下错文件阴差阳错给了我联系read.table的机会,让我学会了用平时没有用到的参数skip和fill。所以我不打算直接删除和修改,而是重新写一篇。

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

      其实在GEO accession display的页面里就有可以直接跳转的地方。见下

    样本信息-1.png

    点开more在下面点击第一个链接(印象中去年还是前年的时候没有这个链接)

    样本信息-2.png

    进到这里,类似一个数据中心一样,点击Export

    样本信息-3.png

    用mac预览打开看看,嗯,整整齐齐!

    样本信息-4.png
    options(stringsAsFactors = F)
    b <- read.csv("sample.csv")
    
    1. 把两个表关联起来,使用merge函数。

      偷个懒,后面参考习题下面的答案

      colnames(rit); colnames(b)
      d = merge(rit, b, by,x = 'Sample_Name', by,y = 'Accession')
      e = d[, c("MBases", "Titles")]
      
    1. 对前面读取的 RunInfo Table 文件在R里面探索其MBases列,包括 箱线图(boxplot)和五分位数(fivenum),还有频数图(hist),以及密度图(density) 。

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

      plate = unlist(lapply(e[,2],function(x){
        x
        strsplit(x, '_')[[1]][3]
      }))
      table(plate)
      e$plate = plate
      
    1. 根据plate把关联到的 RunInfo Table 信息的MBases列分组检验是否有统计学显著的差异。

      boxplot(e[,1] ~ plate)
      t.test(e[,1] ~ plate)
      # or
      boxplot(MBases ~ plate, data = e)
      
    1. 分组绘制箱线图(boxplot),频数图(hist),以及密度图(density) 。

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

      library(ggplot2)
      ggplot(e,aes(x=plate,y=MBases))+geom_boxplot()
      
    1. 使用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')
      
    1. 随机取384个MBases信息,跟前面的两个plate的信息组合成新的数据框,第一列是分组,第二列是MBases,总共是384*3行数据。

    相关文章

      网友评论

        本文标题:【生信技能树::作业&习题】R语言初级练习题-修正

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