--- title: "Usage" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Usage} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ``` ```{r setup} library(sclr) ``` ## Model See `vignette("sclr-math")` for model specification, log-likelihood, scores and second derivatives. ## Model fitting Model fitting is done with a function called `sclr`. It is used in the same way as other fitting functions like `lm`. ```{r} # One-titre fit to included simulated data fit1 <- sclr(status ~ logHI, one_titre_data) summary(fit1) # Two-titre fit to included simulated data fit2 <- sclr(status ~ logHI + logNI, two_titre_data) summary(fit2) ``` ## Expected protection The `predict` method will return the point estimate and a confidence interval of $\beta_0 + \beta_1X_1 + ... + \beta_kX_k$ where $k$ is the number of covariates. It will also apply the inverse logit transformation to these estimates and interval bounds to get the point estimate and the interval for the probability of protection on the original scale. ```{r} # One-titre fit preddata1 <- data.frame(logHI = seq(0, 8, length.out = 101)) pred1 <- predict(fit1, preddata1) head(pred1[, c("logHI", "prot_l", "prot_point", "prot_u")]) # Two-titre fit preddata2 <- data.frame(logHI = seq(0, 8, length.out = 101), logNI = 1) pred2 <- predict(fit2, preddata2) head(pred2[, c("logHI", "logNI", "prot_l", "prot_point", "prot_u")]) ``` ## Protective titres To get the estimated titre (and the confidence interval) that corresponds to a particular protection level (eg. 50%), use the `get_protection_level` function. Its interface is similar to that of `predict`. ```{r} protHI1 <- get_protection_level(fit1, "logHI", lvl = 0.5) print(protHI1) prot_lvls2 <- data.frame(logNI = log(c(0.1, 10, 40))) protHI2 <- get_protection_level(fit2, "logHI", prot_lvls2) print(protHI2) ```