我正在尝试根据列的值找到值窗口。该特定值应该在其值之前和之后的特定距离内。例如,如果值为6,并且与其前一个值和后一个值的距离在4之内,那么我想从另一列的此值窗口中选择值。例如,
word = c("A", "B", "c", "D", "E", "F", "G", "H", "I", "J", "K");
pos = c("2", "6", "10", "16", "22", "31", "44", "51", "62", "72", "75");
val = c("2.34", "6.32", "1.34", "2.45", "2.34", "3.56", "3.7", "3.12", "2.22", "2.34", "4.51");
dat = data.frame(word,pos,val)
在上述数据帧中,B的值为6,其对应的“val”为6.32。我想选择6的窗口,两边都是+/- 4,因此窗口应该是2 - 10(列-pos)。基于此窗口,我想选择列'val'的最小值,因此它将是1.34。
随后,对于值10(word-c),窗口将为6-16,因此列'val'中的相应窗口值为6.32,1.34,2.45,其中最小值为1.34。
我想对pos列中的所有值执行此操作,其值与前后值之差为+/- 4,以生成所有值的窗口,并从列'val'的该窗口中选择最小'val'值。任何帮助表示赞赏。