我有以下数据框:
Sample <- data.frame(Sample_Name=c('502B_BCD_0TBC','0102_PER_2TBC', '0302_COR_0TBC', '0500_LN_TGHV'))<br />
我想根据多个条件创建一个“Sample_Type”列:
或者类似图片的东西。
如何实施?
我想你可以用正则表达式来完成这一切:
library(tidyverse)
Sample %>%
mutate(code = str_replace_all(Sample_Name,
c("^.*(B_|_BLO_).*$", "^.*_PER_.*$",
"^.*_COR_.*$", ".*_LN.*$"),
c("BLO", "PER", "COR", "LAN")),
code = ifelse(code %in% c("BLO", "PER", "COR", "LAN"), code, "Other"))
#> Sample_Name code
#> 1 502B_BCD_0TBC BLO
#> 2 0102_PER_2TBC PER
#> 3 0302_COR_0TBC COR
#> 4 0500_LN_TGHV LAN