---
title: "paper_alg1"
output: rmarkdown::html_vignette
vignette: >
%\VignetteIndexEntry{paper_alg1}
%\VignetteEngine{knitr::rmarkdown}
%\VignetteEncoding{UTF-8}
---
```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
```
**Algorithm 1 Estimating and Evaluating an Individualized Treatment Rule
(ITR) using the Same Experimental Data via Cross-Validation**
| Steps in Algorithm 1 | Function/object | Output |
|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------|:-----------------------------------|
| 1\. Split data into $K$ random subsets of equal size $\left(\mathbf{Z}_1, \cdots, \mathbf{Z}_k\right)$ | `caret::createFolds()` within `estimate_itr()` | dataframe |
| 2\. k $\leftarrow$ 1 | | |
| 3\. while $k \leq K$ do | for loop in `fit_itr()` within `estimate_itr()` | |
| 4\. $\quad \mathbf{Z}_{-k}=\left[\mathbf{Z}_1, \cdots, \mathbf{Z}_{k-1}, \mathbf{Z}_{k+1}, \cdots, \mathbf{Z}_K\right]$ | `trainset` object | training data |
| 5\. $\hat{f}_{-k}=F\left(\mathbf{Z}_{-k}\right)$ | modulized functions for each ML algoritms (e.g., `run_causal_forest()`) within `estimate_itr()` | ITR (binary vector) |
| 6\. $\hat{\tau}_k=\hat{\tau}_{\hat{f}_{-k}}\left(\mathbf{Z}_k\right)$ | `compute_qoi()` function within `evaluate_itr()` | metrics for fold $k$ |
| 7\. $k \leftarrow k+1$ | | |
| 8\. end while | | |
| 9.return $\hat{\tau}_F=\frac{1}{K} \sum_{k=1}^K \hat{\tau}_k$, $\widehat{\mathbb{V}\left(\hat{\tau}_F\right)}=v\left(\hat{f}_{-1}, \cdots, \hat{f}_{-k}, \mathbf{Z}_1, \cdots, \mathbf{Z}_K\right)$ | `PAPEcv()` `PAPDcv()` and `getAupecOutput()` functions inside `compute_qoi()` function within `evaluate_itr()` | averaging the results across folds |