8

100 個のサンプルを持つ ExpressionSet オブジェクトがあります。

> length(sampleNames(eset1))
100

75 個のサンプルの名前のベクトルもあります (データ自体ではありません)。

> length(vecOf75)
75

eset175 個のサンプル名に従ってサブセット化 (および保存) するにはどうすればよいですか? eset1つまり、名前が にリストされていないサンプルは無視したいのですvecOf75。75 のサンプル名に対応するサンプルの一部が に含まれていない可能性があることに注意してeset1ください。したがって、

> length(sampleNames(eset1))

<75 を与える必要があります。

4

2 に答える 2

8

ExpressionSet はマトリックスのようにサブセット化できるため、おそらく

eset2 = eset1[, sampleNames(eset1) %in% vecOf75]

またはもしそうall(vecOf75 %in% sampleNames(eset1))なら

eset1[, vecOf75]

「保存」の意味がわかりません。save(eset2, "some_file.rda") またはコンポーネントなどを抽出しexprs(eset2)、その他の標準 R 関数pData(eset2)を使用します。write.table

于 2012-02-10T20:41:38.050 に答える
2

eset1 <- vecOf75[vecOf75 %in% eset1]これは、vecOf75がeset1にあるvecOf75のものをeset1に保存することを意味します

数字を使った簡単な例:

eset1 <- sample(1:100)
vecOf75 <- sample(1:200,75)
eset1 <- vecOf75[vecOf75 %in% eset1]

または、使用することもできますsubset()が、']' によるサブセット化に慣れることは、プログラム的にはるかに便利です。

subset(vecOf75, vecOf75 %in% eset1)

于 2012-02-10T18:44:12.990 に答える