如果两个单元格相等则选择值(两个不同的表格)

问题描述 投票:0回答:1

所以我试图在基于某些 ID 列的条件下从参考表中获取值

ID = c("A","B","C","D","E")
code = c(1,2,3,4,5) 
Ref= data.frame(ID,Ref)


ID = c("A","B","B","C","D","Z")
df= data.frame(ID)

匹配值将是

c("1","2","2","3","4","Na")

并且我想获得匹配值,例如“检查 df$ID == Ref$ID 是否存在,如果是,则在应用程序中的匹配行上获取 Ref$code”“B 在 Ref ID 中 -> 2 是代码”或“” Z 不在参考 ID 中 -> Na 是代码“

我尝试的最后一件事是这样的

ifelse(unlist(df$ID ) %in% Ref$ID , 
       **Ref[,(which(unlist(df$ID ) %in% Ref$ID))]**,  'NA')

测试效果很好,但我无法提取正确的值(这里 y 试图获取与之对应的行)

我试图不创建新列,而只是获取值并将其注入公式中

感谢您的帮助

r extract
1个回答
0
投票

你应该使用

merge

> merge(df, Ref, all = TRUE)
  ID code
1  A    1
2  B    2
3  B    2
4  C    3
5  D    4
6  E    5
7  Z   NA
© www.soinside.com 2019 - 2024. All rights reserved.