再現可能な例として、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
たとえば、現在の sampleNames のシャッフルからsampleNames
列インデックスを作成することにより、インデックスまたは を使用して、ExpressionSet をマトリックスのようにサブセット化できます。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 を使用するか、または...