2016-09-09 12 views
-5

私は3列のA、B、Cのデータセットを持っており、多数の行の日付を含んでいます。 Cの日付がAとBの日付の範囲内にない行を省略したサブセットを作成するにはどうすればよいですか?Rの部分集合は日付の範囲に基づいています

+1

こんにちはJason、ようこそStackOverflow。 [this](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)を見て、再現性の少ない例を提供してください。 –

+0

また、この種の操作を「サブセッティング」と呼びます。これは簡単にGoogleの答えに役立ちます。何も見つからない場合は、*ここから質問をしてください。 – jakub

+0

[R - 文字列に特定の日付範囲内の日付が含まれているかどうかをチェックする](http://stackoverflow.com/questions/31716187/r-check-if-string-contains-dates-within-specific-date-range) – Sotos

答えて

0

あなたは次のような質問をしていますか?

のは、あなたの最初のデータフレームは以下の通りですDF、あるとしましょう:

df.sub <- df[apply(df, 1, function(x) (x[3] < min(x[1], x[2])) | 
             (x[3] > max(x[1], x[2]))),] 
df.sub 
      A   B   C 
1 2016-02-16 2016-03-21 2016-01-01 
2 2016-07-07 2016-06-17 2016-01-31 
3 2016-05-19 2016-09-10 2016-03-01 
5 2016-09-02 2016-06-15 2016-05-01 
7 2016-06-13 2016-06-23 2016-07-01 
9 2016-03-09 2016-05-13 2016-08-30 
10 2016-01-20 2016-09-01 2016-09-30 

:あなたは、次のサブセット操作は、我々は以下のデータフレームのサブセットを取得しなければならない場合は今すぐ

df 
      A   B   C 
1 2016-02-16 2016-03-21 2016-01-01 
2 2016-07-07 2016-06-17 2016-01-31 
3 2016-05-19 2016-09-10 2016-03-01 
4 2016-01-14 2016-08-21 2016-04-01 
5 2016-09-02 2016-06-15 2016-05-01 
6 2016-05-09 2016-07-17 2016-05-31 
7 2016-06-13 2016-06-23 2016-07-01 
8 2016-09-17 2016-03-11 2016-07-31 
9 2016-03-09 2016-05-13 2016-08-30 
10 2016-01-20 2016-09-01 2016-09-30 

それが役に立てば幸い。

関連する問題