我有一个带有100个样本的ExpressionSet对象:
> length(sampleNames(eset1))
100
我还有一个包含75个样本名称的向量(不是数据本身):
> length(vecOf75)
75
如何根据75个样本名称对
eset1
进行子集化(并保存)?也就是说,我要忽略eset1
中未列出名称的vecOf75
中的那些样本。请记住,与75个样本名称相对应的一些样本可能不在eset1
中。从而,> length(sampleNames(eset1))
现在应该给出
最佳答案
ExpressionSet可以像矩阵一样是子集,所以也许
eset2 = eset1[, sampleNames(eset1) %in% vecOf75]
或者如果
all(vecOf75 %in% sampleNames(eset1))
eset1[, vecOf75]
不知道“保存”是什么意思;保存(eset2,“ some_file.rda”)或提取组件
exprs(eset2)
,pData(eset2)
等,并使用write.table
和其他标准R函数。