根据其他两列包括部分匹配中的值向现有列添加值

问题描述

我确信这很容易,但它让我很紧张,而且我找不到任何答案。 我有一个包含多列的数据框。一列“Accepted_Taxon_Level”被部分填充,我想根据其他两列的内容为该列中的空单元格添加一个值。

例如。如果列 Match.Point = "Autonym" AND 列名称包含 "var"。字符串中的某处,然后将“variety”添加到 Accepted_Taxon_Level 列中。

我试图使用“内”,但无法让它匹配字符串的子集

        df <- within(df,Accepted_Taxon_Level[Status == 'Autonym' & Name == '*var.'] <- 'variety')                       

grepl 使用多个条件并粘贴到目标单元格而不覆盖现有内容使我感到困惑。 感谢您的帮助!

示例输入:

df <- data.frame('Status' = c('Autonym','Not Autonym','Autonym','Autonym'),'Name' = c('Something something var. something','Something else','Something else var. somethingother','Else else sub. else','Other other var. other'),'Accepted_Taxon_Level' = c('','species','variety','',''))

示例所需的输出:

df <- data.frame('Status' = c('Autonym','Accepted_Taxon_Level' = c('variety','variety'))

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)