美文网首页
按照列筛选数据框不容易那么按照行就容易吗

按照列筛选数据框不容易那么按照行就容易吗

作者: 因地制宜的生信达人 | 来源:发表于2020-01-19 21:15 被阅读0次

    前面我出过一个考题,是对GEO数据集的样本临床信息,根据列进行筛选,比如:

    rm(list=ls())
    options(stringsAsFactors = F)
    library(GEOquery)
    eset=getGEO('GSE102349',getGPL = F)
    pd=pData(eset[[1]])
    

    就会下载一个表达矩阵,有113个病人(行),记录了57个临床信息(列),很明显,有一些临床信息列是后续的数据分析里面(主要是分组)没有意义的,病人总共时间日期,所有的病人可能都是一样的。

    那么就需要去除,一个简单的按照列进行循环判断即可!

    pd=pd[,apply(pd,2,function(x){
      length(unique(x))>1
    })]
    

    但是,仔细看临床信息表格会发现,还是有问题:

    就是仍然是需要去除无效行,就是去掉临床信息为N/A、Unknown、Not evaluated的行,需要检查全部的列哦~

    给一个参考答案

    pd=pd[apply(
      apply(pd,2,function(x){
      grepl('N/A',x)
    }),1,sum)==0,]
    

    相关文章

      网友评论

          本文标题:按照列筛选数据框不容易那么按照行就容易吗

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