Допустим, у меня есть следующий набор данных:
ID Type Group Week Value
111 A Pepper -1 10
112 B Salt 2 20
113 C Curry 4 40
114 D Rosemary 9 90
211 A Pepper -1 15
212 B Salt 2 30
214 D Rosemary 9 135
Где ID, тип и группа, а также неделя вводятся в измерительный прибор, измеряющий «значение» каждую неделю. Иногда есть несколько результатов в неделю, поэтому первоначальная проверка заключалась в том, чтобы создать среднее для каждого еженедельного измерения.
Я бы хотел
a) создать набор данных, в котором строки автоматически вставляются, если в столбце Week есть пустые строки, поэтому он выглядит следующим образом - всегда с порядком типа A, B, C, D и групповой порядок Перец, Соль, Карри, Розмарин и Неделя -1, 2, 4, 9.
ID Type Group Week Value
111 A Pepper -1 10
112 B Salt 2 20
113 C Curry 4 40
114 D Rosemary 9 90
211 A Pepper -1 15
212 B Salt 2 30
213 C Curry 4 60
214 D Rosemary 9 135
b) Цель состоит в том, чтобы рассчитать разницу между измеренными значениями в вертикальной плоскости только для каждой группы ie:
ID Type Group Week Value Diff
111 A Pepper -1 10 NA
112 B Salt 2 20 10
113 C Curry 4 40 20
114 D Rosemary 9 90 50
211 A Pepper -1 15 NA
212 B Salt 2 30 15
213 C Curry 4 60 30
214 D Rosemary 9 135 75
Я могу видеть, как это сделать в для l oop, но должен быть более элегантный способ?