【发布时间】:2020-01-02 21:58:33
【问题描述】:
我想根据评分标准在另一列中返回具有匹配条件的值。如果变量中没有切割分数,我想获取最接近的较大值。这是数据集的快照:
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。然后,抓取第二切(560)分数对应的 score.b 值但不在 score.a 中,所以我想获取 score.a 值562(最接近560),对应的值为16。最后,对于第三切分数(571),我想得到 19,这是与第三切分数最接近的值(572)的对应值。
这是我想要的。
scores.b
cut.1 13
cut.2 16
cut.3 19
有什么想法吗? 谢谢
【问题讨论】: