R:合并两个数据帧,以便当存在重复数据时,一个数据集传递信息

R:合并两个数据帧,以便当存在重复数据时,一个数据集传递信息,r,machine-learning,duplicates,regression,subset,R,Machine Learning,Duplicates,Regression,Subset,我使用data.frametrind来训练一个机器学习回归,它可以做出预测predpred比trind大100倍,但两者之间存在重叠 我想用trind中的训练评分替换预测评分,以进行测试,我将看到它在基准测试中的表现。目前,我通过子集实现了这一点,但这是一个庞大的代码。有人有更简洁的方法吗 trind <- data.frame(c(1,3,5), c(4,3,4)) names(trind) <- c("ID", "Rating") pred <- data.frame(1:

我使用data.frame
trind
来训练一个机器学习回归,它可以做出预测
pred
pred
trind
大100倍,但两者之间存在重叠

我想用
trind
中的训练评分替换预测评分,以进行
测试,我将看到它在基准测试中的表现。目前,我通过
子集
实现了这一点,但这是一个庞大的代码。有人有更简洁的方法吗

trind <- data.frame(c(1,3,5), c(4,3,4))
names(trind) <- c("ID", "Rating")
pred <- data.frame(1:5, c(1,2,3,4,5))
names(pred) <- c("ID", "Rating")
temp <- subset(pred, pred$ID %in% trind$ID)
temp$Rating <- trind$Rating
temp2 <- subset(pred,! pred$ID %in% trind$ID)
test <- rbind(temp, temp2)

trind这里有一个通用的解决方案。首先,通过组合
trind
pred
来创建数据帧

test <- rbind(trind, pred)

这就是你要找的吗?假设您已经有
pred
trind

pred[ pred$ID %in% trind$ID, "Rating" ] <- trind$Rating

pred[pred$ID%在%trind$ID中,“评级”]都是
ID
trind
s也出现在
pred
中吗?
pred[ pred$ID %in% trind$ID, "Rating" ] <- trind$Rating