A list_of
object is a list where each element has the same type.
Modifying the list with $
, [
, and [[
preserves the constraint
by coercing all input items.
Usage
list_of(..., .ptype = NULL)
as_list_of(x, ...)
is_list_of(x)
# S3 method for vctrs_list_of
vec_ptype2(x, y, ..., x_arg = "", y_arg = "")
# S3 method for vctrs_list_of
vec_cast(x, to, ...)
Arguments
- ...
Vectors to coerce.
- .ptype
If
NULL
, the default, the output type is determined by computing the common type across all elements of...
.Alternatively, you can supply
.ptype
to give the output known type. IfgetOption("vctrs.no_guessing")
isTRUE
you must supply this value: this is a convenient way to make production code demand fixed types.- x
For
as_list_of()
, a vector to be coerced to list_of.- y, to
Arguments to
vec_ptype2()
andvec_cast()
.- x_arg, y_arg
Argument names for
x
andy
. These are used in error messages to inform the user about the locations of incompatible types (seestop_incompatible_type()
).
Examples
x <- list_of(1:3, 5:6, 10:15)
if (requireNamespace("tibble", quietly = TRUE)) {
tibble::tibble(x = x)
}
#> # A tibble: 3 × 1
#> x
#> <list<int>>
#> 1 [3]
#> 2 [2]
#> 3 [6]
vec_c(list_of(1, 2), list_of(FALSE, TRUE))
#> <list_of<double>[4]>
#> [[1]]
#> [1] 1
#>
#> [[2]]
#> [1] 2
#>
#> [[3]]
#> [1] 0
#>
#> [[4]]
#> [1] 1
#>