我有ID的數據幀(df1
),日期被按升序以(1)ID &(2)日期排序:基於組級子集R數據幀值
ID____Date
1_____1990-01-01
1_____1991-01-01
1_____1992-01-01
1_____1993-01-01
2_____1990-01-01
2_____1991-01-01
3_____1990-01-01
3_____1991-01-01
3_____1992-01-01
我想到子集基於從以下數據幀組的電平值(df2
)上面的數據幀:
ID____Date
1_____1993-01-01
2_____1990-01-01
3_____1991-01-01
子集條件:選擇在df1
針對日期小於或等於特定的ID的所有行(<=
)df2
中對應ID的日期。
在上述例子中所期望的輸出是:
ID____Date
1_____1991-01-01
1_____1992-01-01
1_____1993-01-01
2_____1990-01-01
3_____1990-01-01
3_____1991-01-01
基礎R解決方案的工作比data.table和sqldf快得多。在1秒內處理了200萬行,而對於sqldf爲20秒,數據爲2秒。表 –
@NaveenMathew這是因爲不是加入,我們使用'match'來獲取索引。它快得多。 – akrun