这是一种简单的方法,该方法查找某些字符序列以用作触发条件,以将字符串添加到其他列。
library(tidyverse)
df <- tibble(x = c(('2 SS 150LB 304L SLIP ON FLANGE'),('3 BLK ON FLANGE')))
# add new columns filled with NA
df <- df %>%
add_column(Materials = NA_character_) %>%
add_column(Part_Type = NA_character_)
df %>%
mutate(Materials = if_else(str_detect(x,'SS'),'STAINLESS',Materials)) %>%
mutate(Materials = if_else(str_detect(x,'BLK'),'BLACK',Materials)) %>%
mutate(Part_type = if_else(str_detect(x,'FLANGE'),'FLANGE',Part_Type))
一个物品既可以是“不锈钢”又可以是“黑色”吗?即我们是否要将多个字符串添加到一列?在这种情况下,有必要添加而不是覆盖。这是解决该问题的一种方法。
my_nrow = 2
df <- tibble(x = c(('2 SS 150LB 304L SLIP ON FLANGE'),('3 BLK SS ON FLANGE')),Materials = vector('character',my_nrow),Part_type = vector('character',my_nrow))
df
df %>%
mutate(Materials = ifelse(str_detect(x,str_c(Materials,'STAINLESS '),'BLACK '),str_c(Part_type,sep = ' '),Part_type))
本文链接:https://www.f2er.com/3163627.html