如何在 R 中进行 VLOOKUP?
How to do a VLOOKUP in R?
#Data generation
firm <- c("firm1","firm2","firm3","firm4")
comment2 <- c(51,5104,"",510466)
commenta <- c(51,51,"",51)
commentb <- c("",04,"",04)
commentc <- c("","","",66)
list <- data.frame(firm,comment2,commenta,commentb,commentc)
commentcode <- c(51,04,66,67)
narrcmnt <- c("less business", "more business", "unemployment", "covid")
comment <- data.frame(commentcode,narrcmnt)
如果我想对此进行 VLOOKUP,我是使用左连接还是更复杂?最终结果看起来像这样。我知道可能涉及三个查找,但我可以在得到第一个后找出其余的。 narrcmnt
对应于 commenta
.
最终结果
firm comment2 commmenta commentb commentc narrcmnta
firm1 51 51 less business
firm2 5104 5104 04
list %>%
left_join(comment %>%
mutate(commentcode = as.character(commentcode)),
by=c("commenta" = "commentcode")) %>%
mutate(narrcmnt = case_when(is.na(narrcmnt) ~ "",
TRUE ~ as.character(narrcmnt)))
#Data generation
firm <- c("firm1","firm2","firm3","firm4")
comment2 <- c(51,5104,"",510466)
commenta <- c(51,51,"",51)
commentb <- c("",04,"",04)
commentc <- c("","","",66)
list <- data.frame(firm,comment2,commenta,commentb,commentc)
commentcode <- c(51,04,66,67)
narrcmnt <- c("less business", "more business", "unemployment", "covid")
comment <- data.frame(commentcode,narrcmnt)
如果我想对此进行 VLOOKUP,我是使用左连接还是更复杂?最终结果看起来像这样。我知道可能涉及三个查找,但我可以在得到第一个后找出其余的。 narrcmnt
对应于 commenta
.
最终结果
firm comment2 commmenta commentb commentc narrcmnta
firm1 51 51 less business
firm2 5104 5104 04
list %>%
left_join(comment %>%
mutate(commentcode = as.character(commentcode)),
by=c("commenta" = "commentcode")) %>%
mutate(narrcmnt = case_when(is.na(narrcmnt) ~ "",
TRUE ~ as.character(narrcmnt)))