Website profiles · Technology insights · Alternatives

quanteda.io

A fast, flexible, and comprehensive framework for quantitative text analysis in R. Provides functionality for corpus management, creating and manipulating tokens and n-grams, exploring keywords in context, forming and manipulating sparse matrices of documents by features and feature co-occurrences, analyzing keywords, computing feature similarities and distances, applying content dictionaries, applying supervised and unsupervised machine learning, visually representing text and text analyses, and more.

No paid content found
Visit website
Profile views 1 Outbound visits 1 Normal
Quantitative Analysis of Textual Data • quanteda Full homepage screenshot

At a glance

Category
Artificial Intelligence
Language
English
Paid-content signal
No paid content foundObserved
Registered
Unknown
Hosting
FastlyInferred
HTTPS certificate trusted
PassedObserved
Last updated

Website review

This review may include AI-generated content and is not individually verified. Domain, certificate and other facts come from the observed data on this page.

What is quanteda?

quanteda is an open-source R package for managing and analyzing text quantitatively. It is maintained by Kenneth Benoit and Kohei Watanabe, with development supported by the Quanteda Initiative CIC, and it is designed for R users who want to move from raw documents to statistical analysis of language without leaving the R environment.

Its scope covers a full workflow: building and managing a corpus, tokenizing text and forming n-grams, inspecting keywords in context, constructing sparse document-by-feature matrices, analyzing keywords, computing feature similarities and distances, applying content dictionaries, and running supervised or unsupervised machine learning. Visualization is available through the wider package family.

What it is good for

  • Researchers and students who need serious text-analysis capability without commercial software costs. The project explicitly positions itself as matching or exceeding many end-user applications that are expensive and closed source.
  • R programmers comfortable with code. The API aims to let you accomplish powerful analysis in few steps, and consistent design lowers the learning curve for NLP and quantitative text analysis.
  • Multilingual work, since version 4 introduced Unicode and ICU-compliant tokenizer rules intended to behave consistently across more languages.

The package family

Since version 3, quanteda has been split into modular packages:

Package Contains
quanteda Core NLP and textual data management functions
quanteda.textmodels Text models and supporting textmodel_*() functions
quanteda.textstats Textual statistics, the textstat_*() functions
quanteda.textplots Plots, the textplot_*() functions

The main trade-off is the requirement to know R. If you work in Python, prefer a graphical interface, or need a hosted service rather than a library, quanteda will not fit your setup. If you already use R and want reproducible, scriptable text analysis, the modular design means you install only the components you need.

A useful first step is to visit quanteda and read the "How To..." section, then try a small corpus of your own documents to see how tokenization and a document-feature matrix look before committing to a larger project.

How does quanteda compare to other text analysis software for R users?

For R users, quanteda is best understood as a native-R framework rather than a point-and-click alternative: it handles the whole path from corpus import and tokenisation through to sparse document-feature matrices and then into models, statistics and plots. Its strongest practical advantage is that it stays inside R, so the output of text processing is a data structure you can immediately feed into the modelling or visualisation code you already use. The comparison below sets out where that helps and where it costs you.

How it compares

Tool type Where it fits Trade-off for R users
quanteda R-native corpus management, tokens, n-grams, keywords-in-context, document-feature matrices, dictionaries, text models and plots Requires R programming; modular packages mean you install and load only what you need, but you must track which package supplies which function
General-purpose NLP libraries in R Broad NLP tasks such as tagging or parsing Less opinionated about corpus and matrix management, so more assembly work between steps
GUI or commercial text analysis applications Analysts who want menus and built-in workflows without coding The page notes many such applications are expensive and not open source; moving results into R for further modelling is usually the awkward part
Python-based text stacks Teams already working in Python, or needing Python-only model ecosystems Adds a language boundary if your statistics, survey weights or reporting live in R

The design emphasis on consistency is the detail that matters most in daily use. Once you learn how quanteda names and structures things, the same logic carries from corpus creation to token handling to text models and plots, which shortens the gap between a first script and a reproducible pipeline.

