rscopus

Scopus Database API Interface to R

https://github.com/muschellij2/rscopus

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 3 committers (33.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (18.0%) to scientific vocabulary

Keywords

bibliometrics scopus scopus-api
Last synced: 6 months ago · JSON representation

Repository

Scopus Database API Interface to R

Basic Info
  • Host: GitHub
  • Owner: muschellij2
  • Language: R
  • Default Branch: master
  • Homepage:
  • Size: 1.17 MB
Statistics
  • Stars: 78
  • Watchers: 5
  • Forks: 18
  • Open Issues: 6
  • Releases: 1
Topics
bibliometrics scopus scopus-api
Created over 10 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog

README.Rmd

---
output: github_document
---



R Package to interface with Elsevier and Scopus APIs





[![CRAN status](https://www.r-pkg.org/badges/version/rscopus)](https://CRAN.R-project.org/package=rscopus)
[![](https://cranlogs.r-pkg.org/badges/rscopus)](https://cran.rstudio.com/web/packages/rscopus/index.html)
[![R-CMD-check](https://github.com/muschellij2/rscopus/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/muschellij2/rscopus/actions/workflows/R-CMD-check.yaml)


```{r setup, include = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.path = "man/figures/README-"
)
```

# rscopus

The goal of rscopus is to provide an R Scopus Database 'API' Interface.

## Installation

You can install `rscopus` from github with:

```{r gh-installation, eval = FALSE}
# install.packages("devtools")
devtools::install_github("muschellij2/rscopus")
```

## Steps to get API key

In order to use this package, you need an API key from https://dev.elsevier.com/sc_apis.html.  You should login from your institution and go to Create API Key.  You need to provide a website URL and a label, but the website can be your personal website, and agree to the terms of service.  


1.  Go to https://dev.elsevier.com/user/login. Login or create a free account.
2.  Click "Create API Key".  Put in a label, such as `rscopus key`.  Add a website.  http://example.com is fine if you do not have a site.
3.  **Read** and agree to the TOS if you do indeed agree.
4.  Add `Elsevier_API = "API KEY GOES HERE"` to `~/.Renviron` file, or add `export Elsevier_API=API KEY GOES HERE` to your `~/.bash_profile`. 

Alternatively, you you can either set the API key using `rscopus::set_api_key` or by `options("elsevier_api_key" = api_key)`.  You can access the API key using `rscopus::get_api_key`. 

You should be able to test out the API key using the [interactive Scopus APIs](https://dev.elsevier.com/scopus.html).

### A note about API keys and IP addresses
The API Key is bound to a set of IP addresses, usually bound to your institution.  Therefore, if you are using this for a Shiny application, you must host the Shiny application from your institution servers in some way.  Also, you cannot access the Scopus API with this key if you are offsite and must VPN into the server or use a computing cluster with an institution IP.

See https://dev.elsevier.com/tecdoc_api_authentication.html


## Example

This is a basic example which shows you how to solve a common problem:

```{r example, eval = TRUE, message=FALSE}
library(rscopus)
library(dplyr)
if (rscopus::is_elsevier_authorized()) {
  res = author_df(last_name = "Muschelli", first_name = "John", verbose = FALSE, general = FALSE)
  names(res)
  head(res[, c("title", "journal", "description")])
  unique(res$au_id)
  unique(as.character(res$affilname_1))
  
  all_dat = author_data(last_name = "Muschelli", 
                        first_name = "John", verbose = FALSE, general = TRUE)
  res2 = all_dat$df
  res2 = res2 %>% 
    rename(journal = `prism:publicationName`,
           title = `dc:title`,
           description = `dc:description`)
  head(res[, c("title", "journal", "description")])
}
```

## Using an Institution Token

As per https://dev.elsevier.com/tecdoc_api_authentication.html: "Using a proprietary token (an "Institutional Token") created for you by our integration support team", so you need to contact Scopus to get one.  If you have one and it's located in an object called `token`, you should be able to use it as:

```{r, eval = FALSE}
# token is from Scopus dev
hdr = inst_token_header(token)
res = author_df(last_name = "Muschelli", first_name = "John", verbose = FALSE, general = FALSE, headers = hdr)
```

but I have not tried it extensively.

Owner

  • Name: John Muschelli
  • Login: muschellij2
  • Kind: user
  • Location: United States
  • Company: Johns Hopkins Bloomberg School of Public Health

GitHub Events

Total
  • Watch event: 2
  • Issue comment event: 2
  • Push event: 11
  • Fork event: 2
Last Year
  • Watch event: 2
  • Issue comment event: 2
  • Push event: 11
  • Fork event: 2

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 267
  • Total Committers: 3
  • Avg Commits per committer: 89.0
  • Development Distribution Score (DDS): 0.007
Past Year
  • Commits: 8
  • Committers: 1
  • Avg Commits per committer: 8.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
muschellij2 m****2@g****m 265
QuinnAsena q****2@a****z 1
Christina Pikas c****s@j****u 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 47
  • Total pull requests: 3
  • Average time to close issues: 3 months
  • Average time to close pull requests: 3 days
  • Total issue authors: 38
  • Total pull request authors: 3
  • Average comments per issue: 3.36
  • Average comments per pull request: 0.33
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • hope-data-science (4)
  • Faisak (3)
  • Gerwi (2)
  • dkremmydas (2)
  • aterhorst (2)
  • vipulg13 (2)
  • hamedf62 (1)
  • erinstratton (1)
  • emilBeBri (1)
  • andrewejaffe (1)
  • Belzun (1)
  • joseprieto (1)
  • mb451 (1)
  • andreifoldes (1)
  • longhotuan (1)
Pull Request Authors
  • cpikas (1)
  • QuinnAsena (1)
  • dkremmydas (1)
Top Labels
Issue Labels
bug (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • cran 9,115 last-month
  • Total docker downloads: 42,060
  • Total dependent packages: 1
  • Total dependent repositories: 6
  • Total versions: 10
  • Total maintainers: 1
cran.r-project.org: rscopus

Scopus Database 'API' Interface

  • Versions: 10
  • Dependent Packages: 1
  • Dependent Repositories: 6
  • Downloads: 9,115 Last month
  • Docker Downloads: 42,060
Rankings
Docker downloads count: 0.6%
Forks count: 4.6%
Stargazers count: 5.3%
Downloads: 5.8%
Average: 7.7%
Dependent repos count: 12.0%
Dependent packages count: 18.2%
Maintainers (1)
Last synced: 6 months ago

Dependencies

DESCRIPTION cran
  • R >= 3.0.0 depends
  • dplyr * imports
  • glue * imports
  • httr * imports
  • jsonlite * imports
  • magrittr * imports
  • plyr * imports
  • stats * imports
  • tidyr * imports
  • tools * imports
  • utils * imports
  • graphics * suggests
  • jpeg * suggests
  • knitr * suggests
  • pbapply * suggests
  • purrr * suggests
  • rmarkdown * suggests
  • rvest * suggests
  • testthat * suggests
  • xml2 * suggests
.github/workflows/R-CMD-check.yaml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/upload-artifact main composite
  • r-lib/actions/setup-pandoc v1 composite
  • r-lib/actions/setup-r v1 composite
.github/workflows/pkgdown.yaml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • r-lib/actions/setup-pandoc v1 composite
  • r-lib/actions/setup-r v1 composite