Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 删除除逗号以外的所有符号_R_String - Fatal编程技术网

R 删除除逗号以外的所有符号

R 删除除逗号以外的所有符号,r,string,R,String,我是R的初学者。我有一个data.frame,如下所示: religion list(\"christian\"),list() list(\"jewish\"),list() list(\"christian\"),list(\"catholic\", \"episcopa

我是R的初学者。我有一个data.frame,如下所示:

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