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
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[](https://CRAN.R-project.org/package=rscopus) [](https://cran.rstudio.com/web/packages/rscopus/index.html) [](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
- Website: http://hopstat.wordpress.com/
- Twitter: strictlystat
- Repositories: 122
- Profile: https://github.com/muschellij2
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
Top Committers
| Name | 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)
jhuapl.edu: 1
aucklanduni.ac.nz: 1
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
- Homepage: https://dev.elsevier.com/sc_apis.html
- Documentation: http://cran.r-project.org/web/packages/rscopus/rscopus.pdf
- License: GPL-2
-
Latest release: 0.9.0
published 7 months ago
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
[](https://CRAN.R-project.org/package=rscopus)
[](https://cran.rstudio.com/web/packages/rscopus/index.html)
[](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.