Skip to content

Commit fda50d7

Browse files
author
Matt Secrest
committed
vignette update
1 parent dfb9878 commit fda50d7

1 file changed

Lines changed: 37 additions & 99 deletions

File tree

vignettes/OLE_analysis_workflow.Rmd

Lines changed: 37 additions & 99 deletions
Original file line numberDiff line numberDiff line change
@@ -25,169 +25,107 @@ switches to treatment.
2525

2626
### 1 DID methods
2727

28-
#### 1.1 IPW
28+
#### 1.1 DID-EC-IPW
2929
```{r message=FALSE, warning=FALSE}
30-
bootstrap_obj <- setup_bootstrap(
31-
replicates = 50,
32-
bootstrap_CI_type = "perc"
30+
method <- did_ec_ipw(
31+
ps_formula = "S ~ x1 + x2 + x3 + x4 + x5",
32+
trt_formula = "A ~ x1 + x2 + x3 + x4 + x5",
33+
bootstrap = 50
3334
)
3435
35-
method_DID_obj <- setup_method_DID(
36-
method_name = "IPW",
37-
bootstrap_flag = TRUE,
38-
bootstrap_obj = bootstrap_obj,
39-
model_form_piS = "S ~ x1 + x2 + x3 + x4 + x5",
40-
model_form_piA = "A ~ x1 + x2 + x3 + x4 + x5"
41-
)
42-
43-
analysis_OLE_obj <- setup_analysis_OLE(
36+
analysis <- setup_analysis_OLE(
4437
data = SyntheticData,
4538
trial_status_col_name = "S",
4639
treatment_col_name = "A",
4740
outcome_col_name = c("y1", "y2", "y3", "y4"),
4841
covariates_col_name = c("x1", "x2", "x3", "x4", "x5"),
4942
T_cross = 2,
50-
method_OLE_obj = method_DID_obj
43+
method_OLE_obj = method
5144
)
5245
53-
res <- run_analysis(analysis_OLE_obj)
46+
run_analysis(analysis)
5447
```
5548

56-
#### 1.2 AIPW
49+
#### 1.2 DID-EC-AIPW
5750
```{r message=FALSE, warning=FALSE}
58-
bootstrap_obj <- setup_bootstrap(
59-
replicates = 50,
60-
bootstrap_CI_type = "perc"
61-
)
62-
63-
model_form_mu <- c(
51+
model_forms <- c(
6452
"y1 ~ x1 + x2 + x3 + x4 + x5",
6553
"y2 ~ x1 + x2 + x3 + x4 + x5",
6654
"y3 ~ x1 + x2 + x3 + x4 + x5",
6755
"y4 ~ x1 + x2 + x3 + x4 + x5"
6856
)
6957
70-
method_DID_obj <- setup_method_DID(
71-
method_name = "AIPW",
72-
bootstrap_flag = TRUE,
73-
bootstrap_obj = bootstrap_obj,
74-
model_form_piS = "S ~ x1 + x2 + x3 + x4 + x5",
75-
model_form_piA = "A ~ x1 + x2 + x3 + x4 + x5",
76-
model_form_mu0_ext = model_form_mu
58+
method <- did_ec_aipw(
59+
ps_formula = "S ~ x1 + x2 + x3 + x4 + x5",
60+
trt_formula = "A ~ x1 + x2 + x3 + x4 + x5",
61+
outcome_formula = model_forms,
62+
bootstrap = 50
7763
)
7864
79-
analysis_OLE_obj <- setup_analysis_OLE(
65+
analysis <- setup_analysis_OLE(
8066
data = SyntheticData,
8167
trial_status_col_name = "S",
8268
treatment_col_name = "A",
8369
outcome_col_name = c("y1", "y2", "y3", "y4"),
8470
covariates_col_name = c("x1", "x2", "x3", "x4", "x5"),
8571
T_cross = 2,
86-
method_OLE_obj = method_DID_obj
72+
method_OLE_obj = method
8773
)
8874
89-
res <- run_analysis(analysis_OLE_obj)
75+
run_analysis(analysis)
9076
```
9177

