У меня был похожий вопрос здесь , но этот вопрос немного отличается.
Я хотел бы вернуть значения с условиями сопоставления в другом столбце на основе критерия оценки сокращения. Если оценки не доступны в переменной, я хотел бы получить самое близкое большее значение для первого и второго разреза и захватить самое маленькое значение для третьего разреза. Вот снимок набора данных:
ids <- c(1,2,3,4,5,6,7,8,9,10)
scores.a <- c(512,531,541,555,562,565,570,572,573,588)
scores.b <- c(12,13,14,15,16,17,18,19,20,21)
data <- data.frame(ids, scores.a, scores.b)
> data
ids scores.a scores.b
1 1 512 12
2 2 531 13
3 3 541 14
4 4 555 15
5 5 562 16
6 6 565 17
7 7 570 18
8 8 572 19
9 9 573 20
10 10 588 21
cuts <- c(531, 560, 571)
Я бы хотел получить score.b
значение, соответствующее первому результату, который равен 13
. Затем возьмите значение для Score.b, соответствующее второму результату (560
), но его нет в файле Score.a, поэтому я хотел бы получить значение Score.a 562
(ближайшее larger
к * 1013). *), и соответствующее значение будет 16
. Наконец, для третьего результата (571
) я бы хотел получить 18, что соответствует значению, ближайшему smaller
(570
) к третьему результату.
Вот что я хотел бы получить.
scores.b
cut.1 13
cut.2 16
cut.3 18
Есть мысли? Спасибо