从表中按名称删除数据框中的行

时间:2018-07-13 16:49:17

标签: r dataframe rows

我必须从我的数据框中删除很多名为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”。任何帮助将不胜感激!

0 个答案:

没有答案