我有一个看起来像的数据框
day.of.week count
1 0 3
2 3 1
3 4 1
4 5 1
5 6 3
Run Code Online (Sandbox Code Playgroud)
和另一个像
day.of.week count
1 0 17
2 1 6
3 2 1
4 3 1
5 4 5
6 5 1
7 6 13
Run Code Online (Sandbox Code Playgroud)
我想基于day.of.week将df1中的值添加到df2.我试图使用ddply
total=ddply(merge(total, subtotal, all.x=TRUE,all.y=TRUE),
.(day.of.week), summarize, count=sum(count))
Run Code Online (Sandbox Code Playgroud)
几乎可以工作,但merge合并了具有共享值的行.例如,在上面的例子中,day.of.week = 5.它不是合并到两个记录,每个记录与计数一,而是合并到一个记录计数一,所以而不是总计数为2,我总计数为1.
day.of.week count
1 0 3
2 0 17
3 1 6
4 2 1
5 3 1
6 4 1
7 4 5
8 5 1
9 6 3
10 6 13
Run Code Online (Sandbox Code Playgroud)
没有必要合并.你可以干脆做
ddply(rbind(d1, d2), .(day.of.week), summarize, sum_count = sum(count))
Run Code Online (Sandbox Code Playgroud)
我假设两个数据框都有相同的列名day.of.week和count