92-
93-
#### 1.3 OR
78+
#### 1.3 DID-EC-OR
9479
```{r message=FALSE, warning=FALSE}
95-
bootstrap_obj <- setup_bootstrap(
96-
replicates = 50,
97-
bootstrap_CI_type = "perc"
98-
)
99-
100-
model_form_mu <- c(
80+
model_forms <- c(
10181
"y1 ~ x1 + x2 + x3 + x4 + x5",
10282
"y2 ~ x1 + x2 + x3 + x4 + x5",
10383
"y3 ~ x1 + x2 + x3 + x4 + x5",
10484
"y4 ~ x1 + x2 + x3 + x4 + x5"
10585
)
10686
107-
method_DID_obj <- setup_method_DID(
108-
method_name = "OR",
109-
bootstrap_flag = TRUE,
110-
bootstrap_obj = bootstrap_obj,
111-
model_form_mu0_ext = model_form_mu,
112-
model_form_mu0_rct = model_form_mu,
113-
model_form_mu1_rct = model_form_mu
114-
)
115-
116-
analysis_OLE_obj <- setup_analysis_OLE(
117-
data = SyntheticData,
118-
trial_status_col_name = "S",
119-
treatment_col_name = "A",
120-
outcome_col_name = c("y1", "y2", "y3", "y4"),
121-
covariates_col_name = c("x1", "x2", "x3", "x4", "x5"),
122-
T_cross = 2,
123-
method_OLE_obj = method_DID_obj
124-
)
125-
126-
res <- run_analysis(analysis_OLE_obj)
127-
res
128-
```
129-
130-
131-
### 2 SCM method: with parallel computing
132-
```{r}
133-
bootstrap_obj <- setup_bootstrap(
134-
replicates = 50,
135-
bootstrap_CI_type = "perc"
136-
)
137-
138-
method_SCM_obj <- setup_method_SCM(
139-
method_name = "SCM",
140-
bootstrap_flag = TRUE,
141-
bootstrap_obj = bootstrap_obj,
142-
lambda.min = 0,
143-
lambda.max = 1e-3,
144-
nlambda = 10,
145-
parallel = "no",
146-
ncpus = 1
87+
method <- did_ec_or(
88+
outcome_formula_ext = model_forms,
89+
outcome_formula_rct_ctrl = model_forms,
90+
outcome_formula_rct_trt = model_forms,
91+
bootstrap = 50
14792
)
14893
149-
analysis_OLE_obj <- setup_analysis_OLE(
94+
analysis <- setup_analysis_OLE(
15095
data = SyntheticData,
15196
trial_status_col_name = "S",
15297
treatment_col_name = "A",
15398
outcome_col_name = c("y1", "y2", "y3", "y4"),
15499
covariates_col_name = c("x1", "x2", "x3", "x4", "x5"),
155100
T_cross = 2,
156-
method_OLE_obj = method_SCM_obj
101+
method_OLE_obj = method
157102
)
158103
159-
run_analysis(analysis_OLE_obj)
104+
run_analysis(analysis)
160105
```
161106

162107

163-
### 3 SCM method: without parallel computing
108+
### 2 Synthetic control method
164109
```{r}
165-
bootstrap_obj <- setup_bootstrap(
166-
replicates = 50,
167-
bootstrap_CI_type = "perc"
168-
)
169-
170-
method_SCM_obj <- setup_method_SCM(
171-
method_name = "SCM",
172-
bootstrap_flag = TRUE,
173-
bootstrap_obj = bootstrap_obj,
174-
lambda.min = 0,
175-
lambda.max = 1e-3,
110+
method <- scm(
111+
lambda_min = 0,
112+
lambda_max = 1e-3,
176113
nlambda = 10,
177-
parallel = "no"
114+
bootstrap = 50,
115+
bootstrap_ci_type = "perc"
178116
)
179117
180-
analysis_OLE_obj <- setup_analysis_OLE(
118+
analysis <- setup_analysis_OLE(
181119
data = SyntheticData,
182120
trial_status_col_name = "S",
183121
treatment_col_name = "A",
184122
outcome_col_name = c("y1", "y2", "y3", "y4"),
185123
covariates_col_name = c("x1", "x2", "x3", "x4", "x5"),
186124
T_cross = 2,
187-
method_OLE_obj = method_SCM_obj
125+
method_OLE_obj = method
188126
)
189127
190-
run_analysis(analysis_OLE_obj)
128+
run_analysis(analysis)
191129
```
192130

193131
## References

0 commit comments

Comments
 (0)