我有一个文件(df),包含2个非常大的列,A和B(每个约1000000个元素)。我知道我在A中有很多重复的值。我知道如何删除重复项(删除每个副本的第二行):
df1 = df[!duplicated(df$A), ]
但是我想删除副本中的第一行并保留第二行。例如,在下面的示例中,我想删除71 T并保持71 C,而不是相反:
A B
4 A
8 C
21 T
71 T
71 C
74 C
75 G
78 C
86 T
非常感谢
答案 0 :(得分:2)
使用dplyr,您可以执行以下操作:
library(dplyr)
df %>% group_by(A) %>% slice(-1)
如果您需要首先以特定方式安排A列,您可以按如下方式将安排纳入混合:
library(dplyr)
df %>% arrange(A) %>% group_by(A) %>% slice(-1) # sorts A in ascending order