Learn R Programming

koRpus

koRpus is an R package for text analysis. This includes, amongst others, a wrapper for the POS tagger TreeTagger, functions for automatic language detection, hyphenation, several indices of lexical diversity (e.g., type token ratio, HD-D/vocd-D, MTLD) and readability (e.g., Flesch, SMOG, LIX, Dale-Chall, Tuldava).

koRpus also includes a plugin for RKWard, a powerful GUI and IDE for R, providing graphical dialogs for its basic features. To make full use of this feature, please install RKWard (plugins are detected automatically).

More information on koRpus is available on the project homepage.

Installation

There are three easy ways of getting koRpus:

Stable releases via CRAN

The latest release that is considered stable for productive work can be found on the CRAN mirrors, which means you can install it from a running R session like this:

install.packages("koRpus")

The CRAN packages are usually a bit behind the recent state of the package, and only updated after a significant amount of changes or important bug fixes.

Development releases via the project repository

Inbetween stable CRAN releases there's usually several testing or development versions released on the project's own repository. These releases should also work without problems, but they are also intended to test new features or supposed bug fixes, and get feedback before the next release goes to CRAN.

Installation is fairly easy, too:

install.packages("koRpus", repo=c(getOption("repos"), reaktanz="https://reaktanz.de/R"))

To automatically get updates, consider adding the repository to your R configuration. You might also want to subscribe to the package's RSS feed to get notified of new releases.

If you're running a Debian based operating system, you might be interested in the precompiled *.deb packages.

Installation via GitHub

To install it directly from GitHub, you can use install_github() from the devtools package:

devtools::install_github("unDocUMeantIt/koRpus") # stable release
devtools::install_github("unDocUMeantIt/koRpus", ref="develop") # development release

Installing language support

koRpus does not support any particular language out-of-the-box. Therefore, after installing the package you'll have to also install at least one language support package to really make use of it. You can find these in the l10n repository, they're called koRpus.lang.*.

The most straight forward way to get these packages is to use the function install.koRpus.lang(). Here's an example how to install support for English and German:

library(koRpus)
install.koRpus.lang(lang=c("en", "de"))

There's also precompiled Debian packages.

Contributing

To ask for help, report bugs, suggest feature improvements, or discuss the global development of the package, please either subscribe to the koRpus-dev mailing list, or use the issue tracker on GitHub.

Branches

Please note that all development happens in the develop branch. Pull requests against the master branch will be rejected, as it is reserved for the current stable release.

Licence

Copyright 2012-2021 Meik Michalke meik.michalke@hhu.de

koRpus is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

koRpus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with koRpus. If not, see https://www.gnu.org/licenses/.

Copy Link

Version

Install

install.packages('koRpus')

Monthly Downloads

4,705

Version

0.13-9

License

GPL (>= 3)

Maintainer

Meik Michalke

Last Published

February 3rd, 2026

Functions in koRpus (0.13-9)

TTR

Lexical diversity: Type-Token Ratio
cTest

Transform text into C-Test-like format
coleman

Readability: Coleman's Formulas
coleman.liau

Readability: Coleman-Liau Index
MTLD

Lexical diversity: Measure of Textual Lexical Diversity (MTLD)
U.ld

Lexical diversity: Uber Index (U)
available.koRpus.lang

List available language packages
clozeDelete

Transform text into cloze test format
bormuth

Readability: Bormuth's Mean Cloze and Grade Placement
dale.chall

Readability: Dale-Chall Readability Formula
danielson.bryan

Readability: Danielson-Bryan
correct.tag

Methods to correct koRpus objects
dickes.steiwer

Readability: Dickes-Steiwer Handformel
docTermMatrix

Generate a document-term matrix
filterByClass

Remove word classes
get.kRp.env

Get koRpus session settings
flesch

Readability: Flesch Readability Ease
guess.lang

Guess language a text is written in
fucks

Readability: Fucks' Stilcharakteristik
gutierrez

Readability: Gutiérrez Fórmula de comprensibilidad
flesch.kincaid

Readability: Flesch-Kincaid Grade Level
freq.analysis

Analyze word frequencies
farr.jenkins.paterson

Readability: Farr-Jenkins-Paterson Index
jumbleWords

Produce jumbled words
harris.jacobson

Readability: Harris-Jacobson indices
install.koRpus.lang

Install language support packages
kRp.cluster

Work in (early) progress. Probably don't even look at it. Consider it pure magic that is not to be tempered with.
kRp.lang,-class

S4 Class kRp.lang
kRp.TTR,-class

S4 Class kRp.TTR
kRp.corp.freq,-class

S4 Class kRp.corp.freq
kRp.POS.tags

Get elaborated word tag definitions
kRp.readability,-class

S4 Class kRp.readability
hyphen,kRp.text-method

Automatic hyphenation
maas

Lexical diversity: Maas' indices
linsear.write

Readability: Linsear Write Index
taggedText

Getter/setter methods for koRpus objects
koRpus-package

tools:::Rd_package_title("koRpus")
nWS

Readability: Neue Wiener Sachtextformeln
pasteText

Paste koRpus objects
kRp.text,-class

S4 Class kRp.text
lex.div.num

Calculate lexical diversity
koRpus-deprecated

Deprecated object classes
lex.div

Analyze lexical diversity
readability.num

Calculate readability
query

A method to get information out of koRpus objects
read.BAWL

Import BAWL-R data
read.corp.LCC

Import LCC data
readTagged

Import already tagged texts
read.corp.custom

Import custom corpus data
readability

Measure readability
read.corp.celex

Import Celex data
segment.optimizer

A function to optimize MSTTR segment sizes
plot

Plot method for objects of class kRp.text
set.lang.support

Add support for new languages
textFeatures

Extract text features for authorship analysis
split_by_doc_id

Turn a multi-document kRp.text object into a list of kRp.text objects
set.kRp.env

A function to set information on your koRpus environment
show,kRp.lang-method

Show methods for koRpus objects
tokenize

A simple tokenizer
spache

Readability: Spache Formula
summary

Summary methods for koRpus objects
textTransform

Letter case transformation
strain

Readability: Strain Index
traenkle.bailer

Readability: Traenkle-Bailer Formeln
tuldava

Readability: Tuldava's Text Difficulty Formula
wheeler.smith

Readability: Wheeler-Smith Score
types

Get types and tokens of a given text
treetag

A method to call TreeTagger
K.ld

Lexical diversity: Yule's K
ARI

Readability: Automated Readability Index (ARI)
C.ld

Lexical diversity: Herdan's C
DRP

Readability: Degrees of Reading Power (DRP)
S.ld

Lexical diversity: Summer's S
MSTTR

Lexical diversity: Mean Segmental Type-Token Ratio (MSTTR)
ELF

Readability: Fang's Easy Listening Formula (ELF)
R.ld

Lexical diversity: Guiraud's R
FOG

Readability: Gunning FOG Index
TRI

Readability: Kuntzsch's Text-Redundanz-Index
LIX

Readability: Bj\"ornsson's L\"asbarhetsindex (LIX)
FORCAST

Readability: FORCAST Index
SMOG

Readability: Simple Measure of Gobbledygook (SMOG)
CTTR

Lexical diversity: Carroll's corrected TTR (CTTR)
HDD

Lexical diversity: HD-D (vocd-d)
MATTR

Lexical diversity: Moving-Average Type-Token Ratio (MATTR)
RIX

Readability: Anderson's Readability Index (RIX)