我有两个数据帧:
set.seed(343)
testDF <- data.frame(Score = sample(50, size=50, replace=TRUE), number = rep(letters[1:25],2), Rev = rep(0,50))
sourceDF <- data.frame(min = c(1,10,20,30,40), max = c(9, 19, 29, 39, 50), rev = 1:5)
Run Code Online (Sandbox Code Playgroud)
对于testDF的每一行,其中testDF $得分在sourceDF $ min和sourceDF的sourceDF $ max之间,请将testDF $ Rev的值替换为相应的sourceDF $ rev.
我有它使用两个for循环和一个if条件,但它是......慢(我的数据集有接近100万行).我尝试使用findInterval但没有成功.
有没有更好/更有效的方法来做到这一点?