我有一个文本数据的数据框,我需要阻止它.因此,我将其转换为语料库,然后将其转换为词干,然后完成词干中的单词,然后尝试将文本数据框作为输出.
myCorpus <- Corpus(VectorSource(textDf$text))myCorpus <- tm_map(myCorpus,removeWords,stopwords('english'))myCorpus <- tm_map(myCorpus,content_transformer(tolower))myCorpus <- tm_map(myCorpus,removePunctuation)dictCorpus <- myCorpusmyCorpus <- tm_map(myCorpus,stemdocument)myCorpus <- tm_map(myCorpus,stemCompletion,dictionary=dictCorpus)
现在我正试图从这个语料库中获取一个数据帧,所以我尝试了以下命令.
dataframe< -data.frame(text = unList(sapply(myCorpus,'[',“content”)),
stringsAsFactors = F)
和
dataframe< -data.frame(text = unList(sapply(myCorpus,[)),stringsAsFactors = F) 并且
dataframe <- data.frame(ID=sapply(corpus,Meta,"ID"),text=unList(lapply(sapply(corpus,"content"),paste,collapse="\n")),stringsAsFactors=FALSE)
从this链接
所有这些都会产生以下错误:
Error in UseMethod("Meta",x) : no applicable method for 'Meta' applIEd to an object of class "character"
任何帮助将不胜感激.
解决方法 这应该这样做:data.frame(text = sapply(myCorpus,as.character),stringsAsFactors = FALSE)
用工作解决方案编辑,以原油为例
这里的问题是你不能将stemCompletion应用为转换.
gettransformations()## [1] "removeNumbers" "removePunctuation" "removeWords" "stemdocument" "stripwhitespace"
不包括stemCompletion,它将带有标记的标记的向量作为输入.
所以这应该这样做:首先提取转换后的文本并标记它们,然后完成词干,然后粘贴在一起.在这里,我使用内置的粗语料库说明了解决方案.
data(crude)myCorpus <- crude myCorpus <- tm_map(myCorpus,stemdocument)# tokenize the corpusmyCorpusTokenized <- lapply(myCorpus,scan_tokenizer)# stem complete each token vectormyTokensstemCompleted <- lapply(myCorpusTokenized,dictCorpus)# concatenate tokens by document,create data framemyDf <- data.frame(text = sapply(myTokensstemCompleted,collapse = " "),stringsAsFactors = FALSE)总结
以上是内存溢出为你收集整理的无法将语料库转换为R中的数据框架全部内容,希望文章能够帮你解决无法将语料库转换为R中的数据框架所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)