Skip to contents

# Transform Input to Disk Diffusion Diameters

Source: `R/disk.R`
`as.disk.Rd`

This transforms a vector to a new class `disk`, which is a disk diffusion growth zone size (around an antibiotic disk) in millimetres between 0 and 50.

## Usage

    as.disk(x, na.rm = FALSE)

    NA_disk_

    is.disk(x)

## Format

An object of class `disk` (inherits from `integer`) of length 1.

## Arguments

x

  Vector.

na.rm

  A logical indicating whether missing values should be removed.

## Value

An integer with additional class `disk`

## Details

Interpret disk values as SIR values with `as.sir()`. It supports guidelines from EUCAST and CLSI.

Disk diffusion growth zone sizes must be between 0 and 50 millimetres. Values higher than 50 but lower than 100 will be maximised to 50. All others input values outside the 0-50 range will return `NA`.

`NA_disk_` is a missing value of the new `disk` class.

## See also

`as.sir()`

## Examples

    # transform existing disk zones to the `disk` class (using base R)
    df <- data.frame(
      microorganism = "Escherichia coli",
      AMP = 20,
      CIP = 14,
      GEN = 18,
      TOB = 16
    )
    df[, 2:5] <- lapply(df[, 2:5], as.disk)
    str(df)
    #> 'data.frame':	1 obs. of  5 variables:
    #>  $ microorganism: chr "Escherichia coli"
    #>  $ AMP          : 'disk' int 20
    #>  $ CIP          : 'disk' int 14
    #>  $ GEN          : 'disk' int 18
    #>  $ TOB          : 'disk' int 16

    # \donttest{
    # transforming is easier with dplyr:
    if (require("dplyr")) {
      df %>% mutate(across(AMP:TOB, as.disk))
    }
    #>      microorganism AMP CIP GEN TOB
    #> 1 Escherichia coli  20  14  18  16
    # }

    # interpret disk values, see ?as.sir
    as.sir(
      x = as.disk(18),
      mo = "Strep pneu", # `mo` will be coerced with as.mo()
      ab = "ampicillin", # and `ab` with as.ab()
      guideline = "EUCAST"
    )
    #> Class <sir>
    #> [1] R

    # interpret whole data set, pretend to be all from urinary tract infections:
    as.sir(df, uti = TRUE)
    #>      microorganism AMP  CIP GEN TOB
    #> 1 Escherichia coli   S <NA>   S   S