What changed in version 4

quanteda 4 is a major release that improves functionality and performance, removes previously deprecated functions, and adds tokeniser rules using Unicode and ICU-compliant handling so the default tokeniser behaves more consistently across more languages. The project documents this in an article on the new external pointer tokens objects, a set of performance benchmarks, and a full changelog. If you maintain older scripts, the removal of deprecated functions is the item most likely to break them on upgrade.

The family of packages

The project split into modular packages from v2 and v3 onward:

  • quanteda — core natural language processing and textual data management
  • quanteda.textmodels — the textmodel_*() functions
  • quanteda.textstats — the textstat_*() functions
  • quanteda.textplots — the textplot_*() functions

This matters when you compare tools: a lightweight install gives you core processing, while modelling, statistics and plotting are opt-in. Budget a little time for discovering which package a given function now lives in, especially if you are following older tutorials.

A concrete reader scenario

Suppose you are a graduate researcher with a few thousand open-ended survey responses and a supervisor who wants cross-tabs by respondent group. You would build a corpus, tokenise, form a document-feature matrix, apply a dictionary or keyword analysis, then hand the matrix to a model or plot — all in one R script, with the group variable carried alongside. A GUI tool might get you to a word cloud faster, but joining results back to respondent metadata and re-running the analysis after a coding fix is where the R-native route pays off. If your team has no R users at all, the programming requirement is a genuine barrier rather than a minor one.

How to decide

Choose quanteda if you already work in R and want text processing to behave like the rest of your analysis. Choose a general-purpose R NLP library if your main need is linguistic annotation rather than corpus and matrix management. Choose a GUI or commercial application if nobody on the team codes and the analysis is exploratory rather than part of a repeatable pipeline.

A useful next step is to take one small, real dataset you already understand and run it end to end: corpus, tokens, document-feature matrix, one statistic, one plot. That single pass tells you more about fit than any feature list. The official project site is quanteda, and if you want to see how the approach compares with a broader R text-mining toolkit, the Tidy Text Mining book is a reasonable reference point.

How do I install and load the quanteda package in R?

Install quanteda from CRAN with install.packages("quanteda"), then load it in each session with library(quanteda). That is the standard path for the current R package described on quanteda.

Install

install.packages("quanteda")

If you use RStudio, you can also install it from the Packages pane, but the console command is the quickest and most reproducible.

Load

library(quanteda)

Run this at the start of every R session. Installing once is enough; loading is per session.

A quick check

packageVersion("quanteda")

This confirms which version is active. If you expect version 4 features such as the newer tokeniser rules, check that the reported version is 4.x.

The modular family

The project split quanteda into separate packages, so some functions live elsewhere and must be installed and loaded separately:

Package What it adds Example prefix
quanteda Core text management and NLP corpus(), tokens()
quanteda.textmodels Text models textmodel_*()
quanteda.textstats Text statistics textstat_*()
quanteda.textplots Plots for text data textplot_*()
install.packages(c("quanteda.textmodels", "quanteda.textstats", "quanteda.textplots"))
library(quanteda.textstats)

If installation fails

  • On Linux, a source install may need system libraries for dependencies; install binary packages where available.
  • If you see "there is no package called 'quanteda'", the install step did not complete; rerun it and read the console output.
  • If a textmodel_*() or textstat_*() function is missing, you likely loaded only the core package; install and load the relevant modular package.

A practical next step: build a small corpus from a vector of strings and tokenise it, which exercises the core workflow before you add models or plots.

corp <- corpus(c(d1 = "Text analysis in R.", d2 = "Quanteda makes it manageable."))
toks <- tokens(corp)

What are the differences between quanteda and its companion packages like quanteda.textmodels?

quanteda is the core R package for managing and analyzing text; the companion packages add specialized modeling, statistics and plotting functions that were split out of the main package. In practice, you install and load quanteda for the data-handling pipeline, then add a companion only when you need its particular capability.

