R: Coercion to (positive) integer positions

as.which.which {bit} | R Documentation

## Coercion to (positive) integer positions

### Description

Coercing to something like the result of which `which`

### Usage

    ## S3 method for class 'which'
    as.which(x, maxindex = NA_integer_, ...)

    ## S3 method for class ''NULL''
    as.which(x, ...)

    ## S3 method for class 'numeric'
    as.which(x, maxindex = NA_integer_, ...)

    ## S3 method for class 'integer'
    as.which(x, maxindex = NA_integer_, is.unsorted = TRUE, has.dup = TRUE, ...)

    ## S3 method for class 'logical'
    as.which(x, ...)

    ## S3 method for class 'ri'
    as.which(x, ...)

    ## S3 method for class 'bit'
    as.which(x, range = NULL, ...)

    ## S3 method for class 'bitwhich'
    as.which(x, ...)

    as.which(x, ...)

### Arguments

`x` | an object of classes `bit`, `bitwhich`, `ri` or something on which `which` works
`maxindex` | the length of the boolean vector which is represented
`...` | further arguments (passed to `which` for the default method, ignored otherwise)
`is.unsorted` | a logical scalar indicating whether the data may be unsorted
`has.dup` | a logical scalar indicating whether the data may have duplicates
`range` | a `ri` or an integer vector of length==2 giving a range restriction for chunked processing

### Details

`as.which.bit` returns a vector of subscripts with class 'which'

### Value

a vector of class 'logical' or 'integer'

### Methods (by class)

- `which`: method to coerce to `which` from `which`

- `NULL`: method to coerce to zero length `which` from `NULL`

- `numeric`: method to coerce to `which` from `numeric`

- `integer`: method to coerce to `which` from `integer`

- `logical`: method to coerce to `which` from `logical`

- `ri`: method to coerce to `which` from `ri`

- `bit`: method to coerce to `which` from `bit`

- `bitwhich`: method to coerce to `which` from `bitwhich`

### Author(s)

Jens Oehlschlägel

### See Also

`CoercionToStandard`, `as.booltype`, `as.bit`, `as.bitwhich` , `as.which`, `as.ri`, `as.hi`, `as.ff`

### Examples

      r <- ri(5, 20, 100)
      x <- as.which(r)
      x

      stopifnot(identical(x, as.which(as.logical(r))))
      stopifnot(identical(x, as.which(as.bitwhich(r))))
      stopifnot(identical(x, as.which(as.bit(r))))

[Package bit version 4.0.4 Index]