2017-03-26 59 views
1

在R,I具有不同日期和PL值4個的數據幀:合併多個數據幀保持日期排序

頭(數組1)給出:

 Dates P&L 
1 2014-10-01 900 
2 2014-10-02 -3185 
3 2014-10-03 3800 
4 2014-10-07 -2300 
5 2014-10-08 2100 
6 2014-10-09 2400 

頭(數組2)給出:

 Dates  P&L 
1 2015-03-02 -6962.5 
2 2015-03-03 -14237.5 
3 2015-03-04 7862.5 
4 2015-03-05 925.0 
5 2015-03-09 -3725.0 
6 2015-03-10 262.5 

頭(ARRAY3)給出:

 Dates P&L 
1 2014-10-08 7160 
2 2014-10-09 7600 
3 2014-10-10 2260 
4 2014-10-13 4820 
5 2014-10-15 -1500 
6 2014-11-06 3030 

頭(array4)給出:

 Dates P&L 
1 2015-02-24 1245 
2 2015-03-06 10650 
3 2015-03-10 -200 
4 2015-04-17 -9690 
5 2015-05-15 -28740 
6 2015-05-26 3970 

我想聚集所有這些陣列在短短的一個陣列,記錄日期排序,當有多個值一個日期相加。有人可以幫幫我嗎?喬

+0

你使用什麼編程語言? R' – Psidom

+0

是(修改)。 TY Psidom – JoeBadAss

回答

1

一個選項是rbind所有的數據幀到一個單一的數據幀,則聚集的值針對Dates

agg <- aggregate(`P&L` ~ Dates, rbind(array1, array2, array3, array4), FUN = sum) 

agg[order(as.Date(agg$Dates)),] 

#  Dates  P&L 
#1 2014-10-01 900.0 
#2 2014-10-02 -3185.0 
#3 2014-10-03 3800.0 
#4 2014-10-07 -2300.0 
#5 2014-10-08 9260.0 
#6 2014-10-09 10000.0 
# ... 

或將四個陣列中的列表,使用do.call(rbind, ...綁定數據幀在一起:

lst <- list(array1, array2, array3, array4) 
agg <- aggregate(`P&L` ~ Dates, do.call(rbind, lst), FUN = sum) 

agg[order(as.Date(agg$Dates)),]