好的,这是我希望使用高效,优雅的解决方案解决的问题,例如data.table或dplyr.
限定:
DT = data.table(group=c(rep("A",3),rep("B",5)),value=c(2,9,2,3,4,1,0,3))
time group value
1: 1 A 2
2: 2 A 9
3: 3 A 2
4: 1 B 3
5: 2 B 4
6: 3 B 1
7: 4 B 0
8: 5 B 3
Run Code Online (Sandbox Code Playgroud)
我想要得到的是一组累计和的值除以它们被观察的时刻的逆序.
time group value RESULT
1: 1 A 2 2.000000
2: 2 A 9 10.000000
3: 3 A 2 7.166667
4: 1 B 3 3.000000
5: 2 B 4 5.500000
6: 3 B 1 4.000000
7: 4 B 0 2.583333 …Run Code Online (Sandbox Code Playgroud) 我正在尝试聚合两个数据帧(df1和df2).
第一个包含3个变量:ID,Date1和Date2.
DF1
ID Date1 Date2
1 2016-03-01 2016-04-01
1 2016-04-01 2016-05-01
2 2016-03-14 2016-04-15
2 2016-04-15 2016-05-17
3 2016-05-01 2016-06-10
3 2016-06-10 2016-07-15
Run Code Online (Sandbox Code Playgroud)
第二个还包含3个变量:ID,Date3和Value.
DF2
ID Date3 Value
1 2016-03-15 5
1 2016-04-04 7
1 2016-04-28 7
2 2016-03-18 3
2 2016-03-27 5
2 2016-04-08 9
2 2016-04-20 2
3 2016-05-05 6
3 2016-05-25 8
3 2016-06-13 3
Run Code Online (Sandbox Code Playgroud)
这个想法是让,每个df1行的总和,df2$Value具有相同 …