2017-03-26 36 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)),]