【发布时间】:2021-06-08 09:42:53
【问题描述】:
我有以下数据框
V1 V2
A20
Bxy
C3a
D val1
D val2
D val3
A30
Bij
C4b
D val4
D val5
我希望创建关卡样式数据框作为输出:
V1 V2 levels
D val1 A20-Bxy-C3a
D val2 A20-Bxy-C3a
D val3 A20-Bxy-C3a
D val4 A30-Bij-C4b
D val5 A30-Bij-C4b
我尝试使用 mutate 和 grepl,如下所示:
df_level = df %>% mutate(levelA = grepl('^A',df$V1),
levelB = grepl('^B',df$V1),
levelC = grepl('^C',df$V1))
我得到的是三列,levelA、levelB、levelC 和逻辑。
如何复制行值,如果它与 grep 匹配并最终连接以进行合并级别?
【问题讨论】:
-
你可以使用
library(stringr)的str_extract()-function:用str_extract(V1, "^A.*")替换你的grepl-statement。