Проблема с tidytext (): невозможно применить unnest_tokens к фрейму данных - PullRequest
0 голосов
/ 03 февраля 2019

Я пытался применить unnest_tokens из tidytext в столбце данных для создания общих биграмм и триграмм.Это короткие тексты из> 200 статей.Они также являются подмножеством столбцов из большего CSV.

Я пробовал следующее, но безрезультатно:
1. установка stringsasfactors = FALSE
2. используется unnest_, unnest_tokens_.

Пример: 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. ***

Однако, tm_map прекрасно работает, когда я конвертировал свои тексты> корпус> DTM и т. д.Я могу рассчитывать и анализировать совпадения слов просто отлично.

Я бы хотел лучше использовать tidytext, поэтому я стремлюсь выяснить, как это работает и где я ошибся.

Ценю любые предложения!Спасибо.

1 Ответ

0 голосов
/ 03 февраля 2019

Ошибка, которую вы получаете в 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)

Это приведет текст $ bookbookgraphs к символьному вектору, а stringAsFactors = FALSE предотвращает его превращение в фактор снова.

После этого вы можете использовать unnest_tokens без проблем.

...