Мне дана большая таблица данных, которую нужно агрегировать в соответствии с первым столбцом:
Проблема заключается в следующем:
- Для нескольких столбцов один просто имеетчтобы сформировать сумму для каждой категории (приведенной в столбце 1)
- Для других столбцов необходимо рассчитать среднее значение
- Между записями в первой и второй есть соответствие 1-1колонны.Таким образом, записи второго столбца должны быть сохранены.
Ниже приведен возможный пример такой таблицы данных.Предположим, что столбцы 3-9 необходимо суммировать, а столбцы 10-12 - усреднить.
library(data.table)
set.seed(1)
a<-matrix(c("cat1","text1","cat2","text2","cat3","text3"),nrow=3,byrow=TRUE)
M<-do.call(rbind, replicate(1000, a, simplify=FALSE)) # where m is your matrix
M<-cbind(M,matrix(sample(c(1:100),3000*10,replace=TRUE ),ncol=10))
M <- as.data.table(M)
Результатом должна быть таблица вида
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12
1: cat1 text1 27 81 78 95 27 22 12 76 18 76
2: cat2 text2 38 48 70 100 11 97 8 53 56 33
3: cat3 text3 58 18 66 24 14 73 18 27 92 70
, нос записями соответствующих сумм соответствующих средних.