在数据框中提取重复记录

时间:2016-02-29 19:14:46

标签: 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  

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

1 个答案:

答案 0 :(得分:1)

我们可以使用

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