R:有没有办法在两个数据帧列之间进行部分匹配的 Vlookup
R: Is there a way to Vlookup with partial match between two dataframes columns
我有 2 个数据帧(df1 和 df2)
df 1:
df 2 :
所需输出:
df3
您应该尝试以可重现的格式代替图片。另外,尝试展示一些作品,但我可以理解你可能不知道从哪里开始。但至少要展示你尝试过的东西是否有效。
这样的东西行得通吗?
library(dplyr)
df1 <- data.frame(almId = c(12347, 123455, 112625, 112621), almname = c("1001 battery down", "2077 Power issue", "7166 DG fault", "2122 cable cut"))
df2 <- data.frame(almname = c("battery down", "Power issue", "DG fault", "Circuit break"))
k <- paste0(df2$almname, collapse = "|")
df1 %>% mutate(Stat = stringr::str_detect(.$almname, k))
df3 <- df1 %>% mutate(Stat = stringr::str_detect(.$almname, k))
almId almname Stat
1 12347 1001 battery down TRUE
2 123455 2077 Power issue TRUE
3 112625 7166 DG fault TRUE
4 112621 2122 cable cut FALSE
我有 2 个数据帧(df1 和 df2)
df 1:
df 2 :
所需输出:
df3
您应该尝试以可重现的格式代替图片。另外,尝试展示一些作品,但我可以理解你可能不知道从哪里开始。但至少要展示你尝试过的东西是否有效。
这样的东西行得通吗?
library(dplyr)
df1 <- data.frame(almId = c(12347, 123455, 112625, 112621), almname = c("1001 battery down", "2077 Power issue", "7166 DG fault", "2122 cable cut"))
df2 <- data.frame(almname = c("battery down", "Power issue", "DG fault", "Circuit break"))
k <- paste0(df2$almname, collapse = "|")
df1 %>% mutate(Stat = stringr::str_detect(.$almname, k))
df3 <- df1 %>% mutate(Stat = stringr::str_detect(.$almname, k))
almId almname Stat
1 12347 1001 battery down TRUE
2 123455 2077 Power issue TRUE
3 112625 7166 DG fault TRUE
4 112621 2122 cable cut FALSE