What each package covers

  • quanteda — the core natural language processing and textual data management functions: building and managing corpora, tokenizing, forming n-grams, keywords-in-context, and constructing sparse document-by-feature and feature co-occurrence matrices.
  • quanteda.textmodels — the text models and their supporting functions, i.e. the textmodel_*() functions. Split from the main package at v2.
  • quanteda.textstats — statistics for textual data, i.e. the textstat_*() functions. Split at v3.
  • quanteda.textplots — plots for textual data, i.e. the textplot_*() functions. Split at v3.

How to think about the split

Need Package
Load, clean, tokenize, reshape text into matrices quanteda
Fit a model (supervised or unsupervised) quanteda.textmodels
Compute similarity, distance, readability or other text statistics quanteda.textstats
Visualize text or a text analysis quanteda.textplots

The naming convention is the practical guide: if a function starts with textmodel_, it lives in quanteda.textmodels; textstat_ functions live in quanteda.textstats; textplot_ functions live in quanteda.textplots. Everything else in the core workflow belongs to quanteda itself.

A concrete scenario

Suppose you are a graduate student with a few thousand policy documents and no budget for commercial text analysis software. You would use quanteda to read the documents into a corpus, tokenize them, remove stopwords and build a document-feature matrix. If you then want to scale documents along a dimension or classify them, you load quanteda.textmodels for the fitting step. If you want keyness scores or lexical diversity measures, you load quanteda.textstats. If you want a word cloud or a frequency plot, you load quanteda.textplots. Each companion is a separate install and a separate library() call, which keeps the core package lighter but means you must track which package owns which function.

Decision criteria

  • Start with quanteda alone if your task is data preparation and exploration.
  • Add a companion package only when you reach the step it covers; there is no need to install all of them up front.
  • If you are maintaining older scripts, note that the split happened progressively (v2 for textmodels, v3 for textstats and textplots), so code written against a pre-split version may need its library() calls updated.
  • Because the packages share the quanteda data structures, mixing them is straightforward — but function names are namespaced, so a textmodel_* call will fail if quanteda.textmodels is not loaded.

To get oriented, work through the "How To..." examples on the quanteda site, then check the documentation for the specific companion package when you reach modeling, statistics or plotting.

How can I use quanteda for keyword analysis and text scaling?

quanteda handles both keyword-in-context work and text scaling inside one R workflow: you build a corpus, tokenise it, then either inspect terms in context or convert documents into a document-feature matrix that feeds a scaling model. Keyword work is largely descriptive and exploratory; scaling is inferential and produces per-document positions on one or more dimensions. Choosing between them depends on whether you want to read passages around a term or place documents on a continuum.

Keyword analysis

The package provides keyword-in-context inspection and feature co-occurrence matrices, so you can move from a term of interest to the passages containing it, then to which terms travel with it. A practical sequence:

  1. Build a corpus and tokenise, applying the Unicode-aware tokeniser rules described for version 4 if your texts include multiple scripts.
  2. Select or group terms, then view keywords in context to check whether a term is used consistently or carries several senses.
  3. Compute feature co-occurrence or similarity statistics to see which words cluster around your target.
  4. Apply a content dictionary if you need to score predefined categories rather than discover them.

A concrete case: a policy researcher studying "risk" across regulatory consultations would first pull keyword-in-context lines to see whether the term appears in prudential, environmental or safety senses, then use co-occurrence statistics to separate those usages before counting anything. Skipping the context step is the common failure — raw frequency counts merge distinct meanings and inflate the apparent importance of a polysemous word.

Text scaling

Scaling in this ecosystem is handled by the companion modelling package, which holds the textmodel_*() functions. The usual path is corpus → tokens → document-feature matrix → scaling model, with the matrix as the shared input for both supervised and unsupervised approaches. The core package supplies the matrix construction and manipulation; the modelling package supplies the estimation.

