R:比较不同长度的向量

R: Compare vectors of differing lengths

实际上我在表达问题时遇到了问题,所以如果有人对此有任何反馈,我很乐意听到。

我在 R 中工作,有一个向量和一个数据框,长度不同:

xp.data <- c(400,500,600,700)
XPTable <- data.frame("Level"=1:10,"XP"=c(10,50,100,200,400,600,700,800,900,1000))

我希望得到的是一个新的向量:

> lv.data
[1] 5 5 6 7

目标是在不使用循环的情况下这样做,因为 xp.data 向量可以是任意长度,并且 XPTable 数据框也可以是不同的长度。

如果我这样做时没有 xp.data 的矢量,我会使用:

max(XPTable$Level[XPTable$XP < XP.data])

但是,这仅在 XP.data 的长度为 1 时有效。

    lv.data <- findInterval(xp.data, XPTable$XP)
    print(lv.data)
    # [1] 5 5 6 7