簡體   English   中英

檢查一列的值是否包含在 R 數據幀中的另一列中,然后將包含的列添加為新列

[英]Check if one column's values are contained within another column's in R dataframes and then add the contained column as a new column

我有這個數據框

D1$document = 艾米麗 1.1.1.1。 D2$user_name = 艾米麗

我希望將 D2 與 D1 匹配,並且如果 D2$user_name 列值(按行)也包含在 D1$document 值中,則添加 D2$user_name 在 D1 的新列中找到的對應值,也稱為 D1$用戶名。

我已經嘗試過 str_detect、match 等,但我似乎無法做到這一點?

unigram_data$user_name <- unigram_data %>% mutate(user_name = ifelse(str_detect(as.character(unigram_data$document)
                                , as.character(review_corpus$user_name)), 
                                cbind(user_name = review_corpus$user_name),
                                NA
                                ))

Thank you!

是的,如果沒有可重現的最小示例,真的不可能給你確切的建議。 但是,這是一個使用case_whenstr_detect的一般示例

dplyr::starwars %>% 
  select(name,homeworld,species) %>% 
  mutate(IsHuman = str_detect(species,'Human')) %>% 
  mutate(HumanFromNaboo = case_when(
    species == 'Human' & IsHuman == T ~ T,
    T ~ F
  ))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM