box_read {boxr} | R Documentation |
Read an R object from a Box file
Description
These functions are used to download a Box file, specified by file_id
, then
attempt to parse its contents into memory as an R object. For
example, you may wish to read a Box CSV file as a data.frame
.
Usage
box_read(
file_id,
type = NULL,
version_id = NULL,
version_no = NULL,
read_fun = rio::import,
...
)
box_read_csv(file_id, ...)
box_read_tsv(file_id, ...)
box_read_json(file_id, ...)
box_read_excel(file_id, ...)
box_read_rds(file_id, ...)
Arguments
file_id |
|
type |
|
version_id |
|
version_no |
|
read_fun |
|
... |
Other arguments passed to |
Details
This is a two-step process. The first is to download the contents
of the file, the second is to parse those contents into an R object.
The default parsing-function is rio::import()
.
In addition to box_read()
, some specific helpers are
provided:
box_read_csv()
parse a remote CSV file into a
data.frame
. Default read-function isrio::import()
withformat = "csv"
, which usesdata.table::fread()
if available, andutils::read.csv()
if not. Pass the argumentfread = FALSE
to...
to always useutils::read.csv()
.box_read_tsv()
parse a remote TSV file into a
data.frame
. Default read-function isrio::import()
withformat = "tsv"
, which usesdata.table::fread()
if available, andutils::read.delim()
if not. Pass the argumentfread = FALSE
to...
to always useutils::read.delim()
.box_read_json()
parse a remote JSON file into a R object. Default read-function is
jsonlite::fromJSON()
.box_read_excel()
parse a remote Microsoft Excel file into a
data.frame
. Default read-function isrio::import()
withformat = "excel"
, which usesreadxl::read_excel()
by default. Pass the argumentreadxl = FALSE
to...
to useopenxlsx::read.xlsx()
instead.box_read_rds()
parse an RDS file into a R object. Uses
readRDS()
.
Value
Object returned by function read_fun
.
rio's import() and JSON files
In rio (0.5.18) there was a change in how JSON files are processed by
rio::import()
, a non-data.frame
object stored in JSON is no longer coerced
into a data.frame
. The old behavior would produce unexpected results or fatal errors
if the stored object was not a data.frame
. The new behavior is closer to that
of the underlying function jsonlite::fromJSON()
and similar to the behavior for RDS files.
In keeping with the spirit of jsonlite
, box_read_json()
has been
modified to call jsonlite::fromJSON()
directly, which by-passes the old
"undesirable" behavior of rio
(< 0.5.18). If you are using the current CRAN
release of rio
(0.5.16) you should use jsonlite::read_json()
to avoid these issues.
See Also
box_dl()
, box_save()
, box_source()