删除data.frame列值中的特殊符号

时间:2017-05-05 12:00:24

标签: r dplyr tidyr stringr

我有两个数据框,每个数据框都有一个名称

df1

name  
@one2  
!iftwo  
there_2_go  
come&go

df1 = structure(list(name = c("@one2", "!iftwo", "there_2_go", "come&go")),.Names = c("name"), row.names = c(NA, -4L), class = "data.frame")

df2

name  
One2  
IfTwo#  
there-2-go  
come.go



df2 = structure(list(name = c("One2", "IfTwo#", "there-2-go", "come.go")),.Names = c("name"), row.names = c(NA, -4L), class = "data.frame")

现在比较两个数据帧的不等性是很麻烦的,因为使用%in%的特殊符号。使用stringR删除特殊符号可能很有用。但是我们如何使用stringR %in%函数来显示它们之间的不匹配

已完成mutate()转换所有小写toLower(),如下所示

df1<-mutate(df1,name=tolower(df1$name))
df2<-mutate(df2,name=tolower(df2$name))

比较的当前输出:

df2[!(df2 %in% df1),]
[1] "one2"       "iftwo#"     "there-2-go" "come.go" 

预期输出基本上内容相同但有特殊符号:

 df2[!(df2 %in% df1),]
 character(0)

问题:我们如何忽略框架内容中的符号

1 个答案:

答案 0 :(得分:2)

这是一个函数,

ProjectId