【发布时间】:2021-10-24 21:20:59
【问题描述】:
我有以下示例 df
df <- data.frame(old=c("412oldname1","32oldname132","oldname141","132oldname2","oldname3","oldname4","oldname5"))
old
1 412oldname1
2 32oldname132
3 oldname141
4 132oldname2
5 oldname3
6 oldname4
7 oldname5
我想使用 grepl 提取行并替换。
keypairs <- data.frame(old=c("oldname1","oldname2"),new=c("newname1","newname2"))
old new
1 oldname1 newname1
2 oldname2 newname2
所需的数据框是:
old
1 newname1
2 newname1
3 newname1
4 newname2
理想情况下,我可以用模式替换 grepl 的输出,然后使用 left_join 并选择 new 列。
到目前为止,我有:
df %>% filter(grepl(keypairs$old,collapse="|"))
# still trying to figure out what to do at this step
%>% left_join(keypairs) %>% select(new)
【问题讨论】: