我有一个类似这样的数据框:
A B
ABC1 0
DEF2 4
DEG0 4
如何将这个数据框进行转换,如果一个行包含字母"D",则在一个新列中插入值"yes",否则插入"no"。
最终的数据框应该像这样:
A B C
ABC1 0 no
DEF2 4 yes
DEG0 4 yes
我们可以使用 grepl
来匹配“A”列中的“D”,返回一个逻辑索引,然后使用 ifelse
将逻辑向量更改为“yes”和“no”。
df$C <- ifelse(grepl("D", df$A), "yes", "no")
library(dplyr);library(stringr);df <- df %>% mutate(C = case_when(str_detect(A, "D") ~ "yes", TRUE ~ "no"))
。 - akrun
ifelse(grepl("D", df$A), "yes", "no")
- akrun