R 如何基于类将向量匹配到数据帧

R 如何基于类将向量匹配到数据帧,r,dplyr,R,Dplyr,这里我有一个包含左右边界(start和end)的TIBLE,定义了一个类和一个带有随机整数的向量: categoriesfoo=函数(x,开始,结束){ sappy(x,函数(v){ 如果(vmax(c(开始,结束))){ NA }否则{ tail(分类$start,在这里工作,但如果x超出范围(仍然返回Cat05),则不稳定),例如,如果值正好为10,则返回错误的值 foo = function(x, start, end) { sapply(x, function(v){

这里我有一个包含左右边界(
start
end
)的TIBLE,定义了一个类和一个带有随机整数的向量:

categories
foo=函数(x,开始,结束){
sappy(x,函数(v){
如果(vmax(c(开始,结束))){
NA
}否则{

tail(分类$start,在这里工作,但如果x超出范围(仍然返回
Cat05
),则不稳定),例如,如果值正好为10,则返回错误的值
foo = function(x, start, end) {
    sapply(x, function(v){
        if (v < min(c(start, end)) | v > max(c(start, end))) {
            NA
        } else {
            tail(which(categories$start <= v), 1)
        }
    })
}
categories$value[foo(x, categories$start, categories$end)]
# [1] "Cat03" "Cat04" "Cat03" "Cat05" "Cat05" "Cat02" "Cat03" "Cat05" "Cat03" "Cat03" "Cat05"
#[12] "Cat03" "Cat03" "Cat03" "Cat03" "Cat05" "Cat03" "Cat02" "Cat03" "Cat05"

foo(10, categories$start, categories$end)
#[1] 2
foo(1000, categories$start, categories$end)
#[1] NA
foo(0, categories$start, categories$end)
#[1] NA