Select only observations in a df that are minimally a half year apart, starting from the last observation
<h1>Introduction to my problem</h1>

<p>I have a dataframe with unequal observations per individual and I only want to include observations that are more than a half your apart. <br> 
I want to select the <strong>last</strong> observation per individual <em>first</em> and then select the next observation that is <strong>minimally</strong> a half year earlier. </p>

<h2>Example df</h2>

<pre><code>ID     Date        Var1 ... Var12
100    13/02/2012    x       x
100    14/09/2012    x       x
100    31/01/2013    x       x
100    18/12/2012    x       x
101    29/04/2012    x       x
102    01/11/2012    x       x
103    12/08/2012    x       x
103    22/08/2013    x       x
103    26/09/2013    x       x
103    22/01/2014    x       x
104    19/01/2012    x       x 
104    17/02/2014    x       x
104    15/03/2014    x       x
104    12/05/2015    x       x
</code></pre>

<p>The intended df should look something like this after selecting the right observations</p>

<pre><code>ID     Date        Var1 ... Var12
100    13/02/2012    x       x
100    14/09/2012    x       x
100    18/12/2013    x       x
101    29/04/2012    x       x
102    01/11/2012    x       x
103    12/08/2012    x       x
103    22/08/2013    x       x
103    22/01/2014    x       x
104    19/01/2012    x       x 
104    17/02/2014    x       x
104    12/05/2015    x       x
</code></pre>

<h1>What I have tried</h1>

<p>I tried to write a loop, but I was not able to deal with the selection problem.
Thank you in advance for any suggestions</p>