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
实际上我在表达问题时遇到了问题,所以如果有人对此有任何反馈,我很乐意听到。
我在 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