我有一个结束日期不明确的数据集。因为我无法决定哪一个是正确的,所以我想将它们从数据帧中删除,但无法找出方法。
以下是df示例:
ID = as.integer(c(1,1,2,2,2,3,3,4,5,5,6,6))
Feature = c("A","A","A","A","A","A","B","B","B","B","B","C")
From = as.Date(c("2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2016-01-01","2015-01-01","2015-01-01"))
To = as.Date(c("2016-01-01", NA, "2015-01-01", "2016-01-01", "2017-01-01", "2016-01-01", "2017-01-01", "2016-01-01","2016-01-01","2017-01-01","2016-01-01","2016-01-01"))
df = data.frame(ID, Feature, From, To)
#which looks like this:
ID Feature From To
1 1 A 2015-01-01 2016-01-01
2 1 A 2015-01-01 <NA>
3 2 A 2015-01-01 2015-01-01
4 2 A 2015-01-01 2016-01-01
5 2 A 2015-01-01 2017-01-01
6 3 A 2015-01-01 2016-01-01
7 3 B 2015-01-01 2017-01-01
8 4 B 2015-01-01 2016-01-01
9 5 B 2015-01-01 2016-01-01
10 5 B 2016-01-01 2017-01-01
11 6 B 2015-01-01 2016-01-01
12 6 C 2015-01-01 2016-01-01
我想删除每个变量上重复的所有模糊情况,最后一个除外(ID 1和2就是这样的情况)。数据集中允许存在任何其他差异或重复性。
编辑:也许,我应该指定Feature变量表示
劳动力市场上的某些不利因素(如残疾、,
单身父母、没有工作经验的年轻毕业生等)。那么一个
一个人可能有多个缺点,这些缺点可能发生在多个方面
《泰晤士报》。我编辑了原始样本df以考虑这种差异。
我的理想样本df将保留以下情况:
ID Feature From To
6 3 A 2015-01-01 2016-01-01
7 3 B 2015-01-01 2017-01-01
8 4 B 2015-01-01 2016-01-01
9 5 B 2015-01-01 2016-01-01
10 5 B 2016-01-01 2017-01-01
11 6 B 2015-01-01 2016-01-01
12 6 C 2015-01-01 2016-01-01
我一直在研究其他关于重复和不同功能的SO问题,但找不到类似的帖子。我认为我的问题与
this
因为我不在乎数据集中保留的案例(特征)数量,只要它们的日期不矛盾。Condradition是指一个特征被识别了两次,具有相同的开始日期,但是
不同的结束日期
。在这种情况下,我不知道该选择哪一个,所以我宁愿完全删除它们。
我也一直在玩弄这些功能,例如:
select = !duplicated(df[,1:3])
df[select,]
但无法找到一种方法来删除重复案例的两对,而不仅仅是第二对。
提前感谢您提供的任何提示!