add_file function

Add file (SWORD)

Add file (SWORD)

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"), ... )

Arguments

  • dataset: A dataset DOI (or other persistent identifier), an object of class dataset_atom or dataset_statement , or an appropriate and complete SWORD URL.

  • file: A character vector of file names, a data.frame, or a list of R objects.

  • key: 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").

  • server: 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.

Returns

An object of class dataset_atom .

Details

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.

Examples

## Not run: # 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) ## End(Not run)

See Also

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