我一直在尝试将unnest_tokens应用于dataframe列中的tidytext,以生成常见的bigram和trigram。他们的短文来自> 200篇文章。它们也是更大csv的列子集。
我试过以下几点,但没有结果:
示例:bookparagraphs.csv
a<- data.frame("texts" = bookparagraphs$text[1:10], stringsAsFactors = FALSE)
str(a)
'data.frame': 10 obs. of 1 variable:
$ text: Factor w/ 6552 levels check_input(x)中的错误:输入必须是任意长度的字符向量或字符向量列表,每个字符向量的长度为1.*
然而,当我转换我的文本>语料库> DTM等时,tm_map工作得非常出色。我能数数和检查单词的同时出现的情况。
我想更好地使用tidytext,因此我想找出它是如何工作的,以及我哪里出错了。
谢谢你的建议!谢谢。
发布于 2019-02-03 17:18:56
你在tidytext中遇到的错误是因为文本是一个因素。这意味着你的书的段落$文本是一个因素。可能是从bookparagraphs.csv上读来的。当您只使用a <- data.frame("texts" = bookparagraphs$text[1:10], stringsAsFactors = FALSE)时,stringAsFactors对要素图书段落$text没有任何影响。要么用bookparagraphs.csv读取stringAsFactors = FALSE,要么使用readr加载数据。或使用:
a <- data.frame("texts" = as.character(bookparagraphs$text[1:10]), stringAsFactors = FALSE)这将迫使图书段落$text成为字符向量,而stringAsFactors = FALSE将防止它再次被转换为一个因子。
在此之后,您可以使用unnest_tokens而不出现任何问题。
https://stackoverflow.com/questions/54504688
复制相似问题