通过删除所有唯一行来子集数据帧

时间:2015-03-05 20:54:40

标签: r dataframe subset

我有一个像这样的数据框对象(“ed”):

        C1         C2   C3     C4      C5 C6         C7 C8 C9
1  5432750 11/05/2007 2007 354140 2045249  A 11/07/1951  F  M
2  6040226 07/01/2008 2008 354140 2755130  B 25/05/1969  M  N
3  6019750 05/05/2008 2008 354140 2755130  C 29/01/1999  M  O
4  6082148 09/05/2008 2008 354220 2751143  D 22/06/1990  F  P
5  6082149 10/05/2008 2008 354220 2751143  D 22/06/1990  F  P
6  6082150 11/05/2008 2008 354220 2751143  D 22/06/1990  F  P
7  5613588 10/05/2009 2009 354140 2755130  F 06/11/1933  F  Q
8  7291153 07/07/2010 2010 354140 2755130  H 29/09/1943  F  R
9  5663206 05/11/2010 2010 354140 2755130  I 31/08/1939  M  S
10 7240738 05/10/2011 2011 354140 2755130  J 03/10/1977  F  T
11 7798961 08/02/2012 2012 354140 2755130  K 02/10/1963  M  U
12 7798962 09/02/2012 2012 354140 2755130  K 02/10/1963  M  U

我需要通过删除所有唯一行并保留所有重复行来对此数据帧进行子集化。这包括“原始”行,即第一次出现,而不仅仅是沿着数据帧的重复行。

我接近使用以下方法获取所需的数据框对象:

ed[duplicated(ed[,c('C6','C7','C8','C9')]),] 

然而,它省略了第一次出现,这是有意义的,因为第一次出现不重复,并且不会被重复的功能捕获。

我也尝试过:

ed[!unique(ed[,c('C6','C7','C8','C9')]),] 

但它也不起作用。

0 个答案:

没有答案