Two practical points matter more than the choice of algorithm:

  • Feature selection drives the result. Scaling solutions are sensitive to which terms enter the matrix. Removing very rare and very common terms, or restricting to a domain vocabulary, usually changes the dimensions more than switching models does.
  • Validate dimensions against known documents. If you have texts whose positions you already know, check whether they land where expected before interpreting the rest.

Which to use

Goal Approach Output
Understand how a term is used Keyword-in-context, co-occurrence Readable passages, term clusters
Score predefined categories Content dictionary Category counts per document
Place documents on a continuum Document-feature matrix plus a scaling model Per-document dimension scores

The trade-off is interpretability versus generality. Keyword and dictionary work stays close to the text and is easy to defend to a non-technical audience, but it does not generalise beyond the terms you specify. Scaling summarises whole documents and can reveal structure you did not anticipate, but the dimensions often need labelling and can shift when you change the feature set.

Next step

Take a small sample of your own documents — twenty to fifty is enough — and run the full path once: corpus, tokens, document-feature matrix, keyword-in-context on one term, then a single scaling model. If the scaling dimensions do not correspond to anything you can name from reading the documents, adjust feature selection before scaling up. The framework is documented at quanteda, and the modular structure means you can install the core package first and add the text models, statistics and plotting packages as your analysis requires them.

What are the new tokenizer features in quanteda version 4?

quanteda 4.0's main tokenizer change is a smarter default: the package now applies new Unicode- and ICU-compliant tokenisation rules, so the out-of-the-box tokeniser handles more languages more consistently than earlier releases. The project also documents the change alongside new "external pointer" tokens objects, which are tied to performance improvements rather than tokenisation rules themselves.

What this means in practice

  • Better multilingual defaults. If you work with text containing non-Latin scripts, accents, or mixed-script documents, the v4 tokeniser is designed to segment it more reliably without custom rules. The gain is largest for teams that previously had to patch the tokeniser for each language.
  • Fewer surprises when upgrading. The v4 release also removes functions deprecated in earlier versions, so the tokeniser change arrives with a broader API cleanup. Code that relied on old tokenisation behaviour, or on removed functions, is the most likely to need attention.
  • Performance is a separate story. The external pointer tokens objects are an internal redesign aimed at speed and memory use; the tokeniser improvements are described in their own benchmark article. Treat "smarter tokenisation" and "faster tokens" as two distinct v4 changes.

Where to look next

The quanteda site links three v4 resources: an article on external pointer tokens objects, a benchmarks article covering both the new tokens objects and tokeniser improvements, and the v4 changelog listing all changes and deprecations. For upgrade planning, read the changelog first, then the tokeniser benchmarks if throughput matters to you. The core package is documented at quanteda, with text models, statistics, and plots split into companion packages.

A concrete check for your own corpus

If you maintain a multilingual pipeline, run a small before-and-after comparison on a sample of your documents after upgrading: count tokens per document and inspect a few keyword-in-context views in the languages you care about. A stable token count with sensible boundaries suggests the new default rules suit your data; large shifts are worth tracing to specific scripts or punctuation before you rebuild downstream models.

Related questions

More questions →
Who should use quanteda and what are the requirements?

quanteda is an R package for managing and analyzing text, and it is aimed at R users who need to apply natural language processing to texts, from documents through to final analysis. The main requirement is R programming knowledge; within that constraint, the package is designed so that powerful, efficient analysis takes a minimum of steps, and its consistent design is intended to lower the barriers to learning NLP and quantitative text analysis even for proficient R programmers. It suits researchers, students, and other analysts — particularly those with fewer financial resources — because its capabilities match or exceed those of many end-user software applications, many of which are expensive and not open source.

