如何在R中包含反斜杠的列中重命名字符串
我有一百万行数据集,df如何在R中包含反斜杠的列中重命名字符串,r,dplyr,R,Dplyr,我有一百万行数据集,df Name \\tia@gmail.com\Out \\tia@gmail.com\Out \\tia@gmail.com\Out \\tia@gmail.com\In \\tia@gmail.com\In \\tia@gmail.com\In 我想替换所有实例,其中\tia@gmail.com\Outboxdata发生输出。这是我想要的输出: Name Outboxdata Outboxdata Out
Name
\\tia@gmail.com\Out
\\tia@gmail.com\Out
\\tia@gmail.com\Out
\\tia@gmail.com\In
\\tia@gmail.com\In
\\tia@gmail.com\In
我想替换所有实例,其中\tia@gmail.com\Outboxdata发生输出。这是我想要的输出:
Name
Outboxdata
Outboxdata
Outboxdata
\\tia@gmail.com\In
\\tia@gmail.com\In
\\tia@gmail.com\In
以下是dput:
structure(list(Name = structure(c(2L, 2L, 2L, 1L, 1L, 1L), .Label = c("\\\\tia@gmail.com\\In",
"\\\\tia@gmail.com\\Out"), class = "factor")), class = "data.frame", row.names = c(NA,
-6L))
这就是我的出发点,我知道我可以使用dplyr和gsub:
df %>%
gsub,df$Name
我没有正确的语法,我将继续研究这个问题,我们可以使用
str\u replace
library(dplyr)
library(stringr)
df %>%
mutate(Name = str_replace(Name, ".*[^A-Za-z]([A-Za-z]+)$", "\\1boxdata"))
# Name
#1 Outboxdata
#2 Outboxdata
#3 Outboxdata
#4 Outboxdata
更新
如果我们只想替换具有tia@gmail.com那么
df %>%
mutate(Name = str_replace(Name, ".*tia@gmail.com\\\\+Out", "Outboxdata"))
注意:在替换特定列中的值时,请使用
mutate
Hi@Akrun中的函数,实际上它会将前面有\\的每个字符串更改为“Outboxdata”。我只是想要\\tia@gmail.com\执行此操作以更改为Outboxdata。我还有一些其他数据\\tia@gmail.com\在这方面,我想保持沉默。我应该更新我的问题吗?@TanishaHudson你能用示例和预期结果更新你的帖子吗是@Akrun抱歉误解了预期结果,行中的仍然是这样,对吗?我错了!哦,是的,对不起,让我补充一下