I have the following sample 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
I would like to extract rows using grepl and replace.
keypairs <- data.frame(old=c("oldname1","oldname2"),new=c("newname1","newname2"))
old new
1 oldname1 newname1
2 oldname2 newname2
The desired dataframe would be:
old
1 newname1
2 newname1
3 newname1
4 newname2
Ideally, I could replace the output of grepl with the patters, then use left_join and select the new column.
So far, I have:
df %>% filter(grepl(keypairs$old,collapse="|"))
# still trying to figure out what to do at this step
%>% left_join(keypairs) %>% select(new)