首页 > 解决方案 > R:根据另一个表替换一个表中的值

问题描述

假设我有一个 TableA:

Code Description
001 Apple
002 Banana

我也有表B:

Description
001
002
003

我想用 TableA 描述中的值替换 TableB 描述中的值。

我知道我可以做一个简单的加入。但是,我想替换值。我怎样才能做到这一点?

我可能的解决方案如下,但它不能正常工作:

TableB$Description <- TableA[TableA$Code %in% TableB$Description, Description]

标签: rreplace

解决方案


这可能是一个合并/加入操作,

merge(TableB, TableA, by.x = "Description", by.y = "Code", all.x = TRUE)
#   Description Description.y
# 1           1         Apple
# 2           2        Banana
# 3           3          <NA>

(有关合并/连接的更多信息,请参阅如何连接(合并)数据帧(内、外、左、右)INNER JOIN、LEFT JOIN、RIGHT JOIN 和 FULL JOIN 有什么区别?

或者它可以是一个简单的查找使用match

TableA$Description[ match(TableB$Description, TableA$Code) ]
# [1] "Apple"  "Banana" NA      

推荐阅读