【发布时间】:2015-02-14 09:03:47
【问题描述】:
我有一个数据集a,如下
Dictionary ActMin ActMax
3145 5 10
32441 10 19
3245 25 32
416356 37 46
4H22 82 130
%ABC 1 27
我有另一个数据集b,如下
ID Test Obs Year
1 3145-MN 11 1994
2 3145-NY 17 1992
1 416356-FL 57 1995
1 32441-MN 13 1995
2 3145-MN 8 1993
2 3245-NY 27 1983
3 3245-FL 45 2003
2 3145-MN 6 2001
3 %ABC-NY 33 1996
4 4H22-TX 97 1984
我想做的是像这样生成output
Id Test Obs Results Year Description
1 3145-MN 11 High 1994 Tested 3145 High on 1994, 4163 High on 1995,
2 3145-NY 17 High 1992 Tested 3145 High on 1992
1 416356-FL 57 High 1995
1 32441-MN 13 Normal 1995
2 3145-MN 8 Normal 1993
2 3245-NY 27 Normal 1983
3 3245-FL 45 High 2003 Tested 3245 High on 2003
2 3145-MN 6 Normal 2001
3 %ABC-NY 33 High 1996
4 4H22-TX 27 Normal 1984
第一个数据集a 是一个字典,其中存储了唯一的测试编号3145、3244 等以及它们的Minimum 和Maximum 值
第二个数据集b 是实际测试结果数据集,存储实际观察到的结果。将b 中特定测试的观察值与数据集a 中的最小值和最大值进行比较。如果b 中的观察值大于a 中的实际最小值和最大值,则结果列应更新为high,否则Normal。 description 列应提供每个 ID 列高的测试摘要(每个 ID 1 个摘要)。
在这个复杂的循环、if 语句和结果聚合方面需要帮助。
【问题讨论】:
标签: r if-statement for-loop dplyr