首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DESeq2 -组织列数多于元数据行数的数据,删除数据集之间不匹配的TCGA

DESeq2 -组织列数多于元数据行数的数据,删除数据集之间不匹配的TCGA
EN

Stack Overflow用户
提问于 2021-01-27 14:44:14
回答 1查看 15关注 0票数 0

我正在与DESeq2一起运行数据分析,其中包括来自Broad firehose的一些肺鳞癌数据。我使用了RNAseq数据,计数数据的原始计数,我的元数据是从CNV上的Broad firehose数据生成的。这两个数据集通过TCGA in关联,每个数据集都包含匹配的in,但是原始计数数据有几个与元数据中不匹配/不存在的“额外”TCGA in。counts length = 552,meta length = 501我需要以相同的顺序获取元数据和原始计数数据,并使数据集包含匹配的TCGA ID,并删除不匹配的ID/样本。

我一直在尝试使用,match和% in %的不同方法来完成这项工作,我可以确定原始计数数据与元数据不具有相同TCGA ID的位置,但无法理解如何获取原始计数并删除与元数据中的样本不匹配的ID/样本。

任何想法都将有助于如何匹配两个数据集,并消除不匹配的行/列。

代码语言:javascript
复制
colnames(lusc_reads)
  [1] "TCGA-18-3406" "TCGA-18-3407" "TCGA-18-3408" "TCGA-18-3409" "TCGA-18-3410" 
rownames(lusc_meta)
  [1] "TCGA-60-2722" "TCGA-43-7657" "TCGA-58-A46N" "TCGA-NC-A5HL" "TCGA-63-A5MB"
match(colnames(lusc_reads), rownames(lusc_meta))
  [1] 318 265 114 372 353 150   8 287 215  57 199 268 239 179 164 249 383  17 274
EN

回答 1

Stack Overflow用户

发布于 2021-04-16 17:33:53

假设lusc_reads和lusc_meta是数据帧,这应该是可行的:

代码语言:javascript
复制
samples_to_keep <- as.vector(rownames(lusc_meta))
lusc_reads_new <- lusc_reads[colnames(lusc_reads) %in% samples_to_keep]

以与元数据相同的顺序放置它们

代码语言:javascript
复制
lusc_reads_new <- lusc_reads_new[,match(samples_to_keep, colnames(lusc_reads_new))]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65914093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档