R 不重复的子集行

R 不重复的子集行,r,R,我有一个主要由重复行组成的数据集(data.frame)。我想对它进行子集划分,以便只获取最初没有重复项的行。原始df的示例: df1 <- data.frame( ID = c("1", "1","2","2","3","3","4","4"), V_1 = c(2011,2011,NA,NA,1,10,7,7), V_2= c(5,5,6,6,15,15,8,2)) df1给你 duplicated.i = duplicated(df1) | (duplicated(df1[

我有一个主要由重复行组成的数据集(data.frame)。我想对它进行子集划分,以便只获取最初没有重复项的行。原始df的示例:

df1 <- data.frame( ID = c("1", "1","2","2","3","3","4","4"), V_1 = c(2011,2011,NA,NA,1,10,7,7), V_2= c(5,5,6,6,15,15,8,2))    
df1给你

duplicated.i = duplicated(df1) | (duplicated(df1[nrow(df1):1,]))[nrow(df1):1]
df2 = df1[!duplicated.i,]

# ID V_1 V_2
# 5  3   1  15
# 6  3  10  15
# 7  4   7   8
# 8  4   7   2
给你

duplicated.i = duplicated(df1) | (duplicated(df1[nrow(df1):1,]))[nrow(df1):1]
df2 = df1[!duplicated.i,]

# ID V_1 V_2
# 5  3   1  15
# 6  3  10  15
# 7  4   7   8
# 8  4   7   2

我们可以删除重复行的ID,并将其从整个数据帧中排除

df1[!df1$ID %in% df1[duplicated(df1),1 ], ]

#  ID V_1 V_2
#5  3   1  15
#6  3  10  15
#7  4   7   8
#8  4   7   2

我们可以删除重复行的ID,并将其从整个数据帧中排除

df1[!df1$ID %in% df1[duplicated(df1),1 ], ]

#  ID V_1 V_2
#5  3   1  15
#6  3  10  15
#7  4   7   8
#8  4   7   2