如何基于R中列的值组合排除行?

在我的数据框中,我有超过26万行。每个人(ID)都有4行,每年(2013年至2016年)一行。我的专栏有问题。每个ID只能在2013年使用“ 0”(我已经排除了在2013年使用“ 1”标识的ID)。此外,他们只允许在2014、2015和2016年使用“ 0”(因此是“ 0”的3倍),或者在2014、2015和2016年使用“ 1”(因此是3在“ 1”中的百分比)。如果在2014、2015和2016年混合使用“ 0”和“ 1”,则我想完全排除ID。

structure(list(Year = c(2013, 2014, 2015, 2016, 2013, 2014, 2015, 
2016, 2013, 2014, 2015, 2016, 2013, 2014, 2015, 2016), Value = c(0, 
0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1), ID = c(1, 1, 1, 
1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4), Gender = c(0, 0, 0, 0, 
0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1)), row.names = c(NA, -16L), class = c("tbl_df", 
"tbl", "data.frame")) 

tibble [16 x 4] (S3: tbl_df/tbl/data.frame)
 $ Year  : num [1:16] 2013 2014 2015 2016 2013 ...
 $ Value : num [1:16] 0 0 0 0 0 1 1 1 0 1 ...
 $ ID    : num [1:16] 1 1 1 1 2 2 2 2 3 3 ...
 $ Gender: num [1:16] 0 0 0 0 0 0 0 0 1 1 ...

我已经尝试使用filter / subset和| /&;进行一些操作。但我不知道。我的数据框中还有更多列,然后在上方显示。 希望有人可以帮助我。 谢谢!