ID Date1 Date2 Date3
1111 4/6/2016 NA 5/1/2016
1111 4/6/2016 3/31/2016 NA
1111 4/6/2016 4/2/2016 3/29/2016
1112 4/17/2016 4/29/2016 6/2/2016
1112 4/17/2016 5/1/2016 5/16/2016
1112 4/17/2016 NA 2/1/2016
1113 4/6/2016 3/4/2016 5/12/2016
1113 4/6/2016 4/4/2016 2/16/2016
1114 5/2/2016 4/20/2016 5/29/2016
1114 5/2/2016 4/30/2016 5/21/2016
1115 3/31/2016 2/3/2016 2/2/2016
1115 3/31/2016 2/5/2016 2/4/2016
上記のデータセットでは、Date3のMAX(最新)値とDate(ID2)のMIN(最も古い)値を選択します。R:特定の条件に基づいて行を選択します。
Date2の少なくとも1つの値は、Date1よりも少なく(古い)、Date3の1つの値はDate1 PER IDよりも新しい(新しい)ものです。
私は次のように返されるのでしょう:
1111 4/6/2016 3/31/2016 5/1/2016
1113 4/6/2016 3/4/2016 5/12/2016
1114 5/2/2016 4/20/2016 5/29/2016
(日付2でどちらの値が日付1未満であるため、1112が返されないだろう、とDate3でどちらの値がより大きいので、1115が返されることはありません日付1)。
私はこれをかなりの時間(私は初心者のコーダーです)作業していますので、どんな助けでも大歓迎です!
おかげまず、あなたの条件に一致するIDのセットを取得します。私が探している最初のデータフレームは、大雑把な目で見ればわかりません(私はずっと効率の低いコードを使って同様の結果を得ています)。しかし、私が本当に苦労していることである上に挙げた条件(「与えられた」の下に列挙されている)に合致する必要があります。それについてのアドバイスは? – chr
これは、Date2 date1のようなレコードしかないことを確認するfilter(Date2 Date1)を持っている理由です。 –
Zakkery
申し訳ありませんが、私は初めてその部分を逃しました。これは機能し、私が自分で作業していたものよりはるかに簡単です。ありがとう! – chr