У меня есть такой фрейм данных:
df <- data.frame(id = c(1,1,1,2,2,3,3,3,3),
vars = c(1,2,5, 1,3, 0,2,4,-1))
> df
id vars
1 1 1
2 1 2
3 1 5
4 2 1
5 2 3
6 3 0
7 3 2
8 3 4
9 3 -1
В этом фрейме данных каждый id
может иметь несколько наблюдений.Теперь я хочу выбрать для каждой id
пары (2 наблюдения), которые имеют наименьшую абсолютную разницу для vars
.
. В приведенном выше случае это будет
id vars
1 1 1
2 1 2
3 2 1
4 2 3
5 3 0
6 3 -1
дляid
1, значения 1 и 2 имеют самую низкую абсолютную разницу, id
2 имеет только 2 наблюдения, поэтому оба выбираются автоматически.для id
3 выбранные переменные будут 0 и -1, потому что абсолютная разница равна 1, что ниже, чем у всех других комбинаций.