--- title: "Relationship to bibliometrix" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Relationship to bibliometrix} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} resource_files: - figures/logo.svg - figures/logo-dark.svg --- [![R-CMD-check](https://github.com/CTTIR/scimapR/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/CTTIR/scimapR/actions/workflows/R-CMD-check.yaml) [![pkgdown](https://github.com/CTTIR/scimapR/actions/workflows/pkgdown.yaml/badge.svg)](https://cttir.github.io/scimapR/) [![CRAN status](https://www.r-pkg.org/badges/version/scimapR)](https://CRAN.R-project.org/package=scimapR) [![Codecov test coverage](https://codecov.io/gh/CTTIR/scimapR/branch/main/graph/badge.svg)](https://app.codecov.io/gh/CTTIR/scimapR?branch=main) [![CRAN downloads](https://cranlogs.r-pkg.org/badges/scimapR)](https://cran.r-project.org/package=scimapR) [![CRAN downloads total](https://cranlogs.r-pkg.org/badges/grand-total/scimapR)](https://cran.r-project.org/package=scimapR) [![License: MIT](https://img.shields.io/badge/license-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Lifecycle: experimental](https://img.shields.io/badge/lifecycle-experimental-orange.svg)](https://lifecycle.r-lib.org/articles/stages.html#experimental) ```{r, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ``` ## Acknowledgement scimapR is inspired by and designed as a complement to the excellent **bibliometrix** package by Massimo Aria and Corrado Cuccurullo: > Aria, M. & Cuccurullo, C. (2017). bibliometrix: An R-tool for > comprehensive science mapping analysis. *Journal of Informetrics*, > 11(4), 959--975. doi:10.1016/j.joi.2017.08.007 bibliometrix is the foundational R package for science mapping. It pioneered many of the analyses that scimapR also provides, and its Biblioshiny app set the standard for interactive bibliometric exploration in R. **scimapR is not a fork, not a derivative, and contains no code copied or adapted from bibliometrix.** Where the two packages handle the same bibliographic formats (WoS, Scopus, Cochrane, Lens, Dimensions, PubMed), scimapR ships clean-room parsers written from the public format specifications -- never from reading bibliometrix source code. ## When to use which? | Feature | bibliometrix | scimapR | |---------|:---:|:---:| | Classical bibliometrics | Mature | Available | | File parsing (WoS, Scopus, ...) | Comprehensive | Clean-room native | | Interactive app | Biblioshiny | scimapR Shiny | | Provenance tracking | -- | First-class | | Embedding-based clustering | -- | Built-in | | Research question objects | -- | First-class | | LLM-grounded screening | -- | Built-in | | Corpus certificates | -- | Built-in | | Author trajectory | -- | Built-in | | Equity auditing | -- | Built-in | | LLM corpus chat | -- | Built-in | **Recommendation:** If you are already using bibliometrix and it meets your needs, continue using it. If you need embedding-native analysis, provenance tracking, reproducible certificates, equity auditing, or LLM features, scimapR adds those capabilities. ## Round-trip interop scimapR provides first-class interop with bibliometrix: ```{r setup} library(scimapR) corpus <- sm_example_corpus(n_works = 20, seed = 42) ``` ### scimapR to bibliometrix ```{r to-bib, eval = FALSE} # Convert to bibliometrix format M <- sm_to_bibliometrix(corpus) class(M) # Use with bibliometrix analysis functions bibliometrix::biblioAnalysis(M) ``` ### bibliometrix to scimapR ```{r from-bib, eval = FALSE} # Convert bibliometrix data frame to sm_corpus corpus2 <- as_sm_corpus(M) is_sm_corpus(corpus2) ``` ### Round-trip preservation The round trip keeps the DOIs, titles, abstracts and years of the works and the authors of each work with their addresses. Addresses and other text fields, such as source titles, document types and Keywords Plus, come back in upper case, as bibliometrix stores them: ```{r roundtrip, eval = FALSE} M <- sm_to_bibliometrix(corpus) corpus_rt <- as_sm_corpus(M) # Check preservation all(corpus$works$doi %in% corpus_rt$works$doi, na.rm = TRUE) ``` ## Engine delegation For shared formats, scimapR readers accept `engine = "bibliometrix"` to delegate parsing to bibliometrix: ```{r engine, eval = FALSE} # Use scimapR's native parser (default) corpus1 <- sm_read_wos("data.txt", engine = "native") # Delegate to bibliometrix corpus2 <- sm_read_wos("data.txt", engine = "bibliometrix") ``` ## Citation guidance When using scimapR, please cite **both** packages: ```{r citation, eval = FALSE} citation("scimapR") ```