【问题标题】:Reorder Samples in Expression Set (R)重新排序表达式集中的样本 (R)
【发布时间】:2013-01-15 02:51:29
【问题描述】:

我正在尝试生成一些基因表达数据的热图。目前,我想可视化的数据存储在表达式集数据类型中,但是样本没有正确分组;也就是说,控制样本和实验样本没有组合在一起。这是一个简短的工作流程:

output <- //analysis of raw data eset
someGenes <- eset [output$Table1, ]
heatmap(exprs(someGenes))

基本上,我想在绘图之前重新排列 eset 中的样本。我试图将样本名称视为“列”,但无法更改它们在 eset 中的位置。我对 R 很陌生,所以任何和所有的帮助都将不胜感激。

这里是表达式集数据类型的链接供参考:http://rss.acs.unt.edu/Rdoc/library/Biobase/html/class.ExpressionSet.html

非常感谢。

【问题讨论】:

    标签: r plot bioinformatics


    【解决方案1】:

    对于一个可重现的示例,我们加载 Biobase 和样本数据

    library(Biobase)
    data(sample.ExpressionSet)
    

    然后看看我们有什么:

    > sample.ExpressionSet
    ExpressionSet (storageMode: lockedEnvironment)
    assayData: 500 features, 26 samples 
      element names: exprs, se.exprs 
    protocolData: none
    phenoData
      sampleNames: A B ... Z (26 total)
      varLabels: sex type score
      varMetadata: labelDescription
    featureData: none
    experimentData: use 'experimentData(object)'
    Annotation: hgu95av2 
    

    我们可以像矩阵一样对 ExpressionSet 进行子集化,例如使用索引或sampleNames,例如,通过从当前样本名称的洗牌创建列索引cidx

    cidx = sample(sampleNames(sample.ExpressionSet))
    

    cidx 只是一个字符向量。然后我们用

    重新排序列
    > sample.ExpressionSet[, cidx]
    ExpressionSet (storageMode: lockedEnvironment)
    assayData: 500 features, 26 samples 
      element names: exprs, se.exprs 
    protocolData: none
    phenoData
      sampleNames: Q C ... B (26 total)
      varLabels: sex type score
      varMetadata: labelDescription
    featureData: none
    experimentData: use 'experimentData(object)'
    Annotation: hgu95av2 
    

    因此,您在绘图之前已对列重新排序。但是默认情况下,热图会根据样本之间的“距离”对样本进行聚类。因此,重新排序样本并不重要,热图会计算出相同的距离,并绘制相同的热图。您可能需要image,或提供参数Colv(参见?heatmap)或在gplots 包中使用heatmap.2,或者...希望对您有所帮助。

    【讨论】:

    • 完美!非常感谢您的帮助 - 非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-04
    • 2022-08-16
    • 1970-01-01
    • 2021-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多