Testing the CRE Package

We encourage all developers to test the package in different conditions. Testing the package is the easiest way to get familiar with the package and its functionalities.

Getting the code

To test the package, please install the package on your system (R (>= 3.5.0)). You can install the package by following one of these approaches:

Installing the package directly from Github

In this project, we follow A successful Git Branching Model. As a result, the develop branch is the most updated branch for developers. Use devtools::install_github to install the package. If you do not specify the ref, it will install the master (or main) branch.

try(detach("package:CRE", unload = TRUE), silent = TRUE) # if already you have the package, detach and unload it, to have a new install. 
install_github("NSAPH-Software/CRE", ref="develop")

Try ?CRE. It should open the package description page under the help tab (assuming you are using RStudio).

Installing the package from CRAN

Installing the package from CRAN for developing purposes is not recommended. Because most probably, the version on CRAN is not the latest version.

[Complete this section after submitting the package to CRAN]

Installing the package from the source

In order to install the package from the source, you need to download the source code into your computer and install it from the source. Here are the steps:


Forking the package

Forking the package under your Github account is the best option if you are planning on installing, testing, modifying, and contributing to the project. Go to package Github repository and click on the Fork button at the top right corner. After forking the package, Open your terminal (or Gitbash for Windows, Anaconda prompt, …) and run the following command (brackets are not included):

git clone git@github.com:[your user name]/CRE.git

Now, you can modify the codebase and track your modification. Navigate to the package folder and Install the package following the Installing the package from source steps. It is a good idea to create a new branch to work on the codebase. Read A successful Git Branching Model for branching convention.

Testing the Package

Run the following command to test the package.


# Generate sample data
dataset <- generate_cre_dataset(n = 1000,
                                rho = 0,
                                n_rules = 2,
                                p = 10,
                                effect_size = 2,
                                binary_covariates = TRUE,
                                binary_outcome = FALSE,
                                confounding = "no")
y <- dataset[["y"]]
z <- dataset[["z"]]
X <- dataset[["X"]]

method_params <- list(ratio_dis = 0.5,
                      ite_method = "aipw",
                      learner_ps = "SL.xgboost",
                      learner_y = "SL.xgboost",
                      offset = NULL)

hyper_params <- list(intervention_vars = NULL,
                     ntrees = 20,
                     node_size = 20,
                     max_rules = 50,
                     max_depth = 3,
                     t_decay = 0.025,
                     t_ext = 0.01,
                     t_corr = 1,
                     t_pvalue = 0.05,
                     stability_selection = "vanilla",
                     cutoff = 0.6,
                     pfer = 1,
                     B = 10,
                     subsample = 0.5)

# linreg CATE estimation with aipw ITE estimation
cre_results <- cre(y, z, X, method_params, hyper_params)
ite_pred <- predict(cre_results, X)