Tôi cần sử dụng nhóm theo cấp độ với ddply hoặc tổng hợp nếu điều đó dễ dàng hơn. Tôi không thực sự chắc chắn làm thế nào để làm điều này như tôi cần phải sử dụng cumsum như chức năng tổng hợp của tôi. Đây là những gì dữ liệu của tôi trông giống như:cumsum sử dụng ddply
level1 level2 hour product
A tea 0 7
A tea 1 2
A tea 2 9
A coffee 17 7
A coffee 18 2
A coffee 20 4
B coffee 0 2
B coffee 1 3
B coffee 2 4
B tea 21 3
B tea 22 1
đầu ra mong đợi:
A tea 0 7
A tea 1 9
A tea 2 18
A coffee 17 7
A coffee 18 9
A coffee 20 13
B coffee 0 2
B coffee 1 5
B coffee 2 9
B tea 21 3
B tea 22 4
Tôi đã cố gắng sử dụng
ddply(dd,c("level1","level2","hour"),summarise,cumsum(product))
nhưng điều đó không tổng hợp mà tôi nghĩ là do cột giờ đang được sử dụng cho nhóm và được phân chia bởi nó .. Tôi nghĩ .. Tôi không chắc tôi hoàn toàn hiểu cách thức tổng hợp hoạt động ở đây. Có cách nào tôi có thể nhận được sản lượng yêu cầu bằng cách sử dụng tổng hợp hoặc ddply?
Tôi không nghĩ rằng bạn có nghĩa là để tóm tắt bởi level1 + level2 + giờ, bởi vì sau đó, sự kết hợp của bạn sẽ khác với những gì bạn đã được hiển thị. – A5C1D2H2I1M1N2O1R2T1