Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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_List_Merge_Vectorization - Fatal编程技术网

如何将字符串的每个元素与R中的单词列表进行比较?

如何将字符串的每个元素与R中的单词列表进行比较?,r,list,merge,vectorization,R,List,Merge,Vectorization,比如说,我有一个字符向量 a [1] “嗨,快来吧,这场演出太糟糕了”“我感冒了” D [1] “尽快”“非常”“冷”“lol”“rofl” 如果在“a”中找到任何单词(来自“d”),我应该用空格替换。我如何在R中实现?也许下面这样的东西适合您: a <- c("hi come asap, the show is awsome", "I am suffering from cold") d <- c("asap", "awsome", "cold", "lol", "rofl")

比如说,我有一个字符向量

a [1] “嗨,快来吧,这场演出太糟糕了”“我感冒了”
D [1] “尽快”“非常”“冷”“lol”“rofl”


如果在“a”中找到任何单词(来自“d”),我应该用空格替换。我如何在R中实现?

也许下面这样的东西适合您:

a  <- c("hi come asap, the show is awsome", "I am suffering from cold")
d <- c("asap", "awsome", "cold", "lol", "rofl")
d[d %in% gsub("[[:punct:]]", "", unlist(strsplit(a, " ")))] <- " "
d
# [1] " "    " "    " "    "lol"  "rofl"

a也许下面这样的东西适合你:

a  <- c("hi come asap, the show is awsome", "I am suffering from cold")
d <- c("asap", "awsome", "cold", "lol", "rofl")
d[d %in% gsub("[[:punct:]]", "", unlist(strsplit(a, " ")))] <- " "
d
# [1] " "    " "    " "    "lol"  "rofl"

a我想我理解,但可能是错的。你可以试试:

a  <- c("hi come asap, the $#!+ show is awsome", "I am suffering from cold")
d <- c("asap", "awsome", "cold", "lol", "rofl")

library(qdap)
mgsub(d, "", a)

我想我理解,但可能是错的。你可以试试:

a  <- c("hi come asap, the $#!+ show is awsome", "I am suffering from cold")
d <- c("asap", "awsome", "cold", "lol", "rofl")

library(qdap)
mgsub(d, "", a)

你能说明替换发生在哪里吗?矢量“a”或矢量“d”?你能说明替换发生在哪里吗?矢量“a”或矢量“d”?嗨,谢谢你的快速回复。但是我在gsub(粘贴(d,collapse=“|”)”,tweets2中的结束错误中得到了一个错误:断言'tree->num_tags==num_tags'在执行regexp:file'tre compile.c'时失败,第627行我知道gsub做什么,你能解释一下“粘贴(d,collapse=“|”)的意义吗@user1946217,我相信它被称为“交替”(see),所以
粘贴(d,collapse=“|”)创建了一个交替模式,看起来像
“asap | awesome | cold | lol | rofl”
意思是寻找“asap”或“awesome”或。。。。您是否也在这个小示例中得到了错误,还是仅在实际数据中得到了错误?您是否加载了可能会干扰base R的gsub的包?谢谢,这就解释了。。。它正在处理这里给出的小示例。错误发生在我的实际数据上。我没有在R中加载任何包。向量“d”在我的实际数据中也有一些带有特殊字符的单词,如“$#!+”$$”。这是问题吗?@user1946217,可能是因为其中一些是特殊字符,可能需要转义。特殊字符通常包括“\\\()[{^$*+?”(有关更多信息,请参阅
?regex
)。您好,感谢您的快速回复。但是我在gsub中的结束错误(粘贴(d,collapse=“|”)”,tweets2)中遇到了一个错误:断言'tree->num_tags==num_tags'在执行regexp:file'tre compile.c'时失败,第627行我知道gsub做什么,你能解释一下“粘贴(d,collapse=“|”)的意义吗@user1946217,我相信它被称为“替换”(参见),所以
粘贴(d,collapse=“|”)
创建一个类似于“asap | awesome | cold | lol | rofl”的交替模式
意思是“asap”或“awesome”或者……您是否也在这个小示例中得到了错误,或者只是在您的实际数据中得到了错误?您是否加载了任何可能会干扰base R的
gsub
?谢谢,这就解释了……它正在处理这里给出的小示例。错误发生在我的实际数据中。我没有在R中加载任何包。向量“d”在我的实际数据中也有一些带有特殊字符的单词,如“$#!+”$$”。这可能是问题吗?@user1946217,因为其中一些是特殊字符,可能需要转义。特殊字符通常包括“\\\\()[{^$*+?”(有关详细信息,请参阅
?regex
)。