tib_unspecified {tibblify} | R Documentation |
Create a Field Specification
Description
Use these functions to specify how to convert the fields of an object.
Usage
tib_unspecified(key, ..., required = TRUE)
tib_scalar(
key,
ptype,
...,
required = TRUE,
fill = NULL,
ptype_inner = ptype,
transform = NULL
)
tib_lgl(
key,
...,
required = TRUE,
fill = NULL,
ptype_inner = logical(),
transform = NULL
)
tib_int(
key,
...,
required = TRUE,
fill = NULL,
ptype_inner = integer(),
transform = NULL
)
tib_dbl(
key,
...,
required = TRUE,
fill = NULL,
ptype_inner = double(),
transform = NULL
)
tib_chr(
key,
...,
required = TRUE,
fill = NULL,
ptype_inner = character(),
transform = NULL
)
tib_date(
key,
...,
required = TRUE,
fill = NULL,
ptype_inner = vctrs::new_date(),
transform = NULL
)
tib_chr_date(key, ..., required = TRUE, fill = NULL, format = "%Y-%m-%d")
tib_vector(
key,
ptype,
...,
required = TRUE,
fill = NULL,
ptype_inner = ptype,
transform = NULL,
elt_transform = NULL,
input_form = c("vector", "scalar_list", "object"),
values_to = NULL,
names_to = NULL
)
tib_lgl_vec(
key,
...,
required = TRUE,
fill = NULL,
ptype_inner = logical(),
transform = NULL,
elt_transform = NULL,
input_form = c("vector", "scalar_list", "object"),
values_to = NULL,
names_to = NULL
)
tib_int_vec(
key,
...,
required = TRUE,
fill = NULL,
ptype_inner = integer(),
transform = NULL,
elt_transform = NULL,
input_form = c("vector", "scalar_list", "object"),
values_to = NULL,
names_to = NULL
)
tib_dbl_vec(
key,
...,
required = TRUE,
fill = NULL,
ptype_inner = double(),
transform = NULL,
elt_transform = NULL,
input_form = c("vector", "scalar_list", "object"),
values_to = NULL,
names_to = NULL
)
tib_chr_vec(
key,
...,
required = TRUE,
fill = NULL,
ptype_inner = character(),
transform = NULL,
elt_transform = NULL,
input_form = c("vector", "scalar_list", "object"),
values_to = NULL,
names_to = NULL
)
tib_date_vec(
key,
...,
required = TRUE,
fill = NULL,
ptype_inner = vctrs::new_date(),
transform = NULL,
elt_transform = NULL,
input_form = c("vector", "scalar_list", "object"),
values_to = NULL,
names_to = NULL
)
tib_chr_date_vec(
key,
...,
required = TRUE,
fill = NULL,
input_form = c("vector", "scalar_list", "object"),
values_to = NULL,
names_to = NULL,
format = "%Y-%m-%d"
)
tib_variant(
key,
...,
required = TRUE,
fill = NULL,
transform = NULL,
elt_transform = NULL
)
tib_recursive(.key, ..., .children, .children_to = .children, .required = TRUE)
tib_row(.key, ..., .required = TRUE)
tib_df(.key, ..., .required = TRUE, .names_to = NULL)
Arguments
key , .key |
The path to the field in the object. |
... |
These dots are for future extensions and must be empty. |
required , .required |
Throw an error if the field does not exist? |
ptype |
A prototype of the desired output type of the field. |
fill |
Optionally, a value to use if the field does not exist. |
ptype_inner |
A prototype of the field. |
transform |
A function to apply to the whole vector after casting to
|
format |
Optional, a string passed to the |
elt_transform |
A function to apply to each element before casting
to |
input_form |
A string that describes what structure the field has. Can be one of:
|
values_to |
Can be one of the following:
|
names_to |
Can be one of the following:
|
.children |
A string giving the name of field that contains the children. |
.children_to |
A string giving the column name to store the children. |
.names_to |
A string giving the name of the column which will contain
the names of elements of the object list. If |
Details
There are basically five different tib_*()
functions
-
tib_scalar(ptype)
: Cast the field to a length one vector of typeptype
. -
tib_vector(ptype)
: Cast the field to an arbitrary length vector of typeptype
. -
tib_variant()
: Cast the field to a list. -
tib_row()
: Cast the field to a named list. -
tib_df()
: Cast the field to a tibble.
There are some special shortcuts of tib_scalar()
resp. tib_vector()
for
the most common prototypes
-
logical()
:tib_lgl()
resp.tib_lgl_vec()
-
integer()
:tib_int()
resp.tib_int_vec()
-
double()
:tib_dbl()
resp.tib_dbl_vec()
-
character()
:tib_chr()
resp.tib_chr_vec()
-
Date
:tib_date()
resp.tib_date_vec()
Further, there is also a special shortcut for dates encoded as character:
tib_chr_date()
resp. tib_chr_date_vec()
.
Value
A tibblify field collector.
Examples
tib_int("int")
tib_int("int", required = FALSE, fill = 0)
tib_scalar("date", Sys.Date(), transform = function(x) as.Date(x, format = "%Y-%m-%d"))
tib_df(
"data",
.names_to = "id",
age = tib_int("age"),
name = tib_chr("name")
)