Understanding tidytext

Learn about tidytext in R and simplify text analysis within the tidyverse for easier and more organized data processing.

What is tidytext?

The tidytext package is a text mining package in R designed for compatibility with the tidyverse. It provides a framework for text mining and analysis using tidy data principles. It was developed by Julia Silge and David Robinson as part of the tidyverse ecosystem, which aims to make data analysis in R more efficient and intuitive.

Note: “The tidyverse is an opinionated collection of R packages designed for data science. All packages share an underlying design philosophy, grammar, and data structures.”

Wickham, Hadley. R for Data Science. O'Reilly, 2017

The tidytext package provides a set of tools for transforming text data into a format that is suitable for analysis. These tools include functions for tokenizing text into individual words or n-grams, removing stop words, stemming or lemmatizing words, and converting text into a document-term matrix or tidy data format.

Note: For a dataset to be considered tidy, it needs to follow three key rules:

  • Each variable must have its own column.

  • Each observation must have its own row.

  • Each value must have its own cell.

Wickham, Hadley. R for Data Science. O'Reilly, 2017

The tidytext package also includes functions for common text mining tasks, such as sentiment analysis, word frequency analysis, and text visualization. These functions are designed to work seamlessly with the tidy data format, making it easy to integrate text analysis with other data analysis tasks in R.

The tidytext and tidyverse packages

The tidytext package relies on the tidyverse for a majority of its functionality. It’s best to think of tidytext as a way to reformat unstructured text into conformity with tidyverse data rules. Once that data has been reformatted, it’s simple to use tools such as dplyr to perform analysis, statistics, and visualization.

The tidytext package supplies functions specific to text mining that may not be part of the tidyverse. This includes such tools as tf-idf and part-of-speech.

  • Upside: This dependency on the tidyverse allows the researcher to build on their prior knowledge of existing tools and concepts. Data formatted according to tidyverse rules is instantly recognizable, and the coding strategy required to support a hypothesis is often immediately visible.

  • Downside: The tidytext package assumes prior knowledge of the tidyverse and related methods. If a researcher has done most of their coding in base R, the tidyverse can present confusing syntax and strategies. Programming with the tidyverse is almost a separate language from base R.

Here’s a simple example of tidytext:

Get hands-on with 1200+ tech skills courses.