r - 按 ExpressionSet 对象的样本进行子集化

标签 r bioconductor

我有一个包含 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/

相关文章:

r - 尝试安装 rgeos R 时找不到 -lgeos

在 debian 上的 R 中安装 rJava

R 正则表达式问题 : "-\\s[A-Z]" Lowercase the matched uppercase letter and delete dash+whitespace

r - 高效创建向量编码另一个向量的位置权重之和

r - 找到重叠区域并提取各自的值

r - 在ggplot2中使用facet_wrap和scales = "free"设置各个轴限制

r - 在 R 中如何用英语获取错误消息

r - 一种测试一组外显子/内含子/utr 基因组位置的方法?

r - 错误 : Bioconductor version '3.13' requires R version '4.1' (R version 4. 0.2)

r - R 中多个区间内的平均信号