-
Notifications
You must be signed in to change notification settings - Fork 168
Expand file tree
/
Copy pathREADME.Rmd
More file actions
829 lines (587 loc) · 27.5 KB
/
README.Rmd
File metadata and controls
829 lines (587 loc) · 27.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
---
output: github_document
editor_options:
markdown:
wrap: 72
---
<!-- README.md is generated from README.Rmd. Please edit that file -->
```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%",
dpi = 96
)
library(dplyr)
```
# bibliometrix
## An R-tool for comprehensive science mapping analysis
[](https://doi.org/10.1016/j.joi.2017.08.007)
[](https://www.repostatus.org/#active)
[](https://github.com/massimoaria/bibliometrix/actions/workflows/R-CMD-check.yaml)
[](https://cran.r-project.org/package=bibliometrix)
[](https://github.com/r-hub/cranlogs.app)
`r badger::badge_cran_download("bibliometrix", "grand-total")`
<p align="center">
<img src="https://raw.githubusercontent.com/massimoaria/bibliometrix/master/inst/biblioshiny/www/logoAI.jpg" width="400"/>
</p>
## Overview
**bibliometrix** provides a comprehensive set of tools for quantitative
research in bibliometrics and scientometrics.
Bibliometrics applies quantitative analysis and statistics to scientific
publications and their citation patterns. It has become essential across
all scientific fields for evaluating growth, maturity, leading authors,
conceptual and intellectual maps, and emerging trends within research
communities.
Today, bibliometrics is widely used in research performance evaluation
by universities, government laboratories, policymakers, research
directors, information specialists, librarians, and scholars themselves.
**bibliometrix** supports scholars in three key phases of analysis:
- **Data importing and conversion** to R format from major
bibliographic databases;
- **Bibliometric analysis** of publication datasets, including
descriptive statistics, author productivity, and source impact;
- **Building and visualizing matrices** for co-citation, coupling,
collaboration, and co-word analysis. These matrices serve as input
for network analysis, multiple correspondence analysis, and other
data reduction techniques.
For an in-depth guide to science mapping with bibliometrix, see the
companion book [Science Mapping Analysis: A Primer with
Biblioshiny](#the-book).
## The SAAS Workflow
**bibliometrix** and **biblioshiny** are designed around the **SAAS
workflow** — a four-stage methodological framework for conducting
rigorous bibliometric research:
<p align="center">
<img src="man/figures/c02_SAAS_WF1.png" width="700"/>
</p>
The SAAS workflow aligns the analytical pipeline with the structure of
a scientific article:
- **Search** — Define the research question, select bibliographic
databases (Web of Science, Scopus, OpenAlex, PubMed, Lens.org,
Cochrane, Dimensions), formulate search queries, and collect data
via web export or API.
- **Appraisal** — Assess and refine the dataset using the PRISMA
flow diagram, apply inclusion/exclusion filters (timespan, language,
document type, impact metrics), and ensure data quality through
pre-processing and citation matching.
- **Analysis** — Perform descriptive analysis at three levels
(Sources, Authors, Documents) and explore the knowledge structures:
conceptual (co-word analysis, thematic mapping), intellectual
(co-citation, historiograph), and social (collaboration networks).
- **Synthesis** — Generate visualizations (networks, maps, matrices,
Sankey diagrams) and interpret results with the support of
**Biblio AI**, the integrated AI assistant.
This framework ensures transparency and reproducibility, mapping
each analytical step to a specific section of the resulting
research paper.
## The Book
<p align="center">
<img src="man/figures/book_cover.png" width="800"/>
</p>
**Science Mapping Analysis: A Primer with Biblioshiny** by Massimo
Aria and Corrado Cuccurullo (McGraw-Hill) is the definitive guide to
bibliometric research using bibliometrix and biblioshiny.
The book covers the full SAAS workflow, from research design and data
collection to advanced analyses including thematic evolution, content
analysis, and AI-assisted interpretation. Each chapter provides
step-by-step instructions with practical examples using biblioshiny.
## biblioshiny
**bibliometrix** includes **biblioshiny: bibliometrix for no-coders**
**biblioshiny** is a *shiny web application providing an intuitive
interface for bibliometrix*.
It enables scholars to easily access the main features of bibliometrix
through an interactive workflow organized around the SAAS model.
<p align="center">
<img src="man/figures/c02_biblioshiny_interface.png" width="700"/>
</p>
### Data Management
- **Import and convert** data from multiple bibliographic databases
(Web of Science, Scopus, PubMed, OpenAlex, Cochrane CDSR, Lens.org,
Dimensions)
- **API Integration** for direct data retrieval from OpenAlex and
PubMed
- **Filter data** by various criteria including publication years,
journals, countries, citation counts, and custom journal rankings
- **Merge collections** from different databases
- **Citation Matching**: Intelligent algorithm to match and reconcile
citations across different databases
- **PRISMA Flow Diagram**: Automatically generate a PRISMA-compliant
flow diagram documenting the data selection process — from
identification through screening, eligibility, and final inclusion.
<p align="center">
<img src="man/figures/c03_prisma.png" width="500"/>
</p>
### Analytics and Visualization
- **Main Information**: A comprehensive dashboard summarizing the
key bibliometric indicators of the collection.
- **Three-Field Plot**: A Sankey diagram connecting three metadata
fields (e.g., cited references, authors, and keywords) to reveal
relational patterns at a glance.
<p align="center">
<img src="man/figures/c04_threefieldplot.png" width="700"/>
</p>
- **Three-level metrics** for comprehensive analysis:
- **Sources**: journal performance, impact metrics, Bradford's
law, source production over time
- **Authors**: productivity analysis, h-index, Lotka's law,
collaboration patterns, author profiles with biographical
information from OpenAlex
- **Documents**: citation analysis, most relevant papers,
reference publication year spectroscopy (RPYS), trend topics
- **Life Cycle Analysis**: Fit a logistic growth model to annual
publication counts to identify the developmental stage of a
research field (emergence, rapid growth, maturity, or saturation)
and forecast future trends.
<p align="center">
<img src="man/figures/c04_lifecycle.png" width="700"/>
</p>
### Knowledge Structure Analysis
- **Conceptual Structure**: Analyze the topics and themes through
co-word networks, thematic mapping (strategic diagrams), and
thematic evolution over time.
<p align="center">
<img src="man/figures/c08_thematicMap.png" width="500"/>
</p>
<p align="center">
<img src="man/figures/c08_TE_lineages.png" width="700"/>
</p>
- **Intellectual Structure**: Examine the citation networks through
co-citation analysis (at document, author, and source level),
historiograph, and bibliographic coupling.
<p align="center">
<img src="man/figures/c09_co-citation_papers_network.png" width="500"/>
</p>
<p align="center">
<img src="man/figures/c09_historiograph_temporal_network.png" width="700"/>
</p>
- **Social Structure**: Explore collaboration patterns through
co-authorship networks at author, institution, and country levels,
including an interactive collaboration world map.
<p align="center">
<img src="man/figures/c10_collaboration_map.png" width="700"/>
</p>
### Content Analysis
**Content Analysis** goes beyond metadata to examine the full text of
key scientific publications. It includes:
- Citation function analysis (background, method, comparison, critique)
- In-context citation analysis with citation windows
- Keyword and concept extraction (TF-IDF, RAKE, YAKE)
- Word frequency trends and structural analysis (IMRaD)
- AI-powered summaries via Biblio AI
<p align="center">
<img src="man/figures/c11_CA_menu.png" width="400"/>
</p>
### Biblio AI
**Biblio AI** is an integrated AI assistant that helps scholars
interpret bibliometric results, generate insights, and provide
context-aware recommendations. It supports the synthesis and
interpretation phases of the SAAS workflow by translating quantitative
outputs into actionable research narratives.
### Additional Features
- **Animated Networks**: Dynamic visualization of diachronic networks
showing temporal evolution
- **Interactive Reports**: Generate comprehensive Excel reports
combining multiple analyses
### How to use biblioshiny
To launch the application, simply run:
```{r eval=FALSE}
library(bibliometrix)
biblioshiny()
```
For detailed tutorials and guides, visit the bibliometrix website:
<https://www.bibliometrix.org/>
## How to cite bibliometrix
If you use this package for your research, please cite it as:
Aria, M. & Cuccurullo, C. (2017) **bibliometrix: An R-tool for
comprehensive science mapping analysis**, *Journal of Informetrics*,
11(4), pp 959-975, Elsevier, DOI: 10.1016/j.joi.2017.08.007
## Community
Official website: <https://www.bibliometrix.org>
CRAN page: <https://cran.r-project.org/package=bibliometrix>
GitHub repository: <https://github.com/massimoaria/bibliometrix>
### Tutorials
Introduction to bibliometrix:
<https://www.bibliometrix.org/vignettes/Introduction_to_bibliometrix.html>
Data importing and converting:
<https://www.bibliometrix.org/vignettes/Data-Importing-and-Converting.html>
## Installation
Install the stable version from CRAN:
```{r eval=FALSE}
install.packages("bibliometrix")
```
Or install the development version from GitHub:
```{r eval=FALSE}
if (!require("pak", quietly=TRUE)) install.packages("pak")
pak::pkg_install("massimoaria/bibliometrix")
```
Load `bibliometrix`:
```{r echo=TRUE}
library(bibliometrix)
```
## Data loading and converting
Export files from bibliographic databases can be imported into R using
the function **convert2df**:
**convert2df**(*file*, *dbsource*, *format*)
The argument *file* is a character vector containing the names of export
files downloaded from SCOPUS, Clarivate Analytics WoS, OpenAlex, Digital
Science Dimensions, PubMed, Lens.org, or Cochrane CDSR. The *file*
argument can also contain JSON/XML objects downloaded using OpenAlex,
Digital Science Dimensions, or PubMed APIs (through the packages
*openalexR*, *dimensionsR*, and *pubmedR*).
Example:
```{r eval=FALSE}
file <- c("file1.txt", "file2.txt", ...)
```
```{r Data-loading-and-Converting}
## An example from bibliometrix vignettes
file <- c("https://www.bibliometrix.org/datasets/management1.txt","https://www.bibliometrix.org/datasets/management2.txt")
M <- convert2df(file = file, dbsource = "wos", format = "plaintext")
data(management, package = "bibliometrixData")
M <- management
```
The **convert2df** function creates a bibliographic data frame where
rows correspond to manuscripts and columns to metadata fields.
Each manuscript contains multiple elements including authors' names,
title, keywords, abstract, and other bibliographic information. All
these elements constitute the metadata of a document.
Data frame columns are named using the standard Clarivate Analytics WoS
Field Tag codes: [(Field Tags
documentation)](https://www.bibliometrix.org/documents/Field_Tags_bibliometrix.pdf)
## Checking metadata completeness
After importing a bibliographic data frame, you can assess the
completeness of metadata using **missingData()**:
**missingData**(*M*)
The argument *M* is a bibliographic data frame obtained by the
**convert2df** function.
```{r Completeness-of-metadata}
## An example from bibliometrix vignettes
com <- missingData(M)
com$mandatoryTags
```
## Bibliometric Analysis
The function **biblioAnalysis** performs a comprehensive bibliometric
analysis of a dataset, calculating main bibliometric measures.
**biblioAnalysis**(*M*, *sep = ";"*)
The argument *sep* indicates the field separator character used in the
data frame.
```{r biblioAnalysis}
results <- biblioAnalysis(M, sep = ";")
```
The **biblioAnalysis** function returns an object of class
"bibliometrix" containing:
- Annual scientific production
- Most productive authors
- Most cited manuscripts
- Most productive countries
- Total citations per country\
- Most relevant sources (journals)
- Most frequent keywords
Use the generic function **summary** to display main results:
```{r summary-generic-function}
S <- summary(object = results, k = 10, pause = FALSE)
```
The *k* parameter specifies the number of rows to display in each table
(top k authors, sources, etc.). The *pause* parameter controls whether
to pause between tables.
Basic visualizations can be generated using the **plot** function:
```{r plot-generic-function, fig.width=7}
plot(x = results, k = 10, pause = FALSE)
```
## Author Bio Cards
The **AuthorBio** function retrieves and displays biographical
information about authors using OpenAlex data:
```{r eval=TRUE}
# Example: Get biographical information for an author
authorInfo <- authorBio(author_position = 1,
doi = "10.1016/j.joi.2017.08.007")
dplyr::glimpse(authorInfo)
```
This function provides comprehensive author profiles including:
- Institutional affiliations
- Research areas and topics
- Publication history
- Citation metrics
- Co-author networks
## Citation Matching
The **applyCitationMatching** function implements an intelligent
algorithm to match and reconcile citations across different databases:
```{r eval=FALSE}
# Apply citation matching to improve reference consistency
results <- applyCitationMatching(management, threshold = 0.85)
```
This feature is particularly useful when:
- Merging datasets from multiple databases
- Identifying duplicate or variant citations
- Building accurate citation networks
- Conducting historiographic analysis
## Life Cycle Analysis
The **lifeCycle** function analyzes the temporal evolution of research
topics, identifying different phases in their development:
```{r eval=TRUE}
# Perform life cycle analysis
data <- M %>% group_by(PY) %>% count()
LC <- lifeCycle(data, forecast_years = 20, plot = TRUE, verbose = FALSE)
print(LC$parameters)
print(LC$metrics)
```
The \*\*Life Cycle of Scientific Production\* function implements a
logistic growth model to analyze the temporal dynamics of research
topics. This approach, grounded in the theory of scientific paradigms
and innovation diffusion, allows researchers to identify the current
developmental stage of a field, predict future trends, and estimate when
a topic will reach maturity or saturation.
By fitting a logistic curve to the annual publication counts in your
collection, this analysis reveals whether a research area is in its
emergence phase, rapid growth phase, maturity phase, or decline phase.
## Bibliographic network matrices
Manuscript attributes are interconnected through the publications
themselves: authors link to journals, keywords to publication dates, and
references create citation networks.
These connections form bipartite networks that can be represented as
rectangular matrices (Manuscripts × Attributes).
Additionally, scientific publications regularly cite other works,
generating co-citation and coupling networks that reveal the
intellectual structure of research fields.
### biblioNetwork function
The **biblioNetwork** function calculates the most frequently used
bibliometric networks from a bibliographic data frame:
**Analysis types:** - **Coupling**: Documents sharing references -
**Co-citation**: References cited together - **Co-occurrences**:
Keywords or terms appearing together\
- **Collaboration**: Co-authorship patterns
**Network levels:** - Authors - References - Sources (journals) -
Countries - Universities - Keywords (Author keywords or Keywords Plus) -
Titles - Abstracts
Example - classical co-citation network:
```{r eval=FALSE}
NetMatrix <- biblioNetwork(M, analysis = "co-citation", network = "references", sep = ";")
```
## Visualizing bibliographic networks
Bibliographic networks can be visualized and analyzed using the
**networkPlot** function, which offers multiple layout algorithms and
customization options.
The main argument *type* specifies the network layout: circle,
kamada-kawai, fruchterman-reingold, mds, etc.
### Country Scientific Collaboration
```{r Country-collaboration, fig.height=7, fig.width=7, warning=FALSE}
# Create a country collaboration network
M <- metaTagExtraction(M, Field = "AU_CO", sep = ";")
NetMatrix <- biblioNetwork(M, analysis = "collaboration", network = "countries", sep = ";")
# Plot the network
net <- networkPlot(NetMatrix, n = dim(NetMatrix)[1], Title = "Country Collaboration",
type = "circle", size = TRUE, remove.multiple = FALSE, labelsize = 0.8)
```
This visualization reveals international research collaborations,
highlighting countries with strong scientific partnerships.
### Co-Citation Network
```{r Co-citation-network, fig.height=7, fig.width=7, warning=FALSE}
# Create a co-citation network
NetMatrix <- biblioNetwork(M, analysis = "co-citation", network = "references", n = 30, sep = ";")
# Plot the network
net <- networkPlot(NetMatrix, Title = "Co-Citation Network", type = "fruchterman",
size = TRUE, remove.multiple = FALSE, labelsize = 0.7, edgesize = 5)
```
Co-citation analysis identifies the intellectual foundations of a
research field by revealing which references are frequently cited
together.
### Keyword Co-occurrences
```{r Keyword-co-occurrences, fig.height=7, fig.width=7, warning=FALSE}
# Create keyword co-occurrences network
NetMatrix <- biblioNetwork(M, analysis = "co-occurrences", network = "keywords", sep = ";")
# Plot the network
net <- networkPlot(NetMatrix, normalize = "association", weighted = TRUE, n = 30,
Title = "Keyword Co-occurrences", type = "fruchterman",
size = TRUE, edgesize = 5, labelsize = 0.7)
```
Keyword co-occurrence networks reveal the conceptual structure of a
research field, identifying main themes and their relationships.
### Thematic Map
The thematicMap function creates a **strategic diagram** based on
co-word network analysis and clustering. It plots themes in a
two-dimensional space according to their centrality (measure of
importance) and density (measure of development).
This visualization helps identify:
\- Motor Themes (well-developed and central),
\- Niche Themes (well-developed but peripheral),
\- Emerging or Declining Themes (weakly developed), and
\- Basic Themes (important but not well-developed).
The methodology is based on Cobo et al. (2011) co-word analysis
approach.
```{r fig.height=7, fig.width=7}
# Create a Thematic Map
thematicMapResults <- thematicMap(M, field = "DE", n = 250, minfreq = 5,
stemming = FALSE, size = 0.3, n.labels = 3,
repel = TRUE, cluster="louvain")
plot(thematicMapResults$map)
plot(thematicMapResults$net$graph)
```
### Thematic Evolution
The thematicEvolution function analyzes how themes evolve over time by
dividing the collection into multiple time periods and tracking thematic
changes across them. It performs a thematic map analysis for each period
and measures the conceptual relationships between themes in consecutive
periods using inclusion indexes and stability measures. This
longitudinal analysis reveals emerging topics, declining themes, stable
research areas, and thematic transformations.
The function produces an interactive Sankey-like diagram showing
thematic flows between periods, along with strategic maps for each time
slice.
```{r fig.height=7, fig.width=9}
# Thematic Evolution
TEResults <- thematicEvolution(M, field = "DE", n = 250,
minFreq = 5, stemming = FALSE,
size = 0.3, n.labels = 1,
repel = TRUE, cluster="louvain",
years = c(2004, 2008, 2015))
plotThematicEvolution(TEResults$Nodes, TEResults$Edges, measure="weighted")
```
#### 1985-2004
```{r fig.height=9, fig.width=9}
# 1985-2004
plot(TEResults$TM[[1]]$map)
```
#### 2005-2008
```{r fig.height=9, fig.width=9}
# 2005-2008
plot(TEResults$TM[[2]]$map)
```
#### 2009-2015
```{r fig.height=9, fig.width=9}
# 2009-2015
plot(TEResults$TM[[3]]$map)
```
#### 2016-2020
```{r fig.height=9, fig.width=9}
# 2016-2020
plot(TEResults$TM[[4]]$map)
```
## Co-Word Analysis: The conceptual structure of a field
Co-word analysis maps the conceptual structure of a research domain by
examining word co-occurrences in a bibliographic collection.
The analysis employs dimensionality reduction techniques including: -
**Multiple Correspondence Analysis (MCA)** - **Correspondence Analysis
(CA)** - **Multidimensional Scaling (MDS)**
The **conceptualStructure** function performs CA or MCA to visualize the
conceptual structure and uses K-means clustering to identify document
clusters sharing common themes. Results are displayed on two-dimensional
maps.
The function includes natural language processing (NLP) routines (see
**termExtraction**) to extract terms from titles and abstracts, and
implements Porter's stemming algorithm to reduce words to their root
form.
```{r Co-Word-Analysis, fig.height=9, fig.width=9, warning=FALSE}
# Conceptual Structure using keywords (method="MCA")
CS <- conceptualStructure(M, field = "ID", method = "MCA", minDegree = 10,
clust = 5, stemming = FALSE, labelsize = 15,
documents = 20, graph = FALSE)
plot(CS$graph_terms)
plot(CS$graph_dendogram)
```
This analysis helps identify: - Main research themes and sub-themes -
Relationships between concepts - Evolution of research focus - Emerging
topics and declining areas
## Referenced Publication Years Spectroscopy (RPYS)
RPYS analysis examines the age distribution of cited references to
identify seminal works and breakthrough moments in a research field. The
**rpys** function provides advanced capabilities for detecting:
```{r eval=TRUE}
# Perform RPYS analysis
rpysResults <- rpys(M, sep = ";", timespan = NULL, graph = TRUE)
print(rpysResults$Sequences %>% filter(Class!="") %>% group_by(Class) %>% slice_max(order_by=Freq,n=3, with_ties = FALSE) %>% arrange(desc(RPY),.by_group = TRUE), n=30)
```
The analysis identifies four types of influential references:
- **Hot Papers**: Recently published works receiving immediate,
intense attention
- **Constant Performers**: Works consistently cited over extended
periods
- **Life Cycles**: Publications showing typical rise and fall patterns
in citation frequency
- **Sleeping Beauties**: Works initially overlooked but later
recognized as significant contributions
RPYS helps researchers: - Identify foundational works in a field -
Detect breakthrough moments and paradigm shifts - Understand citation
patterns over time - Discover underappreciated but important
contributions
## Historical Direct Citation Network
The historiograph, proposed by Eugene Garfield, represents a
chronological network of the most relevant direct citations in a
bibliographic collection.
The **histNetwork** function generates a chronological direct citation
network matrix that can be visualized using **histPlot**:
```{r Historical-Co-citation-network, fig.height=9, fig.width=9, warning=FALSE}
# Create a historical citation network
histResults <- histNetwork(M, sep = ";")
# Plot a historical citation network
net <- histPlot(histResults, n = 20, size = FALSE, label = "short")
```
The historiograph reveals: - The chronological development of ideas in a
field - Key publications and their influence over time - Citation paths
showing knowledge flow - Temporal relationships between foundational
works
This visualization is particularly valuable for understanding how
scientific knowledge evolves and builds upon previous research.
## Main Authors' References
### The Book
Aria, M. & Cuccurullo, C. (2026). **Science Mapping Analysis: A
Primer with Biblioshiny**, *McGraw-Hill Education*. ISBN: 978-88-386-2297-7.
### Core bibliometrix publication
Aria, M. & Cuccurullo, C. (2017). **bibliometrix: An R-tool for
comprehensive science mapping analysis**, *Journal of Informetrics*,
11(4), pp 959-975, Elsevier, DOI: 10.1016/j.joi.2017.08.007
(<https://doi.org/10.1016/j.joi.2017.08.007>)
### Recent methodological advances
M. Aria, C. Cuccurullo, L. D'Aniello, M. Misuraca, M. Spano (2024).
**Comparative science mapping: a novel conceptual structure analysis
with metadata**, *Scientometrics*.
(<https://doi.org/10.1007/s11192-024-05161-6>)
Aria, M., Le, T., Cuccurullo, C., Belfiore, A., & Choe, J. (2024).
**openalexR: An R-Tool for Collecting Bibliometric Data from OpenAlex**.
*The R Journal*, [DOI:
10.32614/RJ-2023-089](https://doi.org/10.32614/RJ-2023-089).
### Applications in various domains
Aria, M., D’Aniello, L., Grassia, M. G., Marino, M., Mazza, R., &
Stavolo, A. (2024). **Mapping the evolution of gender dysphoria
research: a comprehensive bibliometric study**. *Quality & Quantity*,
58(6), 5351-5375.
Aria, M., Cuccurullo, C., D'Aniello, L., Misuraca, M., & Spano, M.
(2022). **Thematic Analysis as a New Culturomic Tool: The Social Media
Coverage on COVID-19 Pandemic in Italy**. *Sustainability*, 14(6), 3643,
(<https://doi.org/10.3390/su14063643>)
Aria M., Misuraca M., Spano M. (2020) **Mapping the evolution of social
research and data science on 30 years of Social Indicators Research**,
*Social Indicators Research*.
(<https://doi.org/10.1007/s11205-020-02281-3>)
Aria M., Alterisio A., Scandurra A, Pinelli C., D'Aniello B, (2021)
**The scholar's best friend: research trends in dog cognitive and
behavioural studies**, *Animal Cognition*.
(<https://doi.org/10.1007/s10071-020-01448-2>)
Angelelli, M., Ciavolino, E., Ringle, C. M., Sarstedt, M., & Aria, M.
(2025). **Conceptual structure and thematic evolution in partial least
squares structural equation modeling research**. *Quality & Quantity*,
1-46.
Belfiore, A., Cuccurullo, C., & Aria, M. (2022). **IoT in healthcare: A
scientometric analysis**. *Technological Forecasting and Social Change*,
184, 122001. (<https://doi.org/10.1016/j.techfore.2022.122001>)
Ciavolino, E., Aria, M., Cheah, J. H., & Roldán, J. L. (2022). **A tale
of PLS structural equation modelling: episode I—a bibliometrix citation
analysis**. *Social Indicators Research*, 164(3), 1323-1348
(<https://doi.org/10.1007/s11205-022-02994-7>).
D'Aniello, L., Spano, M., Cuccurullo, C., & Aria, M. (2022). **Academic
Health Centers' configurations, scientific productivity, and impact:
insights from the Italian setting**. *Health Policy*.
(<https://doi.org/10.1016/j.healthpol.2022.09.007>)
Sarto, F., Cuccurullo, C., & Aria, M. (2014). **Exploring healthcare
governance literature: systematic review and paths for future
research**. *Mecosan*
(<https://www.francoangeli.it/Riviste/Scheda_Rivista.aspx?IDarticolo=52780&lingua=en>)
Scarano, A., Aria, M., Mauriello, F., Riccardi, M. R., & Montella, A.
(2023). **Systematic literature review of 10 years of cyclist safety
research**. *Accident Analysis & Prevention*, 184, 106996
(<https://doi.org/10.1016/j.aap.2023.106996>).