小编lol*_*iea的帖子

在R中:当条件匹配时,用另一个数据帧的值替换数据帧列的值

我有两个数据帧:

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但没有成功.

有没有更好/更有效的方法来做到这一点?

r dataframe

4
推荐指数
1
解决办法
88
查看次数

标签 统计

dataframe ×1

r ×1