CRAN_Status_Badge DOI License: GPL v3 CRAN downloadcount CRAN downloadcount Visitor Badge DOI

SDG Detector

In 2015, leaders worldwide adopted 17 Sustainable Development Goals (SDGs) with 169 targets to be achieved by 2030 ( The framework of SDGs serves as a blueprint for shared prosperity for both people and the earth. SDGdetector identifies both direct and indirect expressions of SDGs and associated targets in chunks of text. It takes a data frame with a specified column of text to process as inputs, and outputs a data frame with original columns plus matched SDGs and targets.


There are two ways to install the SDGdetector R package.


SDGdetector is now available on CRAN, so you can install it with:


2. GitHub

You can alternatively install the development version of SDGdetector from GitHub as follows:

if (!require("remotes")) {


Example Usage

To detect SDGs from text


### string as input data
text <- 'our goal is to mitigate climate change, end poverty, and reduce inequality globally'
SDGdetector(x = text)

### dataframe as input data
df <- data.frame(col = c(
  'our goal is to end poverty globally', 
  'this product contributes to slowing down climate change'))
SDGdetector(x = df, col = col)

To detect regions/countries in text

x = 'China and USA devoted the largest efforts on solar energy'

To use specific SDG colors

sdg_color(x = 1:17)

To use specific SDG icons

sdg_icon(x = 7, res = 300)

To visualize SDG on a bar plot

df <- sdgstat

# plot SDG on a bar plot
plot_sdg_bar(data = df, sdg = SDG, value = Value)

To visualize SDG on a map

# plot SDG by country on a map
plot_sdg_map(data = df, sdg = SDG, value = Value, country = Country, by_sdg = F)

Accuracy Evaluation

This package has achieved high accuracy in detecting SDG-related statements within textual data (> 75%, measured by the alignment between the R package results and four experts’ manually-coded results; see this supplementary document for more information. The data and code for reproducing the performance metrics can be found in this repo under ./docs/accuracy_evaluation/.

The overall accuracy (left) and the accuracy for each round of inspection (right). The red squared dot in the left plot indicates the mean value and the hollow round dots represent the accuracy values reported by each expert.


The SDGdetector R package is distributed under the GNU General Public License v3.0.

How to Cite

Get citation information for SDGdetector in R doing citation(package = 'SDGdetector')

To cite SDGdetector in publications, please use:

  Li, Y., Frans, V.F., Song, Y., Cai, M., Zhang, Y., Liu, J. (2023). SDGdetector: an R-based text mining tool for quantifying efforts toward Sustainable Development Goals. Journal of Open Source Software 8(84), 5124.

A BibTeX entry for LaTeX users is

    title = {SDGdetector: an R-based text mining tool for quantifying efforts toward Sustainable Development Goals},
    author = {Yingjie Li and Veronica F. Frans and Yongze Song and Meng Cai and Yuqian Zhang and Jianguo Liu},
    journal = {Journal of Open Source Software},
    year = {2023},
    volume = {8},
    number = {84},
    pages = {5124},
    doi = {10.21105/joss.05124},
    url = {}

Reporting Bugs

SDGdetector is distributed as is and without warranty of suitability for application. If you encounter flaws with the software (i.e. bugs) please report the issue. Providing a detailed description of the conditions under which the bug occurred will help to identify the bug. Use the Issues tracker on GitHub to report issues with the software and to request feature enhancements.