2016-02-29 36 views
0

我有一個data frame,我想要選擇具有重複值的兩個行。在下面的例子中,我想要一個新的數據框或兩個獨立的數據框,分別爲19和32的兩個記錄。提取數據框中的重複記錄

 a <- c(8, 18, 19, 19, 20, 30, 32, 32, 58) 
     b <- c(1950, 1965, 1971, 1981, 1999, 1969, 1994, 1985) 
     df <- data.frame(a,b)  
     df 
     a b 
     1 8 1950 
     2 18 1965 
     3 19 1971 
     4 19 1981 
     5 20 1999 
     6 30 1969 
     7 32 1994 
     8 32 1999 
     9 58 1985 

我一直在使用df[duplicated(df$a), ]嘗試,但這隻提取該被複制第二個記錄,在這裏我想他們兩個。最終目標是減去年第二列19兩個記錄和32

回答

1

我們可以使用

df[duplicated(df$a)|duplicated(df$a, fromLast=TRUE),] 
# a b 
#3 19 1971 
#4 19 1981 
#7 32 1994 
#8 32 1999 
之間