Add one or more files to a SWORD (possibly unpublished) dataset
add_file(
dataset,
file,
key = Sys.getenv("DATAVERSE_KEY"),
server = Sys.getenv("DATAVERSE_SERVER"),
...
)
A dataset DOI (or other persistent identifier), an object of class “dataset_atom” or “dataset_statement”, or an appropriate and complete SWORD URL.
A character vector of file names, a data.frame, or a list of R objects.
A character string specifying a Dataverse server API key. If one
is not specified, functions calling authenticated API endpoints will fail.
Keys can be specified atomically or globally using
Sys.setenv("DATAVERSE_KEY" = "examplekey")
.
A character string specifying a Dataverse server.
Multiple Dataverse installations exist, with "dataverse.harvard.edu"
being the
most major. The server can be defined each time within a function, or it can
be set as a default via an environment variable. To set a default, run
Sys.setenv("DATAVERSE_SERVER" = "dataverse.harvard.edu")
or add DATAVERSE_SERVER = "dataverse.harvard.edu"
in one's .Renviron
file (usethis::edit_r_environ()
), with the appropriate domain as its value.
Additional arguments passed to an HTTP request function,
such as GET
, POST
, or
DELETE
. See use_cache
for details
on how the R dataverse package uses disk and session caches to
improve network performance.
An object of class “dataset_atom”.
This function is used to add files to a dataset. It is part of the SWORD API, which is used to upload data to a Dataverse server. This means this can be used to view unpublished Dataverses and Datasets.
As of Dataverse v4.6.1, the “native” API also provides endpoints to add and update files without going through the SWORD workflow. This functionality is provided by add_dataset_file
and update_dataset_file
.
Managing a Dataverse: publish_dataverse
; Managing a dataset: dataset_atom
, list_datasets
, create_dataset
, delete_dataset
, publish_dataset
; Managing files within a dataset: add_file
, delete_file
if (FALSE) { # \dontrun{
# retrieve your service document
d <- service_document()
# create a list of metadata
metadat <- list(title = "My Study",
creator = "Doe, John",
description = "An example study")
# create the dataset
dat <- initiate_sword_dataset("mydataverse", body = metadat)
# add files to dataset
tmp <- tempfile()
write.csv(iris, file = tmp)
f <- add_file(dat, file = tmp)
# publish dataset
publish_dataset(dat)
# delete a dataset
delete_dataset(dat)
} # }