Сопоставьте значения столбца информационного кадра с другим информационным фреймом со столбцом, содержащим разделенные запятыми значения, используя grepl - PullRequest
0 голосов
/ 14 июня 2019

Я пытаюсь найти и сопоставить два фрейма данных (df1 & df2) путем сопоставления столбца (val) в каждом фрейме данных, первый столбец фрейма данных содержит текстовое значение, но во втором столбце фрейма данных (df2) содержится несколько текстовые значения, разделенные запятой, вот вид фреймов данных

val=c("AAAA","XXXX","BBBB","YYYY","ZZZZ","MMMM","YYYY","CCCC","GGGG")
df1 <- as.data.frame(val)
val=c("AAAA,BBBB","BBBB,CCCC,FFFF","CCCC,DDDD,GGGG,FFFF","GGGG","")
id =c(1,2,3,4,5)
df2 <- as.data.frame(val,id)

если значение df1 найдено в df2, тогда мне нужен идентификатор нового столбца в df1

1 Ответ

0 голосов
/ 14 июня 2019

Посмотрите, поможет ли приведенный ниже код.

library(tidyverse)
df2 = df2 %>% 
  mutate(val=str_split(val, ",", n=Inf)) %>% 
  unnest

df1 = df1 %>% 
  left_join(df2, by="val")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...