我的數據是類似以下內容:日期最接近但比基於其他因素給定的日期早
data.frame(date=c("2013-07","2013-08","2013-09","2013-11",
"2013-11","2013-11","2014-02","2014-03"),
X=c("0","1","0","0","1","0","1","0"))
date x
1 2013-07 0
2 2013-08 1
3 2013-09 0
4 2013-11 0
5 2013-11 1
6 2013-11 0
7 2014-02 1
我想創建一個新的功能,顯示了不超過當前日期後的數據但是從當前日期最接近當x = 1
date x lastdate
1 2013-07 0 NA
2 2013-08 1 2013-08
3 2013-09 0 2013-08
4 2013-11 0 2013-11
5 2013-11 1 2013-11
6 2013-11 0 2013-11
7 2014-02 1 2014-02
8 2014-03 0 2014-02
是否可以添加關於語句中的邏輯如何構建「lastdate」向量應用程序的說明ropriately?我已經花費了一些時間,並且試着拼湊'findInterval()'和那個語句如何協同工作。不幸的是,我似乎無法圍繞基地R的條件邏輯如何決定從「1」向量拉或從「findInterval + 1」向量拉。 –
@leerssej我已經添加了一個解釋 - 希望它現在更清晰。正如旁註所說,只要你不明白某個代碼,就可以先將它制動成碎片。例如,你可以先看看'findInterval(df $ date,df $ date [df $ X ==「1」])+ 1'等。 –
謝謝。我把它分解成了所有的組件;實際上幾次。儘管如此,所有的個人作品都沒有加起來。你的解釋是有幫助的,因爲我認爲我現在明白你的解決方案似乎或多或少地嵌套它的向量:迭代地添加到它的「頂部」,因爲它發現它的第一個之前的值? –