Uses the Neotoma API to search and access information about publications associated with data in the Neotoma Paleoecology Database

get_publications(x, ...)

# Default S3 method
get_publications(...)

# S3 method for class 'numeric'
get_publications(x, ...)

# S3 method for class 'publication'
get_publications(x, ...)

# S3 method for class 'publications'
get_publications(x, ...)

Arguments

x

integer A contact ID

...

publicationid The unique numeric identifier associated with a publication in Neotoma. datasetid A unique identifier for a Neotoma dataset that is associated with a publication. familyname The full or partial last name for an individual author. pubtype The publication type, from get_tables("publicationtypes"). year The year the publication was released. search A plain text search string used to search the citation.

Value

publications object

Examples

# \donttest{
# How old are the papers in Neotoma that include the term "mammut"?
tryCatch({
  mammoth_papers <- get_publications(search="mammut") %>%
    as.data.frame()
  hist(as.numeric(mammoth_papers$year))
}, error = function(e) {
 message("Neotoma server not responding. Try again later.")
})

# We want the paper identified in Neotoma as 666:
tryCatch({
get_publications(666)
}, error = function(e) {
message("Neotoma server not responding. Try again later.")
})
#>   publicationid
#> 1           666
#>                                                                                   citation
#> 1 Nichols, H. 1967. Pollen diagrams from sub-arctic Central Canada. Science 155:1665-1668.
#>    doi
#> 1 <NA>
# Take a publication object and purposely degrade the metadata:
tryCatch({
  bad_pub <- get_publications(666)
  # Note this only changes the reported year, not the citation string.
  bad_pub[[1]]@year <- "1923"
  bad_pub[[1]]@publicationid <- NA_integer_
  updated_pubs <- get_publications(bad_pub[[1]])
  attr(updated_pubs, "matches")
  # we see the proper citation in the record:
  updated_pubs <- attr(updated_pubs, "matches")[[3]]
}, error = function(e) {
 message("Neotoma server not responding. Try again later.")
})
# }