在R:
我不确定这个问题的正确标题是什么,所以也许有人可以帮助我。这将不胜感激。如果这被称为易于搜索的东西,我很抱歉。
所以我有一个参差不齐的数组矩阵(多个UPCS)
[upc] [quantity] [day] [daysum]
[1] 123 11 1 NA
[2] 123 2 1 NA
[3] 789 5 1 NA
[4] 456 10 2 NA
[5] 789 6 2 NA
我希望UPC每天对矩阵求和,例如:
[upc] [quantity] [day] [daysum]
[1] 123 11 1 13
[2] 123 2 1 13
[3] 789 5 1 5
[4] 456 10 2 10
[5] 789 6 2 6
感谢您的时间和帮助。
答案 0 :(得分:1)
你还没有描述“干净矩阵”应该发生什么,但是从你的较大矩阵中创建一个“列”的代码适合在行对齐的基础上绑定它很简单:
B <- cbind(B, daysum=ave(B[, 'quantity'], # analysis variable
B[, 'upc'], B[ , 'day'], # strata variables
FUN=sum) ) # function applied in strata
这当然假设B确实具有所示的列名。如果它实际上是一个数据帧,也应该工作,虽然输出并不表明你实际上还有R对象。 ave
函数将为具有相同分层变量的所有行复制sum
。