Я рассчитываю суммы столбцов матрицы для каждой группы, где соответствующие значения групп также содержатся в столбцах матрицы. На данный момент я использую цикл следующим образом:
index <- matrix(c("A","A","B","B","B","B","A","A"),4,2)
x <- matrix(1:8,4,2)
for (i in 1:2) {
tapply(x[,i], index[,i], sum)
}
В конце дня мне нужен следующий результат:
1 2
A 3 15
B 7 11
Есть ли способ сделать это, используя матричные операции без цикла? Кроме того, реальные данные большие (например, 500 х 10000), поэтому они должны быть быстрыми.
Заранее спасибо.