## Show me the code

To evaluate the soil characteristics of the land units of Marinduque, Philippines, for farming banana, use the `suit` function as follows:

    library(ALUES)

    ## Loading required package: Rcpp

    suit_banana <- suit("banana", terrain=MarinduqueLT)

    ## Warning in suitability(terrain, crop_soil, mf = mf, sow_month = NULL, minimum
    ## = minimum, : maximum is set to 16 for factor CECc since all parameter intervals
    ## are equal.

    head(suit_banana[["soil"]]$`Suitability Score`)

    ##      CFragm   CECc pHH2O SoilTe
    ## 1 0.8533333 0.7500     0   0.96
    ## 2 0.8800000 0.7500     0   0.96
    ## 3 0.8666667 0.7500     0   0.96
    ## 4 0.8666667 0.7500     0   0.96
    ## 5 0.8400000 0.7500     0   0.96
    ## 6 0.8533333 0.8125     0   0.96

    head(suit_banana[["soil"]]$`Suitability Class`)

    ##   CFragm CECc pHH2O SoilTe
    ## 1     S1   S1     N     S1
    ## 2     S1   S1     N     S1
    ## 3     S1   S1     N     S1
    ## 4     S1   S1     N     S1
    ## 5     S1   S1     N     S1
    ## 6     S1   S1     N     S1

To compute the overall suitability of the land units by averaging across factors, use the `overall_suit` as follows:

    osuit <- overall_suit(suit_banana[["soil"]], method="average")
    head(osuit)

    ##       Score Class
    ## 1 0.6505051    S2
    ## 2 0.6569697    S2
    ## 3 0.6537374    S2
    ## 4 0.6537374    S2
    ## 5 0.6472727    S2
    ## 6 0.6656566    S2

## Show me the speed

The elapsed time for computing the suitability scores and classes were recorded for the land units of Marinduque, which has 881 units (or observations) in total; and, for the region of Lao Cai, Vietnam, which has 2928 land units.

    library(microbenchmark)
    microbenchmark(
      suppressWarnings(suit("banana", terrain=MarinduqueLT, interval="unbias"))
    )

    ## Unit: milliseconds
    ##                                                                           expr
    ##  suppressWarnings(suit("banana", terrain = MarinduqueLT, interval = "unbias"))
    ##       min       lq     mean   median     uq      max neval
    ##  6.913794 7.134749 7.899531 7.333799 7.9334 11.81077   100

    microbenchmark(
      suppressWarnings(suit("banana", terrain=LaoCaiLT, interval="unbias"))
    )

    ## Unit: milliseconds
    ##                                                                       expr
    ##  suppressWarnings(suit("banana", terrain = LaoCaiLT, interval = "unbias"))
    ##       min       lq     mean   median       uq      max neval
    ##  10.36607 11.15929 11.85221 11.35369 11.82274 21.01461   100