通过删除特定列中具有相同值的行来设置数据框

时间:2016-07-13 09:23:37

标签: r dataframe subset

我想通过删除特定列中具有相同值的行来对数据框进行子集化。

这是我的数据框:

        ID    Area        Date    Day 
1    21009  4390.0  1979-12-27   4835 
2    24005   178.5  1979-12-27   4835
3    27001   484.3  1979-12-27   4835   
4    27002   758.9  1979-12-27   4835  
5    38003   133.9  1979-12-27   4835
6    33014   272.0  2004-02-01  13637    
7    33029    98.8  2004-02-01  13637     
8    34003   164.7  2004-02-01  13637   
9    23118   220.8  2007-01-18  14502

我的输出应该是:

     ID    Area        Date    Day 
1    21009  4390.0  1979-12-27   4835 
2    33014   272.0  2004-02-01  13637       
3    23118   220.8  2007-01-18  14502

我尝试但没有工作:

df <- subset(df, Day == unique(Day)) 

df <- df[df == unique(df$Day), ]

以下代码只返回一个带unique(df$Day)的向量,这很好,但我需要将所有数据帧子集化:

df <- unique(df[ , 4] )

1 个答案:

答案 0 :(得分:1)

使用重复:

df[!duplicated(df$Day), ]

#      ID   Area       Date   Day
# 1 21009 4390.0 1979-12-27  4835
# 6 33014  272.0 2004-02-01 13637
# 9 23118  220.8 2007-01-18 14502