我是R新手,目前正在處理一些降雨數據。我有兩個名爲df1和df2的數據框。如何爲r中特定日期範圍的行子集?
df1
Date Duration_sum
5/28/2014 110
5/31/2014 20
5/31/2014 20
6/1/2014 10
6/1/2014 110
6/3/2014 140
6/4/2014 40
6/5/2014 60
6/12/2014 10
6/14/2014 100
df2
Date PercentRemoval
6/2/2014 25.8
6/5/2014 78.58
6/6/2014 15.6
6/13/2014 70.06
我想從DF2查找的具體日期,DF1。例如,如果來自df2的第一個日期在df1中可用,我希望在該特定日期的範圍內且在此之前3天在df1中對行進行子集。如果該日期不可用,那麼只需查找前3天。
如果前3天的數據不可用,那麼它將提取儘可能多的天數,但最大限制是在df2的特定日期之前3天。如果df1中沒有可用的日期,則忽略該日期並在df2中查找下一個日期。另外,例如,2014年6月6日之前的3天以df1提供,但我們已經在6/5/2014之前考慮過那些日子。所以,6/6/2014被忽略了。
所得數據幀應該是這個樣子:
df3
col_1 Date Duration_sum
5/31/2014 20
5/31/2014 20
6/1/2014 10
6/2/2014 6/1/2014 110
6/3/2014 140
6/4/2014 40
6/5/2014 6/5/2014 60
6/13/2014 6/12/2014 10
我已經使用這個代碼:
df3 <- df1[df1$Date %in% as.Date(c(df2)),]
這段代碼讓我對具體的日期,但不是前3天的結果。我真的很感激如果有人可以幫我解決這個代碼或其他代碼。提前致謝。
太感謝你了!這正是我一直在尋找:) – Sami
@Sami快樂來幫助你。 :) – jazzurro
我非常需要你的幫助。如果我想解決此處提及的相同問題,會發生什麼情況,但在這種情況下,我不想從df2中刪除任何日期,該日期與df1中的前一個日期的間隔不超過3天。例如,在df2中,對於6/6/2014,在df1的3天範圍內有日期。所以,在這種情況下,我只想提取與之前的日期(6/5/2014)在df2中相同的值。 – Sami