vec_ptype2.logical {vctrs} | R Documentation |
Find the common type for a pair of vectors
Description
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.
Usage
## 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()
)
Arguments
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. |
Implementing coercion methods
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")
.
Dependencies
-
vec_ptype()
is applied tox
andy
See Also
stop_incompatible_type()
when you determine from the
attributes that an input can't be cast to the target type.