从字符向量回到 VCorpus
From character vector back to VCorpus
我有一个VCorpus,是这样提取的:
corp <- VCorpus(DirSource("//Filepath"))
然后我想从我的语料库中的文件中删除包含特定单词的特定行。为此,我将语料库转换为 as.character
:
corp <- sapply(corp, as.character)
然后删除所有行,包括单词 FILE:
for(j in seq(corp)) {
corp[[j]] <- corp[[j]][!grepl("FILE", corp[[j]], ignore.case = FALSE)]
}
现在我想回到 class "VCorpus" 使用 tm_map 执行 Corpus 清理任务,例如:
corp <- tm_map(corp, content_transformer(tolower))
corp <- tm_map(corp, removeWords, stopwords("english"))
corp <- tm_map(corp, removePunctuation)
corp <- tm_map(corp, removeNumbers)
但我收到以下错误消息:
Error in UseMethod("tm_map", x) : no applicable method for 'tm_map'
applied to an object of class "list"
我尝试了几种方法,但收到如下错误消息:
Error in UseMethod("as.VCorpus") : no applicable method for
'as.VCorpus' applied to an object of class "character"
关于如何转换回 VCorpus 并执行 tm_map 任务有什么想法吗?
我认为您不应该将语料库设置为 as.character
,因为它会破坏使其成为语料库的元数据。对于语料库的元素 i
,文本已经包含在 corp[[i]]$content
中,因此您最好直接使用它。
适合我的工作流程是...
corp <- VCorpus(DirSource("//Filepath"))
for(j in seq(corp)) {
corp[[j]]$content <- corp[[j]]$content[!grepl("FILE", corp[[j]]$content,ignore.case = FALSE)]
}
corp <- tm_map(corp, content_transformer(tolower))
...etc
我有一个VCorpus,是这样提取的:
corp <- VCorpus(DirSource("//Filepath"))
然后我想从我的语料库中的文件中删除包含特定单词的特定行。为此,我将语料库转换为 as.character
:
corp <- sapply(corp, as.character)
然后删除所有行,包括单词 FILE:
for(j in seq(corp)) {
corp[[j]] <- corp[[j]][!grepl("FILE", corp[[j]], ignore.case = FALSE)]
}
现在我想回到 class "VCorpus" 使用 tm_map 执行 Corpus 清理任务,例如:
corp <- tm_map(corp, content_transformer(tolower))
corp <- tm_map(corp, removeWords, stopwords("english"))
corp <- tm_map(corp, removePunctuation)
corp <- tm_map(corp, removeNumbers)
但我收到以下错误消息:
Error in UseMethod("tm_map", x) : no applicable method for 'tm_map' applied to an object of class "list"
我尝试了几种方法,但收到如下错误消息:
Error in UseMethod("as.VCorpus") : no applicable method for 'as.VCorpus' applied to an object of class "character"
关于如何转换回 VCorpus 并执行 tm_map 任务有什么想法吗?
我认为您不应该将语料库设置为 as.character
,因为它会破坏使其成为语料库的元数据。对于语料库的元素 i
,文本已经包含在 corp[[i]]$content
中,因此您最好直接使用它。
适合我的工作流程是...
corp <- VCorpus(DirSource("//Filepath"))
for(j in seq(corp)) {
corp[[j]]$content <- corp[[j]]$content[!grepl("FILE", corp[[j]]$content,ignore.case = FALSE)]
}
corp <- tm_map(corp, content_transformer(tolower))
...etc