Предположим, у меня есть данные, которая выглядит следующим образомlapply: Нахождение суммы или среднее вместо подсчета
Id Name Price sales Profit Month Category Mode Supplier
1 1 A 2 5 8 1 X K John
2 1 A 2 6 9 2 X K John
3 1 A 2 5 8 3 X K John
4 2 B 2 4 6 1 X L Sam
5 2 B 2 3 4 2 X L Sam
6 2 B 2 5 7 3 X L Sam
7 3 C 2 5 11 1 X M John
8 3 C 2 5 11 2 X L John
9 3 C 2 5 11 3 X K John
10 4 D 2 8 10 1 Y M John
11 4 D 2 8 10 2 Y K John
12 4 D 2 5 7 3 Y K John
13 5 E 2 5 9 1 Y M Sam
14 5 E 2 5 9 2 Y L Sam
15 5 E 2 5 9 3 Y M Sam
16 6 F 2 4 7 1 Z M Kyle
17 6 F 2 5 8 2 Z L Kyle
18 6 F 2 5 8 3 Z M Kyle
Я заинтересован в нахождении под каждым category
(X, Y, Z), который supplier
использовали который Mode
и сделал сколько Profit
(может быть суммой или означает).
lapply(split(df, df$Category), function(x) table(as.character(x$Supplier), x$Mode))
Эта команда работает, чтобы найти номер поставщика под каждого режима для каждой категории, но как изменить его так, он может дать общее и среднее Profit сделал.
Edit 1: Ожидаемые результаты
Категория X
Mode
Supplier K L M
John 36 11 11
Sam 0 17 0
Kyle 0 0 0
Категория Y
Mode
Supplier K L M
John 17 0 10
Sam 0 9 18
Kyle 0 0 0
Категория Z
Этот выход для суммы прибыли.
Благодаря
@akrun сделал это сумма прибыли. –