# Count isolates — count • AMR (for R)
These functions can be used to count resistant/susceptible microbial isolates. All functions support quasiquotation with pipes, can be used in dplyrs summarise and support grouped variables, see Examples. count_R and count_IR can be used to count resistant isolates, count_S and count_SI can be used to count susceptible isolates.

# Count isolates

`count.Rd`

These functions can be used to count resistant/susceptible microbial isolates. All functions support quasiquotation with pipes, can be used in `dplyr`s `summarise` and support grouped variables, see Examples.

`count_R` and `count_IR` can be used to count resistant isolates, `count_S` and `count_SI` can be used to count susceptible isolates.

    count_R(..., also_single_tested = FALSE)

    count_IR(..., also_single_tested = FALSE)

    count_I(..., also_single_tested = FALSE)

    count_SI(..., also_single_tested = FALSE)

    count_S(..., also_single_tested = FALSE)

    count_all(...)

    n_rsi(...)

    count_df(data, translate_ab = getOption("get_antibiotic_names",
      "official"), combine_IR = FALSE)

## Arguments

... | one or more vectors (or columns) with antibiotic interpretations. They will be transformed internally with `as.rsi` if needed.
also_single_tested | a logical to indicate whether (in combination therapies) also observations should be included where not all antibiotics were tested, but at least one of the tested antibiotics contains a target interpretation (e.g. S in case of `portion_S` and R in case of `portion_R`). This would lead to selection bias in almost all cases.
data | a `data.frame` containing columns with class `rsi` (see `as.rsi`)
translate_ab | a column name of the `antibiotics` data set to translate the antibiotic abbreviations to, using `abname`. This can be set with `getOption("get_antibiotic_names")`.
combine_IR | a logical to indicate whether all values of I and R must be merged into one, so the output only consists of S vs. IR (susceptible vs. non-susceptible)

## Source

Wickham H. Tidy Data. The Journal of Statistical Software, vol. 59, 2014. http://vita.had.co.nz/papers/tidy-data.html

## Value

Integer

## Details

These functions are meant to count isolates. Use the `portion_*` functions to calculate microbial resistance.

`n_rsi` is an alias of `count_all`. They can be used to count all available isolates, i.e. where all input antibiotics have an available result (S, I or R). Their use is equal to `n_distinct`. Their function is equal to `count_S(...) + count_IR(...)`.

`count_df` takes any variable from `data` that has an `"rsi"` class (created with `as.rsi`) and counts the amounts of R, I and S. The resulting tidy data (see Source) `data.frame` will have three rows (S/I/R) and a column for each variable with class `"rsi"`.

## Read more on our website!

On our website https://msberends.gitlab.io/AMR you can find a omprehensive tutorial about how to conduct AMR analysis and find the complete documentation of all functions, which reads a lot easier than in R.

## See also

`portion_*` to calculate microbial resistance and susceptibility.

## Examples

    # NOT RUN {
    # septic_patients is a data set available in the AMR package. It is true, genuine data.
    ?septic_patients

    # Count resistant isolates
    count_R(septic_patients$amox)
    count_IR(septic_patients$amox)

    # Or susceptible isolates
    count_S(septic_patients$amox)
    count_SI(septic_patients$amox)

    # Count all available isolates
    count_all(septic_patients$amox)
    n_rsi(septic_patients$amox)

    # Since n_rsi counts available isolates, you can
    # calculate back to count e.g. non-susceptible isolates.
    # This results in the same:
    count_IR(septic_patients$amox)
    portion_IR(septic_patients$amox) * n_rsi(septic_patients$amox)

    library(dplyr)
    septic_patients %>%
      group_by(hospital_id) %>%
      summarise(R  = count_R(cipr),
                I  = count_I(cipr),
                S  = count_S(cipr),
                n1 = count_all(cipr), # the actual total; sum of all three
                n2 = n_rsi(cipr),     # same - analogous to n_distinct
                total = n())          # NOT the amount of tested isolates!

    # Count co-resistance between amoxicillin/clav acid and gentamicin,
    # so we can see that combination therapy does a lot more than mono therapy.
    # Please mind that `portion_S` calculates percentages right away instead.
    count_S(septic_patients$amcl)   # S = 1057 (67.1%)
    count_all(septic_patients$amcl) # n = 1576

    count_S(septic_patients$gent)   # S = 1372 (74.0%)
    count_all(septic_patients$gent) # n = 1855

    with(septic_patients,
         count_S(amcl, gent))       # S = 1396 (92.0%)
    with(septic_patients,           # n = 1517
         n_rsi(amcl, gent))

    # Get portions S/I/R immediately of all rsi columns
    septic_patients %>%
      select(amox, cipr) %>%
      count_df(translate = FALSE)

    # It also supports grouping variables
    septic_patients %>%
      select(hospital_id, amox, cipr) %>%
      group_by(hospital_id) %>%
      count_df(translate = FALSE)

    # }