2012-02-10 22 views
7

Tengo un objeto ExpressionSet con 100 muestras:subconjunto de muestras para un objeto ExpressionSet

> length(sampleNames(eset1)) 
100 

También tengo un vector de los nombres de 75 muestras (no de los datos en sí):

> length(vecOf75) 
75 

¿Cómo puedo subconjunto eset1 (y guardarlo) de acuerdo con los 75 nombres de muestra? Es decir, quiero ignorar esas muestras en eset1 cuyos nombres no están enumerados en vecOf75. Tenga en cuenta que algunas de las muestras correspondientes a los 75 nombres de muestra pueden no estar en eset1. Por lo tanto,

> length(sampleNames(eset1)) 

ahora debe dar algo < 75.

Respuesta

6

Un ExpressionSet puede subconjunto como una matriz, así que tal vez

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

o si all(vecOf75 %in% sampleNames(eset1)) a continuación, sólo

eset1[, vecOf75] 

No estoy seguro que en 'Guardar' significa; Guarde (eset2, "some_file.rda") o extraiga los componentes exprs(eset2), pData(eset2) etc., y use write.table y otras funciones R estándar.

+0

Al 'guardar', quise actualizar 'eset1' con su subconjunto en lugar de crear un nuevo Objeto RData como 'eset2'. Gracias. – user1202664

2

eset1 <- vecOf75[vecOf75 %in% eset1] Este dice, salvo a los de eset1 vecOf75 donde vecOf75 está en eset1

Un ejemplo trivial usando números:

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

Como alternativa, puede usar subset() pero, acostumbrarse a subconjuntos a través de ']' es mucho más útil mediante programación.

+0

Eso no funcionará con objetos ExpressionSet (paquete Bioconductor). – user1202664

+0

Si observa el objeto con más profundidad 'str (obj)', estoy seguro de que puede encontrar dónde se almacenan los nombres de los caracteres y ajustar el código anterior con unos pocos vecof75 [vecOf75 $ storage% en% eset1 $ storage] O algo por el estilo. –

+0

Además, 'vecOf75' solo contiene los nombres de las columnas (o muestras para un objeto ExpressionSet). No contiene los datos reales. – user1202664

Cuestiones relacionadas