美文网首页R学习
有的GEO数据分组信息找起来比较麻烦

有的GEO数据分组信息找起来比较麻烦

作者: 小洁忘了怎么分身 | 来源:发表于2019-02-18 23:43 被阅读50次

getGEO下载了表达矩阵文件后可获得他的ExpressionSet对象,用pdata函数提取临床信息表格,命名为pd。此处需要耗时端详这个pd表格,找到里面的分组信息列,生成一个grouplist,后续分析会多次用到。
有的直接拿出其中一列即可,有时候则不太好找,这时就考验R语言技巧了。有的pd表格有几十列,先减小一下筛选范围,我写了一个函数,用来汇总表格,不要关心function里面的内容,就是直接用。

dumd <- function(df){
  library(dplyr)
  colname <- vector("character")
  count <- vector("integer")
  for(i in 1:ncol(df)){
    colname[i] = colnames(df)[[i]]
    count[i]=nrow(df[!duplicated(df[,i]),])
  }
  output <- tibble(colname,count) 
  print(output)
}

x=dumd(pd)

dumd函数其实就是统计了一下每列有多少非重复值。只有一个的,说明所有行都一样,直接去掉即可。重点就是,所有行对应值都一样的列,是不会有分组信息在里面的,所以直接删掉这部分。如果有>1的个位数的,很有可能就是分组信息咯。

pd=pd[,x$count>1]

还没那么容易,如果没有直接可用的列,grouplist大概可以有这三种生成方式:

#第一类,简单的。
pd$title #tab试一下
nchar(pd$characteristics_ch1[1])
group_list=substring(pd$characteristics_ch1,5,5)

which(colnames(pd)=="characteristics_ch1")
#第二类,复杂的
group_list=ifelse(str_detect(pd$title,"TT2")==TRUE,"TT2","TT3")

group_list=ifelse(str_detect(pd$title,"Control")==TRUE,"contorl","treat")


pd$characteristics_ch1.1
group_list=ifelse(pd$characteristics_ch1.1=="triple-negative status: not TN","notTN","TN")
#第三类,更复杂的,如果分组有三组以上 参考这个代码(来自生信技能树)
g=ifelse(deg$P.Value>0.01,'stable', 
         ifelse( deg$logFC >logFC_t,'up', 
                 ifelse( deg$logFC < -logFC_t,'down','stable') )
)

ifelse是一个由if循环进化来的函数,原本语法是:

if(boolean_expression) {
// statement(s) will execute if the boolean expression is true.
} else {
// statement(s) will execute if the boolean expression is false.
}
简写成了ifelse(test, yes, no),分情况将数据分组。

相关文章

  • 有的GEO数据分组信息找起来比较麻烦

    getGEO下载了表达矩阵文件后可获得他的ExpressionSet对象,用pdata函数提取临床信息表格,命名为...

  • 把pdata的多余列去掉

    GEO数据分析中用到pdata表格,为了从中找出分组信息,可谓非常费眼睛。有的表格友好一点,十几列。有的夸张起来六...

  • GEO难搞的分组信息

    花花写于2019-10-4 GEO踩坑进行时,高级课程上线指日可待。 GEO难搞的分组信息 前面提到过:有的GEO...

  • GEO数据表达差异分析

    1-1从GEO数据库下载数据 1-2提取表达矩阵exp 1-3提取各样本的分组信息 1-4调整exp的行名顺序与p...

  • Geo Word Clouds

    背景: 有许多文本数据含有重要的地理信息,而现有的词云方法无法显示空间信息。Geo word clouds:不但可...

  • 封装简便弹出框

    每次写弹出框的时候,UIAlertView的代理写得特别麻烦,而且当代码越多,找起来就比较麻烦,我用block进行...

  • 使用wget下载GEO数据

    我们有时需要下载GEO数据,使用getGEO的话比较麻烦,特别是当我们只需要其中某一两个文件时。但是当我们直接复制...

  • 如何用R获取GEO样本信息

    如何用R获取GEO样本信息 1 下载并保存GEO数据 下载有error可以:设置镜像、翻墙、rm(list=ls...

  • 用R获取GEO样本信息

    来源如何用R获取GEO样本信息 以GSE111229为例 1 下载并保存GEO数据 下载有error可以:设置镜...

  • 利用MATLAB实现聚类

    一.数据基本信息数据来源:GEO GSE62533 (CLL)sample: 12Sample info:fr...

网友评论

    本文标题:有的GEO数据分组信息找起来比较麻烦

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