Who it is for

  • R users who need to process text end to end. The package covers the path "from documents to final analysis," so you do not have to assemble a separate toolchain for each stage.
  • Researchers and students. The project was created and maintained by Kenneth Benoit and Kohei Watanabe, funded by European Research Council grant ERC-2011-StG 283794-QUANTESS, with continued development supported by the Quanteda Initiative CIC.
  • Analysts with limited budgets. The stated motivation is that comparable end-user software is often expensive and not open source, so quanteda is of "great benefit" to those with fewer financial resources.
  • Proficient R programmers new to NLP. The API emphasizes consistent design specifically to lower the learning barrier for this group.

What you need before starting

The one explicit prerequisite in the project's own description is R programming knowledge. There is no claim that the package removes the need for R — only that it reduces the number of steps and the learning curve once you are in R.

Beyond that, what you need depends on which parts of the family you use:

Need Package
Core NLP and textual data management quanteda
Text models (textmodel_*() functions) quanteda.textmodels
Statistics for textual data (textstat_*() functions) quanteda.textstats
Plots for textual data (textplot_*() functions) quanteda.textplots

The modular split happened progressively: quanteda.textmodels was split from the main package with the v2 release, and quanteda.textstats and quanteda.textplots were split with v3. The project notes that additional package releases are in progress.

What the core package covers

According to the package description, quanteda provides functionality for:

  • corpus management
  • creating and manipulating tokens and n-grams
  • exploring keywords in context
  • forming and manipulating sparse matrices of documents by features and feature co-occurrences
  • analyzing keywords
  • computing feature similarities and distances
  • applying content dictionaries
  • applying supervised and unsupervised machine learning
  • visually representing text and text analyses

If your task falls outside this list, check whether it belongs to one of the companion packages before assuming it is unsupported.

Version 4 considerations

If you are deciding whether to adopt or upgrade, note that quanteda 4.0 is a major release that improves functionality and performance and further improves function consistency by removing previously deprecated functions. It also adds significant new tokeniser rules: new Unicode and ICU-compliant rules make the default tokeniser work more consistently across more languages. The project documents these changes in an article on the new external pointer tokens objects, an article with performance benchmarks for those objects and other v4 tokeniser improvements, and the v4 changelog listing all changes, improvements, and deprecations.

The practical implication: code that relied on functions deprecated before v4 will need updating, and multilingual tokenisation should behave more consistently than before.

How to decide

Use quanteda if you already work in R and want corpus management, tokenisation, and quantitative analysis in one consistent framework, especially if licensing cost is a constraint. Look elsewhere first if you do not know R and are not prepared to learn it, since R programming knowledge is the stated requirement. If you only need text models, text statistics, or text plots, install the corresponding companion package rather than expecting those functions in the core package after the v2 and v3 splits.

What Is quanteda and What Is It Used For?

quanteda is an R package for managing and analyzing text quantitatively. It is designed for R users who need to apply natural language processing to texts, covering the path from documents to final analysis. If you already work in R and want a single framework for corpus management, tokenization, keyword analysis, text models, and visualization, quanteda is built for that purpose. If you do not use R, it is not a point-and-click tool, and the package requires R programming knowledge.

What quanteda actually does

The package provides functionality across the main stages of a quantitative text analysis workflow:

  • Corpus management — organizing and handling collections of documents
  • Tokens and n-grams — creating and manipulating tokens and n-grams
  • Keywords in context — exploring keywords within their surrounding text
  • Document-feature matrices — forming and manipulating sparse matrices of documents by features, plus feature co-occurrence matrices
  • Keyword analysis — analyzing keywords
  • Similarity and distance — computing feature similarities and distances
  • Dictionaries — applying content dictionaries
  • Machine learning — applying supervised and unsupervised machine learning
  • Visualization — visually representing text and text analyses

The package is created and maintained by Kenneth Benoit and Kohei Watanabe. Its creation was funded by the European Research Council grant ERC-2011-StG 283794-QUANTESS, and continued development is supported by the Quanteda Initiative CIC.

Who it is for

