我必须从我的数据框中删除很多名为countdata的行。每行对应一个基因,每列对应一个患者(样本)。为此,我列出了以这种方式在R中加载的.id格式的7667个基因。
remove <- read.table("unwanted.ensembl.gene.ids",
header=F, check.names=F)
这就是countdata的头和删除的样子。
> head(countdata[,1:5])
gene SRR1790991 SRR1790997 SRR1790999 SRR1791001
1 ENSG00000000003 5 32 10 33
2 ENSG00000000005 0 0 0 0
3 ENSG00000000419 2934 3075 2124 944
4 ENSG00000000457 686 670 630 735
5 ENSG00000000460 543 177 1986 824
6 ENSG00000000938 807 534 116 98
> head(remove)
V1
1 ENSG00000130600
2 ENSG00000163597
3 ENSG00000166917
4 ENSG00000174365
5 ENSG00000175061
6 ENSG00000186594
因此,我尝试使用以下代码删除“删除”中列出的所有行:
countdata <- countdata[!rownames(countdata) %in% remove,]
但是,当我比较命令前后的countdata的nrow()时,行数保持不变。
我也尝试失败:
countdata <- countdata[!(row.names(countdata) %in% remove),]
countdata <- countdata[!row.names(countdata) %in% remove,]
countdata <- countdata[!row.names(countdata) %in% remove$V1,]
countdata = countdata[!rownames(countdata) %in% remove[,1],]
我想我遇到了麻烦,因为我没有正确处理表“ remove”。任何帮助将不胜感激!