【发布时间】:2020-08-18 13:09:41
【问题描述】:
我想在基于另一个数据集的数据集中的行中添加一个字符。所以我有两个数据集,一个称为电子邮件,另一个称为域。我的问题是电子邮件数据集缺少将用户名与域名分开的@字符,我需要根据域数据集添加它。
这是我的两个数据集:
emails<-c("tjoeblogymail.com",
"simonsaysgmail.com" ,
"realpeoplehsne.com",
"funnythingsraveis.com") %>%
as_tibble() %>% rename(email = value)
结果:
# A tibble: 4 x 1
email
<chr>
1 tjoeblogymail.com
2 simonsaysgmail.com
3 realpeoplehsne.com
4 funnythingsraveis.com
域:
domains<-c("ymail.com",
"gmail.com" ,
"hhsne.com",
"raveis.com") %>%
as_tibble() %>% rename(domain = value)
结果:
# A tibble: 4 x 1
domain
<chr>
1 ymail.com
2 gmail.com
3 hhsne.com
4 raveis.com
我想在域之前的字符串中添加一个@ 符号。目前,我可以按如下方式一一进行:
emails %>%
mutate(email = str_replace(email, "gmail.com", "@gmail.com"),
email = str_replace(email, "ymail.com", "@ymail.com"),
email = str_replace(email, "hsne.com", "@hsne.com"),
email = str_replace(email, "raveis.com", "@raveis.com"))
结果:
# A tibble: 4 x 1
email
<chr>
1 tjoeblog@ymail.com
2 simonsays@gmail.com
3 realpeople@hsne.com
4 funnythings@raveis.com
但是,我希望能够以一种不需要将每个电子邮件地址剪切并粘贴到 mutate 和 str_replace 的方式来执行此操作,而是使用 map 或 @ 987654330@ 函数,不知道怎么做。任何建议/帮助将不胜感激。
【问题讨论】:
标签: r str-replace purrr dplyr