quanteda targets researchers, students, and other analysts who need to apply NLP to texts. The package's own framing notes that its capabilities match or exceed many end-user software applications, many of which are expensive and not open source. That makes it relevant to analysts with fewer financial resources, provided they can work in R.

The API is designed to enable powerful, efficient analysis with a minimum of steps, and the project emphasizes consistent design to lower the barriers to learning and using NLP and quantitative text analysis — even for proficient R programmers.

The quanteda family of packages

With the v3 release, quanteda completed a split into modular packages. The family includes:

Package Contains
quanteda All core natural language processing and textual data management functions
quanteda.textmodels Text models and supporting functions, namely the textmodel_*() functions (split with v2)
quanteda.textstats Statistics for textual data, namely the textstat_*() functions (split with v3)
quanteda.textplots Plots for textual data, namely the textplot_*() functions (split with v3)

Additional package releases are in progress.

What changed in version 4

quanteda 4.0 is a major release that improves functionality and performance and further improves function consistency by removing previously deprecated functions. It also includes significant new tokeniser rules, making the default tokeniser smarter, with new Unicode and ICU-compliant rules that let it work more consistently across more languages.

The project documents these changes in three places: an article about the new external pointer tokens objects, an article showing performance benchmarks for those objects alongside tokeniser improvements in v4, and the v4 changelog listing all changes, improvements, and deprecations.

When to choose it — and when not to

Choose quanteda if you work in R and want an open-source framework that spans corpus management through modeling and visualization, with a consistent API and active development. The modular package structure lets you install only the pieces you need for models, statistics, or plots.

Look elsewhere if you need a graphical, non-programming interface, or if you do not want to write R code — the package explicitly requires R programming knowledge.

What Are the Key Changes in quanteda Version 4?

quanteda 4.0 is a major release of the R package for quantitative text analysis, and it changes three things that affect most users: the tokeniser, the internal representation of tokens, and the set of available functions. The tokeniser now follows new Unicode and ICU-compliant rules, so it handles more languages more consistently. Tokens objects are now built on external pointers, which the project documents as a performance improvement. And previously deprecated functions have been removed, so code that still calls them will break until it is updated.

If you are starting a new project on version 4, none of this requires action beyond installing the current release. If you are upgrading an existing script, the removal of deprecated functions is the change most likely to stop your code from running.

A smarter default tokeniser

The release notes describe "significant new tokeniser rules that makes the default tokeniser smarter than ever before," with new Unicode and ICU-compliant rules that let it "work more consistently with even more languages."

In practice this means the default behaviour of tokenisation changes. If your analysis depends on exact token counts — for example, a word-frequency table or a dictionary that matches specific strings — you should re-run your pipeline and compare outputs rather than assume the old results still hold. The same text can now split differently at the margins, especially for punctuation, symbols, and non-Latin scripts.

External pointer tokens objects

Version 4 introduces a new external pointer representation for tokens objects. The project published a dedicated article explaining these objects and a separate article with performance benchmarks for them, alongside the tokeniser improvements.

The practical consequence is that tokens objects behave differently under the hood. Most user-facing functions are designed to work the same way, but code that inspects or manipulates the internal structure of a tokens object — rather than going through the API — is the kind of code most likely to need revision.

Removed deprecated functions

The release "further improves function consistency by removing previously deprecated functions." This is the change that most often breaks existing scripts, because a call that previously produced a warning now produces an error.

The full list of changes, improvements, and deprecations is in the v4 changelog, which is the authoritative place to check whether a function you rely on was removed or replaced.

What did not change

The modular structure of the quanteda family, established across earlier releases, carries into version 4. The core package holds the natural language processing and textual data management functions, while the modelling, statistics, and plotting functions live in separate packages:

Package Contains
quanteda Core NLP and textual data management functions
quanteda.textmodels Text models and supporting functions, the textmodel_*() functions
quanteda.textstats Statistics for textual data, the textstat_*() functions
quanteda.textplots Plots for textual data, the textplot_*() functions

