R: Find the common type for a pair of vectors

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 = "", y_arg = "")

### Arguments

`x, y` | Vector types.
`...` | These dots are for future extensions and must be empty.
`x_arg, y_arg` | Argument names for `x` and `y`. These are used in error messages to inform the user about the locations of incompatible types (see `stop_incompatible_type()`).

### 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 to `x` and `y`

### See Also

`stop_incompatible_type()` when you determine from the attributes that an input can't be cast to the target type.

[Package vctrs version 0.3.2 Index]