我有一个包含重复行的大型数据集。但是,重复行在除了一列之外的所有列中都是相同的,这使得使用dplyr duplicated()或unique()函数很困难。如下所示(短数据示例),这些行几乎完全相同,只有第一列gene_ID的末尾不同。
gene_ID | Gene_Identifier | Category | Length |
---|---|---|---|
Wdfy1_chr1_79702262_79776143(-)_transcript=ENSMUST00000113515.7 | Wdfy1 | Spliced | 4551 |
Wdfy1_chr1_79702262_79776143(-)_transcript=ENSMUST00000113514.7 | Wdfy1 | Spliced | 4551 |
Wdfy1_chr1_79702262_79776143(-)_transcript=ENSMUST00000113513.7 | Wdfy1 | Spliced | 4551 |
Wdfy1_chr1_79702262_79776143(-)_transcript=ENSMUST00000113512.7 | Wdfy1 | Spliced | 4551 |
我想删除除第一个条目之外的所有行。
我已经尝试过:
test <- aggregate(gene_ID ~ ., df, toString)
这个合并的行数比我预期的要多(大约4000行和50行),所以我不确定这是否正确。我目前正在逐行查看以确认它是否实际上做了我想要的事情。
test2 <- df %>%
group_by_at(vars(-gene_ID)) %>%
filter(n() > 1)
^^^这并不保留任何重复项,而是将它们全部删除了。
test3 <- df %>%
group_by_at(vars(-gene_ID)) %>%
duplicated(df)
^^^^ 这个错误提示:"错误:参数'incomparables != FALSE'尚未使用"