R 删除除逗号以外的所有符号
我是R的初学者。我有一个data.frame,如下所示:R 删除除逗号以外的所有符号,r,string,R,String,我是R的初学者。我有一个data.frame,如下所示: religion list(\"christian\"),list() list(\"jewish\"),list() list(\"christian\"),list(\"catholic\", \"episcopa
religion
list(\"christian\"),list()
list(\"jewish\"),list()
list(\"christian\"),list(\"catholic\", \"episcopal\")
list(\"christian\"),list(\"evangelical\", \"lutheran\")
list(\"christian\"),list(\"evangelical\", \"lutheran\")
....
这个向量的类型是chr
这就是我想要的:
religion
christian
jewish
christian, catholic, episcopal
christian, evangelical, lutheran
christian, evangelical, lutheran
我想删除列表()和\“,但保留宗教名称并用逗号分隔。我如何在R中执行此操作不确定您的数据结构,但使用
gsub
将是一种方法
# Data
str <- ":215H@#e5.:l[l[}o%^&*3,-7 55W(o]]43r6759l::~!1d424`$£"
# Remove everything except spaces, commas and letters
gsub( "[^,a-zA-Z\\s]" , "" , str , perl = TRUE )
#[1] "Hello, World"
e、 g
#使用包含标点符号的文本制作data.frame
x不确定数据的结构,但gsub
将是解决此问题的一种方法
# Data
str <- ":215H@#e5.:l[l[}o%^&*3,-7 55W(o]]43r6759l::~!1d424`$£"
# Remove everything except spaces, commas and letters
gsub( "[^,a-zA-Z\\s]" , "" , str , perl = TRUE )
#[1] "Hello, World"
e、 g
#使用包含标点符号的文本制作data.frame
你能用dput
给我们看一段你的实际代码吗?你那里的东西并没有为我们创建一个对象。看看?regex
。但是,你不清楚你有什么以及你想要它是什么。你只想让它不加引号地显示吗?如果是的话,看看cat(…)
和打印(..,quote=FALSE)
您的数据看起来像是deparse
的输出,因此parse
可能是解决方案…您可以使用dput
向我们展示您的实际代码片段。您所拥有的并没有为我们创建一个可使用的对象。请查看?regex
。但是,不清楚您拥有什么以及您想要什么是的。你只是想让它不带引号地显示吗?如果是这样,请看一下cat(…)
和print(…,quote=FALSE)
你的数据看起来像是deparse
的输出,所以parse
可能是解决方案…非常感谢。首先我经常使用df$religionThanks。首先我使用df$religioth
# Make a data.frame with text containing punctuation
x <- rep( str , 4 )
mydf <- data.frame( a = x , b = x , c = x )
# List of clean columns
clean <- lapply( mydf , gsub , pattern = "[^,a-zA-Z\\s]" , replacement = "" , perl = TRUE )
# Coerce to data.frame
do.call( data.frame , clean )
# a b c
#1 Hello, World Hello, World Hello, World
#2 Hello, World Hello, World Hello, World
#3 Hello, World Hello, World Hello, World
#4 Hello, World Hello, World Hello, World