为多组多级数据结构中的值创建空的缺失行,并计算组内行之间的差异

假设我有以下数据集:

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、Type、Group和week是在测量仪器中输入的,该仪器每周测量“值”。有时每周有多个结果,所以最初的整理是为每个每周的测量创建一个平均值。

我想

a)创建一个dataset,在Week-column中有空行的地方自动插入行,因此它看起来像这样-始终使用类型order A,B,C,D和Group order Pepper,Salt,Curry,Rosemary和Week -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)目标是仅为每组计算垂直平面上的测量值之间的差,即:

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

我可以看到如何在for循环中做到这一点,但一定有更优雅的方法?

转载请注明出处:http://www.hengzou.net/article/20230526/2239506.html