The split happened progressively: textmodels was separated at v2, and textstats and textplots at v3. Version 4 does not undo that structure, so if you are migrating from v2 or v3, your package-loading code should already reflect it.

How to decide what to do

  • New to quanteda: install version 4 and follow the current documentation. The tokeniser improvements and performance work are the reason to be on this release rather than an older one.
  • Upgrading an existing project: read the v4 changelog first, then run your pipeline end to end and diff the outputs. Treat any change in token counts or feature frequencies as expected until you have checked it, not as a bug.
  • Maintaining a package that depends on quanteda: check whether you call any deprecated functions and whether you touch tokens internals directly. Those are the two areas the release explicitly changed.
  • Working with many languages or non-Latin scripts: the Unicode and ICU-compliant tokeniser rules are the main reason version 4 may produce better results than earlier versions on the same input.

The project's own articles on external pointer tokens objects, the performance benchmarks, and the changelog are the sources to consult for specifics; this page summarises what they cover rather than replacing them.

What Packages Are Included in the quanteda Family?

The quanteda family consists of four packages: quanteda (core natural language processing and textual data management), quanteda.textmodels (text models and supporting textmodel_*() functions), quanteda.textstats (statistics for textual data via textstat_*() functions), and quanteda.textplots (plots for textual data via textplot_*() functions). The split into modular packages was completed with the v3 release, following a trend that began with v2.

The four packages and what each one does

Package Role Function prefix
quanteda Core NLP and textual data management —
quanteda.textmodels Text models and supporting functions textmodel_*()
quanteda.textstats Statistics for textual data textstat_*()
quanteda.textplots Plots for textual data textplot_*()

quanteda (core)

Contains all of the core natural language processing and textual data management functions. This is the package you install and load first; the other three build on it.

quanteda.textmodels

Contains all of the text models and supporting functions, namely the textmodel_*() functions. This was split from the main package with the v2 release.

quanteda.textstats

Contains statistics for textual data, namely the textstat_*() functions. Split with the v3 release.

quanteda.textplots

Contains plots for textual data, namely the textplot_*() functions. Also split with the v3 release.

Why the family is split this way

The modular structure means you only load the components you need for a given analysis. If you are doing corpus management and tokenisation, the core package is enough. If you move on to scaling, classification, or dictionary-based models, you add quanteda.textmodels. Descriptive statistics and visualisation live in their own packages.

The naming convention reinforces this: each satellite package uses a consistent function prefix (textmodel_, textstat_, textplot_), so you can tell at a glance which package a function belongs to.

Practical implications

  • Installation: you can install the core package alone, or install the satellites alongside it when your workflow requires them.
  • Version history: the split happened progressively — textmodels at v2, textstats and textplots at v3 — so older tutorials that reference these functions inside quanteda itself predate the modular layout.
  • Further releases: the project has stated it is working on additional package releases beyond these four.

Website Overview

Several search or sharing settings need attention. Together they may make snippets, preview images or preferred URLs less consistent across platforms. An active inbound-mail setup with incomplete authentication may leave the domain more open to impersonation. Provider hosting alone does not close that gap.

Domain and Registration

Unknown

DNS and Email

The observed email authentication setup is incomplete: DMARC is missing. Nameservers are provided by Namecheap, indicating managed DNS hosting. MX records point to the registrar-servers.com email service. CAA records restrict which certificate authorities are authorized to issue certificates. The CNAME points to quanteda.github.io, associated with GitHub Pages.

TLS and Certificates

The certificate uses an RSA 2048-bit public key, offering broad client compatibility. The server supplied a complete certificate chain. No organization name is present in the certificate; the available fields are consistent with domain validation. The certificate was issued by Let's Encrypt, commonly associated with automated certificate services. The certificate's total validity is about 89 days, consistent with a short renewal cycle.

HTTP and Browser Security

