0

在 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

感谢您的时间和帮助。

4

1 回答 1

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函数将为具有相同分层变量的所有行复制sums。

于 2013-09-04T05:00:46.707 回答