提取数据框中的重复记录

Har*_*y15 2 r dataframe

我有一个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  
Run Code Online (Sandbox Code Playgroud)

我试过使用,df[duplicated(df$a), ]但这只会提取重复的第二条记录,我想要这两条记录。最终目标是减去 19 和 32 这两个记录之间第二列中的年份。

akr*_*run 5

我们可以用

df[duplicated(df$a)|duplicated(df$a, fromLast=TRUE),]
#  a    b
#3 19 1971
#4 19 1981
#7 32 1994
#8 32 1999
Run Code Online (Sandbox Code Playgroud)