The checked browser-security headers were not detected, leaving fewer explicit browser-side safeguards. CORS permits any origin to read this response. This is common for public resources; sensitive responses need narrower handling. No X-Powered-By header was found, reducing one common source of backend fingerprinting information. The x-cache, x-served-by, via response header indicates a CDN or caching proxy in the delivery path. No obvious internal addresses or debug information were found in the headers.

Technology Stack Analysis

The public page identifies jQuery, Bootstrap, Google Analytics, Fastly without precise versions, leaving fewer clues for version-specific scanning.

Search and Social Sharing

The meta description has 507 characters and may be shortened in search results. No homepage canonical URL was detected. If duplicate URLs exist, consolidation may be less explicit. Open Graph is partially configured; og:image, og:type is missing. The title has 48 characters, within a common display range. The observed directives allow indexing and link following.

Hosting and Email

DNSNamecheap
HostingFastly
Emailregistrar-servers.com
Approximate IP geolocation (inferred; a CDN or proxy may differ from the origin server) United States flagUnited States Inferred 185.199.108.153

Registration details

RDAP / WHOIS

Unknown

DNS records

DNS

TypeNameValueTTLPriority
Aquanteda.io185.199.108.1531799—
Aquanteda.io185.199.109.1531799—
Aquanteda.io185.199.110.1531799—
Aquanteda.io185.199.111.1531799—
AAAAquanteda.github.io2606:50c0:8000::1533600—
AAAAquanteda.github.io2606:50c0:8001::1533600—
AAAAquanteda.github.io2606:50c0:8002::1533600—
AAAAquanteda.github.io2606:50c0:8003::1533600—
MXquanteda.ioeforward1.registrar-servers.com180010
MXquanteda.ioeforward2.registrar-servers.com180010
MXquanteda.ioeforward3.registrar-servers.com180010
MXquanteda.ioeforward4.registrar-servers.com180015
MXquanteda.ioeforward5.registrar-servers.com180020
NSquanteda.iopdns1.registrar-servers.com1800—
NSquanteda.iopdns2.registrar-servers.com1800—
TXTquanteda.iogoogle-site-verification=IbHm3MH5vFeEqMRIONLEJXg1SyTSDZRQXezsgKqbzTc1799—
TXTquanteda.iov=spf1 include:spf.efwd.registrar-servers.com ~all1799—
CNAMEquanteda.ioquanteda.github.io1799—
CAAquanteda.github.io0 issue "digicert.com"3600—
CAAquanteda.github.io0 issue "letsencrypt.org"3600—
CAAquanteda.github.io0 issue "sectigo.com"3600—
CAAquanteda.github.io0 issuewild "digicert.com"3600—
CAAquanteda.github.io0 issuewild "letsencrypt.org"3600—
CAAquanteda.github.io0 issuewild "sectigo.com"3600—

TLS and certificates

TLS / SSL

AssessmentNormal configuration
Supported protocolsTLSv1.2、TLSv1.3
Negotiated protocolTLSv1.3
Certificate subjectquanteda.io
IssuerLet's Encrypt
Valid until2026-11-26T01:57 · Remaining when checked: 40 days
Verification detailsCertificate trust: Passed · Hostname match: Passed

HTTP response headers

HTTP

HeaderValue
content-typetext/html; charset=utf-8
cache-controlmax-age=600
serverGitHub.com
access-control-allow-origin*

Identified technologies

jQueryBootstrapGoogle AnalyticsFastly

Pages, Search and Sharing

Meta descriptionA fast, flexible, and comprehensive framework for quantitative text analysis in R. Provides functionality for corpus management, creating and manipulating tokens and n-grams, exploring keywords in context, forming and manipulating sparse matrices of documents by features and feature co-occurrences, analyzing keywords, computing feature similarities and distances, applying content dictionaries, applying supervised and unsupervised machine learning, visually representing text and text analyses, and more.
Canonical URLNot detected
LanguageEnglish (default)
Twitter CardNot detected

No robots.txt found

User reviews (0)

  • No reviews yet.