Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Quantitative Text Analysis Using R: A Half-Day Tutorial

Kenneth Benoit, Department of Methodology, LSE
Kohei Watanabe, Department of Methodology, LSE

Version: 15 November 2017

This repository contains the workshop materials for a half-day tutorial Quantitative to Text Analysis Using R. This project was supported through European Research Council grant ERC-2011-StG 283794-QUANTESS.

Instructions for using this resource

You have three options for downloading the course material found on this page:

  1. You can download the materials by clicking on each link.

  2. You can "clone" this repository, using the buttons found to the right side of your browser window as you view this repository. This is the button labelled "Clone in Desktop". If you do not have a git client installed on your system, you will need to get one here and also to make sure that git is installed. This is preferred, since you can refresh your clone as new content gets pushed to the course repository. (And new material will get actively pushed to the course repository at least once per day as this course takes place.)

  3. Statically, you can choose the button on the right marked "Download zip" which will download the entire repository as a zip file.

You can also subscribe to the repository if you have a GitHub account, which will send you updates each time new changes are pushed to the repository.


This workshop covers how to perform common text analysis and natural language processing tasks using R. When used properly, R is a fast and powerful tool for managing even very large text analysis tasks.

The course consists of instructor presentations in three sets, followed by interactive exercises that students are meant to work through during the workshop.

We will cover how to format and input source texts, how to structure their metadata, and how to prepare them for analysis. This includes common tasks such as tokenisation, including constructing ngrams and "skip-grams", removing stopwords, stemming words, and other forms of feature selection. We show how to: get summary statistics from text, search for and analyse keywords and phrases, analyse text for lexical diversity and readability, detect collocations, apply dictionaries, and measure term and document associations using distance measures. Our analysis covers basic text-related data processing in the R base language, but most relies on the quanteda package for the quantitative analysis of textual data. We also discuss (briefly) how to pass the structured objects from quanteda into other text analytic packages for doing topic modelling, latent semantic analysis, regression models, and other forms of machine learning.


While it is designed for those who have used R in some form previously, expertise in R is not required, and even those with no previous knowledge of R are welcome.

Part 1: Getting Started and Basic Text Analysis


Setting up RStudio and quanteda:

  • CRAN for downloading and installing R
  • Configuration test: Try running this RMarkdown file: test_setup.Rmd. If it builds without error and looks like this, then you have successfully configured your system.

Step through a simple analysis:

Part 2: Basic text analysis using collocation, keyness and dictionary

Part 3: Advanced analysis and working with other text packages

Interactive: Step through execution of the .Rmd file

More resources

Extension packages

  • spacyr: part-of-speech tagging and dependency parsing using the spaCy engine.
  • LIWCalike: replicate the Linguistic Inquiry and Word Count program's functionality.
  • readtext: read texts into R (replaces the textfile() function from quanteda).
  • preText: Diagnostics to assess the effects of text "pre-processing" decisions.

Additional leadning resources

Designed to be done before the course or after, to augment what is presented during the course. These are just suggestions -- no reading for the course is required.


Quantitative Text Analysis Using R







No releases published


No packages published