我有一个 18528 行和 3 列的数据框,如下所示:
Sample  Target  Value
100      A       21.5
100      A       20.5
100      B       19.5
100      B       19.75
100      B       18.15
100      B       21.95
200      A       21.1
200      A       21.6
200      B       23.5
200      B       20.75
100      C       21.25
100      C       22.0
100      C       18.33
100      C       21.84
我需要计算每组中值之间的差异:
Sample  Target  Value   dif
100      A       21.5   1
100      A       20.5   1
100      B       19.5   0.25
100      B       19.75  1.6
100      B       18.15  3.8
100      B       21.95  2.45
200      A       21.1   0.5
200      A       21.6   0.5
200      B       23.5   2.75
200      B       20.75  2.75
100      C       21.25  0.75
100      C       22.0   3.67
100      C       18.33  3.51
100      C       21.84  0.59
然后,如果差异大于 2,则将该值设为“NA”,如:
Sample  Target  Value   dif
100      A       21.5   1
100      A       20.5   1
100      B       19.5   0.25
100      B       19.75  1.6
100      B       18.15  3.8
100      B       NA     2.45
200      A       21.1   0.5
200      A       21.6   0.5
200      B       NA     2.75
200      B       NA     2.75
100      C       21.25  0.75
100      C       22.0   3.67
100      C       NA     3.51
100      C       21.84  0.59
我用combn来计算差异,但我得到了错误,我认为原因可能是组(2和4)中的长度不同。提前致谢