【发布时间】:2016-05-11 20:53:42
【问题描述】:
我有一个如下所示的值数据表:
Score ID
1.2 1
2.4 1
1.1 1
1.9 1
2.4 2
3.5 2
2.2 2
1.1 3
1.1 3
1.7 3
3.1 3
2.2 3
而我真正需要的是在单独的列中计算每个 ID 的分数变化,如下所示:
Score ID Changes
1.2 1
2.4 1 1.2
1.1 1 -1.3
1.9 1 0.8
2.4 2
3.5 2 1.1
2.2 2 -1.3
1.1 3
1.1 3 0
1.7 3 0.6
3.1 3 1.4
2.2 3 -0.9
注意每个“变化”是如何通过获取先前的分数并从当前分数中减去来计算的:例如在第一次更改中,通过 1.2 = 2.4(当前分数)- 1.2(上一个分数)得到 1.2
问题是这些分数只能与 ID 范围内的分数相关。您不能只是迭代并获取分数的差异。我该怎么做?我可以使用什么逻辑来测试在同一 ID 中包含“更改”?我熟悉 R 或 python(或 BASH)来执行此操作。
【问题讨论】:
-
向我们展示您的尝试。
-
如果分数真的像这样,那么你当然可以遍历它们,只需添加一个 if 语句来检查之前的 ID 是否相同。