vec_ptype2.logical {vctrs} | R Documentation |
vec_ptype2()
defines the coercion hierarchy for a set of related
vector types. Along with vec_cast()
, this generic forms the
foundation of type coercions in vctrs.
vec_ptype2()
is relevant when you are implementing vctrs methods
for your class, but it should not usually be called directly. If
you need to find the common type of a set of inputs, call
vec_ptype_common()
instead. This function supports multiple
inputs and finalises the common type.
## S3 method for class 'logical'
vec_ptype2(x, y, ..., x_arg = "", y_arg = "")
## S3 method for class 'integer'
vec_ptype2(x, y, ..., x_arg = "", y_arg = "")
## S3 method for class 'double'
vec_ptype2(x, y, ..., x_arg = "", y_arg = "")
## S3 method for class 'complex'
vec_ptype2(x, y, ..., x_arg = "", y_arg = "")
## S3 method for class 'character'
vec_ptype2(x, y, ..., x_arg = "", y_arg = "")
## S3 method for class 'raw'
vec_ptype2(x, y, ..., x_arg = "", y_arg = "")
## S3 method for class 'list'
vec_ptype2(x, y, ..., x_arg = "", y_arg = "")
vec_ptype2(
x,
y,
...,
x_arg = caller_arg(x),
y_arg = caller_arg(y),
call = caller_env()
)
x , y |
Vector types. |
... |
These dots are for future extensions and must be empty. |
x_arg , y_arg |
Argument names for |
call |
The execution environment of a currently
running function, e.g. |
For an overview of how these generics work and their roles in vctrs,
see ?theory-faq-coercion
.
For an example of implementing coercion methods for simple vectors,
see ?howto-faq-coercion
.
For an example of implementing coercion methods for data frame
subclasses, see
?howto-faq-coercion-data-frame
.
For a tutorial about implementing vctrs classes from scratch, see
vignette("s3-vector")
.
vec_ptype()
is applied to x
and y
stop_incompatible_type()
when you determine from the
attributes that an input can't be cast to the target type.