Skip to contents

Saves an R object to a designated location in the project's S3 storage. If no custom writing function is specified, the function will infer the appropriate writing method based on the file's extension.

Usage

cloud_s3_write(x, file, fun = NULL, ..., local = FALSE, root = NULL)

Arguments

x

An R object to be written to S3.

file

Path to a file relative to project folder root. Can contain only letters, digits, '-', '_', '.', spaces and '/' symbols.

fun

A custom writing function. If NULL (default), the appropriate writing function will be inferred based on the file's extension.

...

Additional arguments to pass to the writing function fun.

local

Logical, defaulting to FALSE. If TRUE, the function will also create a local copy of the file at the specified path. Note that some writing functions might not overwrite existing files unless explicitly allowed. Typically, such functions have a parameter (often named overwrite) to control this behavior. Check the documentation of the writing function used to determine the exact parameter name and pass it through the ... argument if necessary. Alternatively, you can define an anonymous function for fun that calls a writing function with the overwriting option enabled.

root

S3 path of the project root. This serves as the reference point for all relative paths. When left as NULL, the root is automatically derived from the cloudfs.s3 field of the project's DESCRIPTION file.

Value

Invisibly returns NULL after successfully writing the object to S3.

Default writing functions

Here's how we identify a writing function based on file extension

Examples

if (FALSE) { # interactive()
# write mtcars dataframe to mtcars.csv in data folder
cloud_s3_write(mtcars, "data/mtcars.csv")
cloud_s3_write(random_forest, "models/random_forest.rds")

# provide custom writing function with parameters 
cloud_s3_write(c("one", "two"), "text/count.txt", writeLines, sep = "\n\n")
}