# Tutorial

    library(rbioacc)
    # library(ggplot2)

## A Simple Example: Male Gammarus Single

### Data

Load the data set with the function `data()`, define the duration of the exposure `time_accumulation`, and check if the data set is correctly imported with the function `modelData()`. Here the data set is called Male Gammarus Single

    data("Male_Gammarus_Single")

### Inference

The function `fitTK()` performs the inference process.

    modelData_MGS <- modelData(Male_Gammarus_Single, time_accumulation = 4)
    fit_MGS <- fitTK(modelData_MGS, iter = 10000)

### Results

#### TK parameters

The 4 MCMC are stored in the object `fitMCMC`. The quantiles for each TK parameter can be obtained with the `quantile()` function.

    quantile_table(fit_MGS)
    #>                   2.5%          50%        97.5% parameter
    #> ku        551.42968376 616.28161075 682.26114988        ku
    #> kee         0.02289375   0.03401105   0.04556544       kee
    #> sigmaConc   0.01085908   0.01456325   0.02093643 sigmaConc

    plot(fit_MGS)

    ppc(fit_MGS)

## Male Gammarus Merged

    data("Male_Gammarus_Merged")
    data_MGM708 <- Male_Gammarus_Merged[Male_Gammarus_Merged$expw == 7.08021e-05, ]
    modelData_MGM708 <- modelData(data_MGM708, time_accumulation = 4)
    fit_MGM708 <- fitTK(modelData_MGM708, iter = 10000)

    quantile_table(fit_MGM708)

    plot(fit_MGM708)

    ppc(fit_MGM708)

    data_MGM141 <- Male_Gammarus_Merged[Male_Gammarus_Merged$expw == 1.41604e-04, ]
    modelData_MGM141 <- modelData(data_MGM141, time_accumulation = 7)
    fit_MGM141 <- fitTK(modelData_MGM141, iter = 20000)

    quantile_table(fit_MGM141)

    plot(fit_MGM141)

    ppc(fit_MGM141)

    data_MGM283 <- Male_Gammarus_Merged[Male_Gammarus_Merged$expw == 2.83208e-04, ]
    modelData_MGM283 <- modelData(data_MGM283, time_accumulation = 4)
    fit_MGM283 <- fitTK(modelData_MGM283, iter = 10000)

    quantile_table(fit_MGM283)

    plot(fit_MGM283)

    ppc(fit_MGM283)

## Male Gammarus seanine with growth

    data("Male_Gammarus_seanine_growth")
    modelData_MGSG <- modelData(Male_Gammarus_seanine_growth, time_accumulation = 1.417)
    fit_MGSG <- fitTK(modelData_MGSG, iter = 10000)

    quantile_table(fit_MGSG)

    plot(fit_MGSG)

    ppc(fit_MGSG)

## Oncorhynchus

    data("Oncorhynchus_two") #  Pimephales_two
    data_OT440 = Oncorhynchus_two[Oncorhynchus_two$expw == 0.00440,]
    modelData_OT440 <- modelData(data_OT440, time_accumulation = 49)
    fit_OT440 <- fitTK(modelData_OT440, iter = 10000)

    quantile_table(fit_OT440)

    plot(fit_OT440)

    ppc(fit_OT440)

    data_OT041 <- Oncorhynchus_two[Oncorhynchus_two$expw == 0.00041,]
    modelData_OT041 <- modelData(data_OT041, time_accumulation = 49)
    fit_OT041 <- fitTK(modelData_OT041, iter = 10000)

    quantile_table(fit_OT041)

    plot(fit_OT041)

    ppc(fit_OT041)

## Chironomus benzo-a-pyrene

    data("Chironomus_benzoapyrene")
    modelData_CB <- modelData(Chironomus_benzoapyrene, time_accumulation = 3)
    modelData_CB$unifMax = modelData_CB$unifMax  * 100
    fit_CB <- fitTK(modelData_CB, iter = 10000)

    quantile_table(fit_CB)

    plot(fit_CB)

    ppc(fit_CB)

# Prediction

    data("Male_Gammarus_Single")
    modelData_MGS <- modelData(Male_Gammarus_Single, time_accumulation = 4)
    fit_MGS <- fitTK(modelData_MGS, iter = 5000, chains = 3)

    # Data 4 prediction should respect the exposure routes
    data_4pred <- data.frame( time = 1:25, expw = 4e-5 )
    predict_MGS <- predict(fit_MGS, data_4pred)
    plot(predict_MGS)

    # data("Male_Gammarus_seanine_growth")
    # modelData_MGSG <- modelData(Male_Gammarus_seanine_growth, time_accumulation = 4)
    # fit_MGSG <- fitTK(modelData_MGSG, iter = 5000, chains = 3)
    #
    # # Data 4 prediction should respect the exposure routes
    # data_4pred <- data.frame( time = 1:25, expw = 18 )
    # predict_MGSG <- predict(fit_MGSG, data_4pred)
    # plot(predict_MGSG)

    data("Chiro_Creuzot")
    Chiro_Creuzot <- Chiro_Creuzot[Chiro_Creuzot$replicate == 1,]
    modelData_CC <- modelData(Chiro_Creuzot, time_accumulation = 1.0)
    fit_CC <- fitTK(modelData_CC, iter = 5000, chains = 3)
    # --------
    quantile_table(fit_CC)

    # Data 4 prediction should respect the exposure routes
    data_4pred <- data.frame( time = 1:25, expw = 18, exps = 1200, exppw = 15 )
    predict_CC <- predict(fit_CC, data_4pred)
    plot(predict_CC)