我有一个包含 100 个样本的 ExpressionSet 对象:
> length(sampleNames(eset1))
100
我还有一个包含 75 个样本的名称向量(不是数据本身):
> length(vecOf75)
75
如何根据 75 个样本名称对 eset1
进行子集化(并保存)?也就是说,我想忽略 eset1
中那些名称未在 vecOf75
中列出的样本。请记住,与 75 个样本名称相对应的某些样本可能不在 eset1
中。因此,
> length(sampleNames(eset1))
现在应该给出<75。
最佳答案
ExpressionSet 可以像矩阵一样是子集,所以也许
eset2 = eset1[, sampleNames(eset1) %in% vecOf75]
或者如果all(vecOf75 %in%sampleNames(eset1))
那么就
eset1[, vecOf75]
不确定“保存”是什么意思; save(eset2, "some_file.rda") 或提取组件 exprs(eset2)
、pData(eset2)
等,并使用 write.table
和其他标准 R 函数。
关于r - 按 ExpressionSet 对象的样本进行子集化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9232872/