knitr::opts_chunk$set(fig.height = 4, fig.width =7, fig.align = 'center', out.width = '100%') # knitr::spin("scimetr.R", knit = FALSE) # knitr::purl("scimetr.Rmd", documentation = 2) # options(digits = 5)
This vignette (a working draft, in Spanish) tries to illustrate the use of the scimetr
package ...
library(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')
# dput(dir("UDC_2008-2017 (01-02-2019)", pattern='*.txt')) c("savedrecs01.txt", "savedrecs02.txt", "savedrecs03.txt", "savedrecs04.txt", "savedrecs05.txt", "savedrecs06.txt", "savedrecs07.txt", "savedrecs08.txt", "savedrecs09.txt", "savedrecs10.txt", "savedrecs11.txt", "savedrecs12.txt", "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"
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)
Se pueden realizar sumarios globales o por años...
summary.wos.db()
res1 <- summary(db) options(digits = 5) res1
summary_year()
res2 <- summary_year(db) res2
Se emplea la librería ggplot2
...
plot.wos.db()
plot(db)
plot.summary.wos.db()
plot(res1) plot(res1, pie = TRUE)
plot.summary.year()
plot(res2) plot(res2, boxplot = TRUE)
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:
r
idAuthor <- get.idAuthors(db, AF == "Cao, Ricardo")
idAuthor
Buscar en nombres de autores:
r
idAuthors <- get.idAuthors(db, grepl('Cao', AF))
idAuthors
get.idAreas()
: Devuelve códigos de las áreas
r
get.idAreas(db, SC == 'Mathematics')
get.idAreas(db, SC == 'Mathematics' | SC == 'Computer Science')
get.idCategories()
: códigos de las categorías
r
get.idCategories(db, grepl('Mathematics', WC))
get.idSources()
códigos de las fuentes (revistas, libros o colecciones)
```r ijss <- get.idSources(db, SO == 'JOURNAL OF STATISTICAL SOFTWARE') ijss knitr::kable(db$Journals[ijss, ], caption = "JSS")
```
Los indices anteriores se pueden combinar en get.idDocs()
idocs <- get.idDocs(db, idAuthors = idAuthor) idocs
Los índices de documentos se pueden utilizar como filtro p.e. en summary.wos.db()
.
Obtener sumario de autor(es):
summary(db, idocs)
Obtener sumario de autor(es) por años:
summary_year(db, idocs)
Obtener índices de múltiples autores
TC.authors(db, idAuthors)
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".
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.