vignettes/scimetr.Rmd
scimetr.Rmd
This vignette (a working draft, in Spanish) tries to illustrate the
use of the scimetr
package …
## scimetr: Analysis of Scientific Publication Data with R,
## version 0.3.6 (built on 2023-04-21).
## Copyright (C) UDC Rankings Group 2017-2023.
## Type `help(scimetr)` for an overview of the package or
## visit https://rubenfcasal.github.io/scimetr.
Este paquete implementa herramientas para la investigación en cienciometría y bibliometría. Actualmente incluye rutinas para importar datos bibliográficos de Clarivate Analytics Web of Science (WoS) y realizar análisis bibliométricos.
Un listado de otros paquetes de utilidad para el análisis de este tipo de datos está disponible aquí.
Para instalar el paquete sería recomendable en primer lugar instalar las dependencias:
install.packages(c('dplyr', 'dbplyr','RSQLite', 'lazyeval', 'stringr', 'ggplot2', 'tidyr'. 'rmarkdown'))
Como de momento no está disponible en CRAN, habría que instalar la versión de desarrollo en GitHub (en el repositorio rubenfcasal/scimetr). En Windows bastaría con instalar la versión binaria del paquete scimetr_X.Y.Z.zip (disponible aquí), alternativamente se puede instalar directamente de GitHub:
# install.packages("devtools")
devtools::install_github("rubenfcasal/scimetr")
Una vez instalado ya podríamos cargar el paquete.
Nos centraremos únicamente en la importación de los datos de publicaciones de WoS) en formato de texto. En primer lugar habría que descargar los correspondientes ficheros de la web de WoS, por ejemplo siguiendo los pasos descritos aquí.
Alternativamente se puede crear una base de datos empleando la API de WoS para
posteriormente importarla a R empleando la función
ImportDB.wos()
. Para ello habría que disponer de acceso a
esta API y seguir los pasos descritos aquí.
Se pueden cargar automáticamente los archivos WoS (que por defecto tienen una limitación de 500 registros) de un subdirectorio:
dir("UDC_2008-2017 (01-02-2019)", pattern='*.txt')
## [1] "savedrecs01.txt" "savedrecs02.txt" "savedrecs03.txt" "savedrecs04.txt"
## [5] "savedrecs05.txt" "savedrecs06.txt" "savedrecs07.txt" "savedrecs08.txt"
## [9] "savedrecs09.txt" "savedrecs10.txt" "savedrecs11.txt" "savedrecs12.txt"
## [13] "savedrecs13.txt" "savedrecs14.txt" "savedrecs15.txt"
Para combinar los ficheros en un data.frame
se emplea la
función ImportSources.wos()
:
wos.txt <- ImportSources.wos("UDC_2008-2017 (01-02-2019)", other = "ignore")
A continuación habrá que crear la base de datos con la función
CreateDB.wos()
, como se muestra más adelante.
En el paquete se incluyen dos conjuntos de datos de ejemplo
(obtenidos empleando la función ImportSources.wos()
)
correspondientes a la búsqueda en WoS por el campo
Organización-Consolidada de la UDC (Organization-Enhaced: OG =
Universidade da Coruna):
wosdf
: año 2015.
wosdf2
: área de investigación ‘Mathematics’, años
2008-2017.
Variables WoS:
# View(wosdf2) # En RStudio...
variable.labels <- attr(wosdf, "variable.labels")
knitr::kable(as.data.frame(variable.labels)) # caption = "Variable labels"
variable.labels | |
---|---|
PT | Publication type |
AU | Author |
BA | Book authors |
BE | Editor |
GP | Group author |
AF | Author full |
BF | Book authors fullname |
CA | Corporate author |
TI | Title |
SO | Publication name |
SE | Series title |
BS | Book series |
LA | Language |
DT | Document type |
CT | Conference title |
CY | Conference year |
CL | Conference place |
SP | Conference sponsors |
HO | Conference host |
DE | Keywords |
ID | Keywords Plus |
AB | Abstract |
C1 | Addresses |
RP | Reprint author |
EM | Author email |
RI | Researcher id numbers |
OI | Orcid numbers |
FU | Funding agency and grant number |
FX | Funding text |
CR | Cited references |
NR | Number of cited references |
TC | Times cited |
Z9 | Total times cited count |
U1 | Usage Count (Last 180 Days) |
U2 | Usage Count (Since 2013) |
PU | Publisher |
PI | Publisher city |
PA | Publisher address |
SN | ISSN |
EI | eISSN |
BN | ISBN |
J9 | Journal.ISI |
JI | Journal.ISO |
PD | Publication date |
PY | Year published |
VL | Volume |
IS | Issue |
PN | Part number |
SU | Supplement |
SI | Special issue |
MA | Meeting abstract |
BP | Beginning page |
EP | Ending page |
AR | Article number |
DI | DOI |
D2 | Book DOI |
PG | Page count |
WC | WOS category |
SC | Research areas |
GA | Document delivery number |
UT | Access number |
PM | Pub Med ID |
Para crear la base de datos se emplea la función
CreateDB.wos()
:
db <- CreateDB.wos(wosdf2, label = "Mathematics_UDC_2008-2017 (01-02-2019)")
str(db, 1)
## List of 11
## $ Docs :'data.frame': 389 obs. of 25 variables:
## ..- attr(*, "variable.labels")= Named chr [1:62] "Publication type" "Author" "Book authors" "Editor" ...
## .. ..- attr(*, "names")= chr [1:62] "PT" "AU" "BA" "BE" ...
## $ Authors :'data.frame': 610 obs. of 4 variables:
## $ AutDoc :'data.frame': 1260 obs. of 2 variables:
## $ Categories:'data.frame': 46 obs. of 2 variables:
## $ CatDoc :'data.frame': 866 obs. of 2 variables:
## $ Areas :'data.frame': 26 obs. of 2 variables:
## $ AreaDoc :'data.frame': 771 obs. of 2 variables:
## $ Addresses :'data.frame': 896 obs. of 5 variables:
## $ AddAutDoc :'data.frame': 1328 obs. of 3 variables:
## $ Sources :'data.frame': 150 obs. of 14 variables:
## $ label : chr "Mathematics_UDC_2008-2017 (01-02-2019)"
## - attr(*, "variable.labels")= Named chr [1:62] "Publication type" "Author" "Book authors" "Editor" ...
## ..- attr(*, "names")= chr [1:62] "PT" "AU" "BA" "BE" ...
## - attr(*, "class")= chr "wos.db"
Se pueden realizar sumarios globales o por años…
summary.wos.db()
## Number of documents: 389
## Authors: 610
## Period: 2008 - 2017
##
## Document types:
## Documents
## Article 360
## Article; Proceedings Paper 16
## Correction 1
## Editorial Material 5
## Review 7
##
## Number of authors per document:
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.00 2.00 3.00 3.24 4.00 8.00
##
## Number of documents per author:
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.00 1.00 1.00 2.07 2.00 29.00
##
## Number of times cited:
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0 1.0 3.0 10.9 9.0 1139.0
##
## Indexes:
## H G
## 24 54
##
## Top Categories:
## Documents
## Mathematics, Interdisciplinary Applications 134
## Mathematics, Applied 130
## Statistics & Probability 121
## Mathematics 77
## Engineering, Multidisciplinary 64
## Mechanics 59
## Computer Science, Interdisciplinary Applications 45
## Computer Science, Artificial Intelligence 20
## Social Sciences, Mathematical Methods 17
## Automation & Control Systems 16
## Others 183
##
## Top Areas:
## Documents
## Mathematics 389
## Computer Science 69
## Engineering 69
## Mechanics 59
## Physics 22
## Chemistry 17
## Mathematical Methods In Social Sciences 17
## Automation & Control Systems 16
## Instruments & Instrumentation 16
## Business & Economics 15
## Others 82
##
## Top Journals:
## Documents
## Comput. Meth. Appl. Mech. Eng. 29
## J. Math. Anal. Appl. 11
## Chemometrics Intell. Lab. Syst. 11
## Rev. Int. Metod. Numer. Calc. Dise. 11
## J. Comput. Appl. Math. 10
## Comput. Stat. Data Anal. 9
## Int. J. Numer. Methods Fluids 9
## Appl. Numer. Math. 9
## J. Nonparametr. Stat. 8
## Int. J. Numer. Methods Eng. 8
## Others 274
##
## Top Countries:
## Documents
## Spain 389
## USA 49
## France 32
## Italy 13
## Mexico 11
## UK 11
## Germany 10
## Canada 8
## China 8
## Belgium 7
## Others 52
summary_year()
res2 <- summary_year(db)
res2
##
## Annual Scientific Production:
##
## Documents
## 2008 42
## 2009 28
## 2010 40
## 2011 37
## 2012 44
## 2013 40
## 2014 38
## 2015 39
## 2016 47
## 2017 34
##
## Annual Authors per Document:
##
## Avg Median
## 2008 2.8810 3.0
## 2009 3.3214 3.0
## 2010 3.3500 3.0
## 2011 3.3784 3.0
## 2012 2.8182 2.5
## 2013 3.3750 3.0
## 2014 3.2368 3.0
## 2015 3.0513 3.0
## 2016 3.5745 3.0
## 2017 3.4706 3.0
##
## Annual Times Cited:
##
## Cites Avg Median
## 2008 755 17.9762 5.0
## 2009 265 9.4643 6.0
## 2010 410 10.2500 5.0
## 2011 1422 38.4324 5.0
## 2012 335 7.6136 3.5
## 2013 271 6.7750 4.0
## 2014 336 8.8421 3.5
## 2015 215 5.5128 2.0
## 2016 192 4.0851 2.0
## 2017 55 1.6176 1.0
Se combinan las funciones get.id<Tabla>()
(se
puede emplear cualquier variable de la correspondiente tabla; multiple
conditions are combined with &
, see
e.g. dplyr::filter()
) con la función
get.idDocs()
.
get.idAuthors()
: buscar id (códigos) de autores
Buscar un autor concreto:
idAuthor <- get.idAuthors(db, AF == "Cao, Ricardo")
idAuthor
## Cao, Ricardo
## 16
Buscar en nombres de autores:
idAuthors <- get.idAuthors(db, grepl('Cao', AF))
idAuthors
## Cao, Ricardo Cao-Rial, Maria Teresa
## 16 69
get.idAreas()
: Devuelve códigos de las áreas
get.idAreas(db, SC == 'Mathematics')
## Mathematics
## 16
get.idAreas(db, SC == 'Mathematics' | SC == 'Computer Science')
## Computer Science Mathematics
## 7 16
get.idCategories()
: códigos de las categorías
get.idCategories(db, grepl('Mathematics', WC))
## Mathematics
## 28
## Mathematics, Applied
## 29
## Mathematics, Interdisciplinary Applications
## 30
get.idSources()
códigos de las fuentes (revistas,
libros o colecciones)
ijss <- get.idSources(db, SO == 'JOURNAL OF STATISTICAL SOFTWARE')
ijss
## [1] 70
knitr::kable(db$Journals[ijss, ], caption = "JSS")
Table: JSS
# get.idSources(db, JI == 'J. Stat. Softw.')
Los indices anteriores se pueden combinar en
get.idDocs()
idocs <- get.idDocs(db, idAuthors = idAuthor)
idocs
## [1] 10 16 23 33 40 56 128 183 187 196 210 220 269 286 295 312 315 332 340
## [20] 346 347 350 359 362 372 375 384 385
Los índices de documentos se pueden utilizar como filtro p.e. en
summary.wos.db()
.
Obtener sumario de autor(es):
summary(db, idocs)
## Number of documents: 28
## Authors: 40
## Period: 2008 - 2017
##
## Document types:
## Documents
## Article 26
## Article; Proceedings Paper 1
## Editorial Material 1
##
## Number of authors per document:
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 2.00 2.00 3.00 3.14 4.00 6.00
##
## Number of documents per author:
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.0 1.0 1.0 2.2 2.0 28.0
##
## Number of times cited:
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.00 1.00 2.00 3.25 4.25 14.00
##
## Indexes:
## H G
## 5 7
##
## Top Categories:
## Documents
## Statistics & Probability 26
## Mathematics, Interdisciplinary Applications 4
## Computer Science, Interdisciplinary Applications 3
## Economics 2
## Mathematical & Computational Biology 2
## Social Sciences, Mathematical Methods 2
## Automation & Control Systems 1
## Biochemistry & Molecular Biology 1
## Biology 1
## Business, Finance 1
## Others 4
##
## Top Areas:
## Documents
## Mathematics 28
## Computer Science 4
## Business & Economics 2
## Mathematical & Computational Biology 2
## Mathematical Methods In Social Sciences 2
## Automation & Control Systems 1
## Biochemistry & Molecular Biology 1
## Chemistry 1
## Instruments & Instrumentation 1
## Life Sciences & Biomedicine - Other Topics 1
## Others 1
##
## Top Journals:
## Documents
## J. Nonparametr. Stat. 4
## Comput. Stat. Data Anal. 3
## Comput. Stat. 3
## Test 2
## Ann. Inst. Stat. Math. 2
## J. Chemometr. 1
## J. Time Ser. Anal. 1
## Stat. Probab. Lett. 1
## SORT-Stat. Oper. Res. Trans. 1
## Stat. Appl. Genet. Mol. Biol. 1
## Others 9
##
## Top Countries:
## Documents
## Spain 28
## Belgium 6
## France 2
## Germany 2
## Argentina 1
## Canada 1
## India 1
## Mexico 1
## Norway 1
Obtener sumario de autor(es) por años:
summary_year(db, idocs)
##
## Annual Scientific Production:
##
## Documents
## 2008 7
## 2009 4
## 2010 4
## 2011 1
## 2012 2
## 2013 3
## 2014 1
## 2016 2
## 2017 4
##
## Annual Authors per Document:
##
## Avg Median
## 2008 2.4286 2.0
## 2009 3.7500 3.5
## 2010 3.5000 3.5
## 2011 4.0000 4.0
## 2012 3.0000 3.0
## 2013 3.6667 4.0
## 2014 2.0000 2.0
## 2016 2.5000 2.5
## 2017 3.5000 3.5
##
## Annual Times Cited:
##
## Cites Avg Median
## 2008 42 6.0000 6.0
## 2009 20 5.0000 3.0
## 2010 9 2.2500 2.0
## 2011 1 1.0000 1.0
## 2012 1 0.5000 0.5
## 2013 8 2.6667 2.0
## 2014 4 4.0000 4.0
## 2016 3 1.5000 1.5
## 2017 3 0.7500 0.5
Obtener índices de múltiples autores
TC.authors(db, idAuthors)
## H G
## Cao, Ricardo 5 7
## Cao-Rial, Maria Teresa 1 1
Descarga y análisis de datos de Scopus: empleando descarga de archivos
(al estilo del paquete
CITAN) o la API de Scopus (al
estilo del paquete rscopus).
Implementar análisis estadísticos “avanzados”.