首页 > 解决方案 > 如果另一列中的值包含某个单词/字母,则在列中插入值

问题描述

我实际上是在尝试创建一些代码来检测列中的值是否包含“%”。如果是这样,请将 df$unit col 设为 %。如果不是这样,什么也不做。

我尝试了下面的代码,但它为所有值行返回 %,即使它们不包含 % 内部。

我应该如何解决它?

if(stringr::str_detect(df$variable, "%")) {
        
        df$unit <- "%"
        
      }

标签: r

解决方案


一种tidyverse方法

library(dplyr)
library(stringr)

df %>% 
  mutate(unit = if_else(str_detect(variable,"%"),"%",unit))

推荐阅读