【问题标题】:Match Column values of a dataframe with another dataframe with a column containing comma seprated values using grepl使用 grep 将数据框的列值与另一个数据框匹配,其中列包含逗号分隔值
【发布时间】:2019-06-14 13:06:21
【问题描述】:

我正在尝试通过匹配每个数据框上的列 (val) 来查找和匹配两个数据框 (df1 & df2),第一个数据框列包含文本值,但第二个数据框 (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)

如果在 df2 中找到 df1 的值,那么我需要 df1 中新列上的 id

【问题讨论】:

    标签: r


    【解决方案1】:

    看看下面的代码是否有帮助。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-20
      • 2020-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-24
      相关资源
      最近更新 更多