get_metadata_from_pmids {pubmedtk}R Documentation

Downloads metadata from Pubmed API for a column of PMID's in a data frame

Description

Downloads metadata from Pubmed API for a column of PMID's in a data frame

Usage

get_metadata_from_pmids(df, column, api_key, quiet = FALSE)

Arguments

df

A dataframe containing a column of PMID's

column

The name of the column containing PMID's

api_key

A valid Pubmed API key

quiet

A boolean TRUE or FALSE. If TRUE, no progress messages will be printed during download. FALSE by default, messages printed for every version downloaded showing progress.

Value

A data frame containing the original columns as well as seven additional columns:

The `pubmed_dl_success` column is TRUE in the case that
metadata were successfully downloaded from Pubmed; FALSE in the
case that an error occurred during downloading (e.g. due to a
number that is well-formed but does not correspond to a true
PMID); NA in the case that the supplied PMID is not well-formed
(e.g. NA or non-numeric).

The `doi` column returns a DOI that corresponds to the PMID
supplied if one is found, NA otherwise.

The `languages` column contains a JSON-encoded list of
languages for the article in question.

The `pubtypes` column contains a JSON-encoded list of
publication types for the article in question.

The `pubdate` column contains a character string with the
publication date

The `epubdate` column contains a character string with the
e-publication date

The `authors` column contains a JSON-encoded list of authors
for the article in question.

The `abstract` column contains a character string with the
abstract for the article in question.

Examples


## Not run: 
## Read in API key
ak <- readLines("api_key.txt")

## Example publications and their corresponding PMID's (some valid
## and some not)
pubs <- tibble::tribble(
  ~pmid,
  "29559429",
  "28837722",
  NA,
  "borp",
  "98472657638729"
)

## Download Pubmed metadata
pm_meta <- get_metadata_from_pmids(pubs, "pmid", ak)

## Extract DOI's for those that were successfully downloaded
pm_meta %>%
  dplyr::filter(pubmed_dl_success)
  dplyr::select(pmid, doi)

## A tibble: 2 × 2
##   pmid     doi                    
##   <chr>    <chr>                  
## 1 29559429 10.1136/bmj.k959       
## 2 28837722 10.1001/jama.2017.11502


## End(Not run)

[Package pubmedtk version 1.0.4 Index]