From 72ad74d69fe64478d1a0a83e217b09f327caaf92 Mon Sep 17 00:00:00 2001 From: istallworthy <31548151+istallworthy@users.noreply.github.com> Date: Tue, 8 Oct 2024 19:33:55 +0000 Subject: [PATCH 1/2] =?UTF-8?q?Deploying=20to=20debugging=20from=20@=20ist?= =?UTF-8?q?allworthy/devMSMs@0fab4dbef7ec761e442de628309b1552542afeb5=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- articles/Data_Requirements.html | 40 +- articles/Terminology.html | 42 +- articles/Workflow_Continuous_Exposure.html | 1479 +++++++++-------- .../figure-html/unnamed-chunk-31-1.png | Bin 14983 -> 15854 bytes .../figure-html/unnamed-chunk-33-1.png | Bin 0 -> 13647 bytes .../figure-html/unnamed-chunk-34-1.png | Bin 12628 -> 12896 bytes .../figure-html/unnamed-chunk-35-1.png | Bin 13286 -> 13282 bytes .../figure-html/unnamed-chunk-38-1.png | Bin 175803 -> 177289 bytes .../figure-html/unnamed-chunk-38-2.png | Bin 176181 -> 175224 bytes .../figure-html/unnamed-chunk-46-1.png | Bin 175803 -> 177289 bytes .../figure-html/unnamed-chunk-50-1.png | Bin 15854 -> 15816 bytes .../figure-html/unnamed-chunk-53-1.png | Bin 19438 -> 19470 bytes .../figure-html/unnamed-chunk-54-1.png | Bin 19653 -> 19605 bytes .../figure-html/unnamed-chunk-55-1.png | Bin 18374 -> 18456 bytes .../figure-html/unnamed-chunk-60-1.png | Bin 125526 -> 126028 bytes .../figure-html/unnamed-chunk-78-1.png | Bin 45024 -> 44146 bytes index.html | 2 +- pkgdown.yml | 2 +- search.json | 2 +- 19 files changed, 866 insertions(+), 701 deletions(-) create mode 100644 articles/Workflow_Continuous_Exposure_files/figure-html/unnamed-chunk-33-1.png diff --git a/articles/Data_Requirements.html b/articles/Data_Requirements.html index 4e4879b6..d614c4fb 100644 --- a/articles/Data_Requirements.html +++ b/articles/Data_Requirements.html @@ -98,12 +98,12 @@

Data Requirements & Preparation

- +

Abridged example structure of a wide dataset formatted as required for the devMSMs. Column A denotes the ID variable, column B (green) denotes a time in-variant confounder (e.g., race, birth information), diff --git a/articles/Terminology.html b/articles/Terminology.html index 9c417c1e..e578fa1d 100644 --- a/articles/Terminology.html +++ b/articles/Terminology.html @@ -80,12 +80,12 @@

Terminology

- +
@@ -189,12 +189,12 @@

Terminology

-

Summary of terminology used in devMSMs

Term
+

Summary of the formula terminology used in the devMSMs package for creating balancing weights and assessing their performance in devMSMs (Workflows vignettes Steps 4-6). The different kinds @@ -289,12 +289,12 @@

Terminology

- +
diff --git a/articles/Workflow_Continuous_Exposure.html b/articles/Workflow_Continuous_Exposure.html index 0e7aaddf..08a6e779 100644 --- a/articles/Workflow_Continuous_Exposure.html +++ b/articles/Workflow_Continuous_Exposure.html @@ -867,20 +867,33 @@

Workflow: Continuous Exposure

method = method, formulas = formulas, verbose = TRUE, - maxit = 1, # just for testing to speed up + # maxit = 1, # just for testing to speed up save.out = save.out)#> initial value 0.903706 -#> final value 0.463025 -#> stopped after 2 iterations -#> Warning: The optimziation failed to converge; try again with a higher value of -#> `maxit`. +#> iter 10 value 0.248548 +#> iter 20 value 0.222840 +#> iter 30 value 0.209527 +#> iter 40 value 0.169216 +#> iter 50 value 0.141001 +#> iter 60 value 0.139547 +#> iter 70 value 0.139440 +#> iter 80 value 0.139430 +#> final value 0.139430 +#> converged#> initial value 0.585184 -#> final value 0.381680 -#> stopped after 2 iterations -#> Warning: The optimziation failed to converge; try again with a higher value of -#> `maxit`. -#> -#> For imputation 1 and the `cbps` weighting method, the median weight value is 0.68 (SD = 1.01; range = 0-11). +#> iter 10 value 0.241866 +#> iter 20 value 0.144858 +#> iter 30 value 0.108653 +#> iter 40 value 0.099077 +#> iter 50 value 0.098009 +#> iter 60 value 0.097791 +#> iter 70 value 0.097759 +#> iter 80 value 0.097753 +#> iter 90 value 0.097752 +#> final value 0.097752 +#> converged +#> +#> For imputation 1 and the `cbps` weighting method, the median weight value is 0.77 (SD = 1.18; range = 0-9).

These take a while to run. Note that if you save the weights (by supplying save.out = TRUE or a custom file name to createWeights() and a home directory to initMWM()), the function outputs the file path to use for reading in the weights for future use. This can be useful given that some weighting methods can take a long time to run, especially for imputed datasets.

If we had previously saved out CBPS weights, we could read them in instead of re-creating them.

@@ -895,7 +908,7 @@

Workflow: Continuous Exposure

print(weights.cbps, i = 1) #> -#> For imputation 1 and the `cbps` weighting method, the median weight value is 0.68 (SD = 1.01; range = 0-11). +#> For imputation 1 and the `cbps` weighting method, the median weight value is 0.77 (SD = 1.18; range = 0-9).

Next, we look inside the output to summarize the weighting process (drawing on the summary method from weightIt, for any given imputed dataset.

@@ -906,120 +919,120 @@

Workflow: Continuous Exposure

#> #> - Weight ranges: #> -#> Min Max -#> all 0 |---------------------------| 10.69 +#> Min Max +#> all 0 |---------------------------| 8.5138 #> #> - Units with the 5 most extreme weights: -#> -#> 798 1145 737 1235 877 -#> all 7.7683 8.696 9.0943 9.1878 10.69 +#> +#> 1246 1145 294 697 919 +#> all 7.4581 7.6788 7.9902 8.2032 8.5138 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros -#> all 1.131 0.654 0.418 0 +#> all 1.066 0.725 0.443 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. -#> Weighted 567.09 +#> Weighted 605.04 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> -#> Min Max -#> all 0 |---------------------------| 10.69 +#> Min Max +#> all 0 |---------------------------| 8.5138 #> #> - Units with the 5 most extreme weights: -#> -#> 798 1145 737 1235 877 -#> all 7.7683 8.696 9.0943 9.1878 10.69 +#> +#> 1246 1145 294 697 919 +#> all 7.4581 7.6788 7.9902 8.2032 8.5138 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros -#> all 1.131 0.654 0.418 0 +#> all 1.066 0.725 0.443 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. -#> Weighted 567.09 +#> Weighted 605.04 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> -#> Min Max -#> all 0 |---------------------------| 10.69 +#> Min Max +#> all 0 |---------------------------| 8.5138 #> #> - Units with the 5 most extreme weights: -#> -#> 798 1145 737 1235 877 -#> all 7.7683 8.696 9.0943 9.1878 10.69 +#> +#> 1246 1145 294 697 919 +#> all 7.4581 7.6788 7.9902 8.2032 8.5138 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros -#> all 1.131 0.654 0.418 0 +#> all 1.066 0.725 0.443 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. -#> Weighted 567.09 +#> Weighted 605.04 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> -#> Min Max -#> all 0 |---------------------------| 10.69 +#> Min Max +#> all 0 |---------------------------| 8.5138 #> #> - Units with the 5 most extreme weights: -#> -#> 798 1145 737 1235 877 -#> all 7.7683 8.696 9.0943 9.1878 10.69 +#> +#> 1246 1145 294 697 919 +#> all 7.4581 7.6788 7.9902 8.2032 8.5138 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros -#> all 1.131 0.654 0.418 0 +#> all 1.066 0.725 0.443 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. -#> Weighted 567.09 +#> Weighted 605.04 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> -#> Min Max -#> all 0 |---------------------------| 10.69 +#> Min Max +#> all 0 |---------------------------| 8.5138 #> #> - Units with the 5 most extreme weights: -#> -#> 798 1145 737 1235 877 -#> all 7.7683 8.696 9.0943 9.1878 10.69 +#> +#> 1246 1145 294 697 919 +#> all 7.4581 7.6788 7.9902 8.2032 8.5138 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros -#> all 1.131 0.654 0.418 0 +#> all 1.066 0.725 0.443 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. -#> Weighted 567.09
+#> Weighted 605.04

This summary also provides the effective sample size, or the sample size that results from applying the weights to the original sample size, for each time point. Weighting can often result is an effective or weighted sample size that is smaller than the orignal sample size and is something to keep in mind when evaluating weighting methods. In this example, we see that our original 1,292 sample is reduced to 605 upon weighting with the CBPS method.

We then view a distribution plot of the weights for any one imputed dataset. The user has the option to supply save.out to save plots to the home directory.

@@ -1191,22 +1204,149 @@

Workflow: Continuous Exposure

-# method <- "gbm"
-# 
-# weights.gbm <- createWeights(obj = obj,
-#                              data = data,
-#                              method = method,
-#                              formulas = formulas,
-#                              save.out = save.out)
-# 
-# print(weights.gbm,
-#       i = 1)
-# 
-# summary(weights.gbm[[1]])
-# 
-# plot(weights.gbm,
-#      i = 1,
-#      save.out = save.out)
+method <- "gbm" + +weights.gbm <- createWeights(obj = obj, + data = data, + method = method, + formulas = formulas, + save.out = save.out) + +print(weights.gbm, + i = 1) +#> +#> For imputation 1 and the `gbm` weighting method, the median weight value is 1.26 (SD = 8.18; range = 0-216). + +summary(weights.gbm[[1]]) +#> Time 1 +#> Summary of weights +#> +#> - Weight ranges: +#> +#> Min Max +#> all 0 |---------------------------| 216.1534 +#> +#> - Units with the 5 most extreme weights: +#> +#> 342 30 475 1145 36 +#> all 43.0076 43.1447 55.5631 150.016 216.1534 +#> +#> - Weight statistics: +#> +#> Coef of Var MAD Entropy # Zeros +#> all 3.383 0.916 1.016 0 +#> +#> - Effective Sample Sizes: +#> +#> Total +#> Unweighted 1292. +#> Weighted 103.87 +#> +#> Time 2 +#> Summary of weights +#> +#> - Weight ranges: +#> +#> Min Max +#> all 0 |---------------------------| 216.1534 +#> +#> - Units with the 5 most extreme weights: +#> +#> 342 30 475 1145 36 +#> all 43.0076 43.1447 55.5631 150.016 216.1534 +#> +#> - Weight statistics: +#> +#> Coef of Var MAD Entropy # Zeros +#> all 3.383 0.916 1.016 0 +#> +#> - Effective Sample Sizes: +#> +#> Total +#> Unweighted 1292. +#> Weighted 103.87 +#> +#> Time 3 +#> Summary of weights +#> +#> - Weight ranges: +#> +#> Min Max +#> all 0 |---------------------------| 216.1534 +#> +#> - Units with the 5 most extreme weights: +#> +#> 342 30 475 1145 36 +#> all 43.0076 43.1447 55.5631 150.016 216.1534 +#> +#> - Weight statistics: +#> +#> Coef of Var MAD Entropy # Zeros +#> all 3.383 0.916 1.016 0 +#> +#> - Effective Sample Sizes: +#> +#> Total +#> Unweighted 1292. +#> Weighted 103.87 +#> +#> Time 4 +#> Summary of weights +#> +#> - Weight ranges: +#> +#> Min Max +#> all 0 |---------------------------| 216.1534 +#> +#> - Units with the 5 most extreme weights: +#> +#> 342 30 475 1145 36 +#> all 43.0076 43.1447 55.5631 150.016 216.1534 +#> +#> - Weight statistics: +#> +#> Coef of Var MAD Entropy # Zeros +#> all 3.383 0.916 1.016 0 +#> +#> - Effective Sample Sizes: +#> +#> Total +#> Unweighted 1292. +#> Weighted 103.87 +#> +#> Time 5 +#> Summary of weights +#> +#> - Weight ranges: +#> +#> Min Max +#> all 0 |---------------------------| 216.1534 +#> +#> - Units with the 5 most extreme weights: +#> +#> 342 30 475 1145 36 +#> all 43.0076 43.1447 55.5631 150.016 216.1534 +#> +#> - Weight statistics: +#> +#> Coef of Var MAD Entropy # Zeros +#> all 3.383 0.916 1.016 0 +#> +#> - Effective Sample Sizes: +#> +#> Total +#> Unweighted 1292. +#> Weighted 103.87 + +plot(weights.gbm, + i = 1, + save.out = save.out)
+
+
+

+
+
+

The GBM method produces a similar mean as GLM and a similarly large range (0-216).


@@ -1225,7 +1365,7 @@

Workflow: Continuous Exposure

print(weights.bart, i = 1)#> -#> For imputation 1 and the `bart` weighting method, the median weight value is 1.24 (SD = 16.16; range = 0-545). +#> For imputation 1 and the `bart` weighting method, the median weight value is 1.23 (SD = 19.51; range = 0-663).summary(weights.bart[[1]])#> Time 1 @@ -1233,120 +1373,120 @@

Workflow: Continuous Exposure

#> #> - Weight ranges:#> -#> Min Max -#> all 0 |---------------------------| 545.0708 +#> Min Max +#> all 0 |---------------------------| 663.017#> #> - Units with the 5 most extreme weights: -#> -#> 30 1235 591 475 1145 -#> all 57.9469 58.0412 77.0575 116.4033 545.0708 +#> +#> 30 1235 475 591 1145 +#> all 45.4484 71.8712 91.6244 156.2991 663.017#> #> - Weight statistics:#> #> Coef of Var MAD Entropy # Zeros -#> all 5.854 1.003 1.423 0 +#> all 6.764 1.031 1.581 0#> #> - Effective Sample Sizes:#> #> Total#> Unweighted 1292. -#> Weighted 36.66 +#> Weighted 27.65#> #> Time 2 #> Summary of weights#> #> - Weight ranges:#> -#> Min Max -#> all 0 |---------------------------| 545.0708 +#> Min Max +#> all 0 |---------------------------| 663.017#> #> - Units with the 5 most extreme weights: -#> -#> 30 1235 591 475 1145 -#> all 57.9469 58.0412 77.0575 116.4033 545.0708 +#> +#> 30 1235 475 591 1145 +#> all 45.4484 71.8712 91.6244 156.2991 663.017#> #> - Weight statistics:#> #> Coef of Var MAD Entropy # Zeros -#> all 5.854 1.003 1.423 0 +#> all 6.764 1.031 1.581 0#> #> - Effective Sample Sizes:#> #> Total#> Unweighted 1292. -#> Weighted 36.66 +#> Weighted 27.65#> #> Time 3 #> Summary of weights#> #> - Weight ranges:#> -#> Min Max -#> all 0 |---------------------------| 545.0708 +#> Min Max +#> all 0 |---------------------------| 663.017#> #> - Units with the 5 most extreme weights: -#> -#> 30 1235 591 475 1145 -#> all 57.9469 58.0412 77.0575 116.4033 545.0708 +#> +#> 30 1235 475 591 1145 +#> all 45.4484 71.8712 91.6244 156.2991 663.017#> #> - Weight statistics:#> #> Coef of Var MAD Entropy # Zeros -#> all 5.854 1.003 1.423 0 +#> all 6.764 1.031 1.581 0#> #> - Effective Sample Sizes:#> #> Total#> Unweighted 1292. -#> Weighted 36.66 +#> Weighted 27.65#> #> Time 4 #> Summary of weights#> #> - Weight ranges:#> -#> Min Max -#> all 0 |---------------------------| 545.0708 +#> Min Max +#> all 0 |---------------------------| 663.017#> #> - Units with the 5 most extreme weights: -#> -#> 30 1235 591 475 1145 -#> all 57.9469 58.0412 77.0575 116.4033 545.0708 +#> +#> 30 1235 475 591 1145 +#> all 45.4484 71.8712 91.6244 156.2991 663.017#> #> - Weight statistics:#> #> Coef of Var MAD Entropy # Zeros -#> all 5.854 1.003 1.423 0 +#> all 6.764 1.031 1.581 0#> #> - Effective Sample Sizes:#> #> Total#> Unweighted 1292. -#> Weighted 36.66 +#> Weighted 27.65#> #> Time 5 #> Summary of weights#> #> - Weight ranges:#> -#> Min Max -#> all 0 |---------------------------| 545.0708 +#> Min Max +#> all 0 |---------------------------| 663.017#> #> - Units with the 5 most extreme weights: -#> -#> 30 1235 591 475 1145 -#> all 57.9469 58.0412 77.0575 116.4033 545.0708 +#> +#> 30 1235 475 591 1145 +#> all 45.4484 71.8712 91.6244 156.2991 663.017#> #> - Weight statistics:#> #> Coef of Var MAD Entropy # Zeros -#> all 5.854 1.003 1.423 0 +#> all 6.764 1.031 1.581 0#> #> - Effective Sample Sizes:#> #> Total#> Unweighted 1292. -#> Weighted 36.66 +#> Weighted 27.65plot(weights.bart, i = 1, @@ -1414,6 +1554,11 @@

Workflow: Continuous Exposure

#> prediction from rank-deficient fit; attr(*, "non-estim") has doubtful cases#> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == :#> prediction from rank-deficient fit; attr(*, "non-estim") has doubtful cases +#> Warning: glm.fit: algorithm did not converge +#> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : +#> prediction from rank-deficient fit; attr(*, "non-estim") has doubtful cases +#> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : +#> prediction from rank-deficient fit; attr(*, "non-estim") has doubtful cases#> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == :#> prediction from rank-deficient fit; attr(*, "non-estim") has doubtful cases#> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : @@ -1460,7 +1605,6 @@

Workflow: Continuous Exposure

#> prediction from rank-deficient fit; attr(*, "non-estim") has doubtful cases#> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == :#> prediction from rank-deficient fit; attr(*, "non-estim") has doubtful cases -#> Warning: glm.fit: algorithm did not converge#> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == :#> prediction from rank-deficient fit; attr(*, "non-estim") has doubtful cases#> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : @@ -1576,23 +1720,23 @@

Workflow: Continuous Exposure

#> - Weight ranges:#> #> Min Max -#> all 0 |---------------------------| 270.0915 +#> all 0 |---------------------------| 270.2898#> #> - Units with the 5 most extreme weights:#> #> 1030 475 697 1145 591 -#> all 52.0024 58.0163 63.2837 178.6145 270.0915 +#> all 52.0314 58.1278 63.2379 178.3232 270.2898#> #> - Weight statistics:#> #> Coef of Var MAD Entropy # Zeros -#> all 3.816 0.959 1.141 0 +#> all 3.817 0.959 1.141 0#> #> - Effective Sample Sizes:#> #> Total#> Unweighted 1292. -#> Weighted 83.08 +#> Weighted 83.06#> #> Time 2 #> Summary of weights @@ -1600,23 +1744,23 @@

Workflow: Continuous Exposure

#> - Weight ranges:#> #> Min Max -#> all 0 |---------------------------| 270.0915 +#> all 0 |---------------------------| 270.2898#> #> - Units with the 5 most extreme weights:#> #> 1030 475 697 1145 591 -#> all 52.0024 58.0163 63.2837 178.6145 270.0915 +#> all 52.0314 58.1278 63.2379 178.3232 270.2898#> #> - Weight statistics:#> #> Coef of Var MAD Entropy # Zeros -#> all 3.816 0.959 1.141 0 +#> all 3.817 0.959 1.141 0#> #> - Effective Sample Sizes:#> #> Total#> Unweighted 1292. -#> Weighted 83.08 +#> Weighted 83.06#> #> Time 3 #> Summary of weights @@ -1624,23 +1768,23 @@

Workflow: Continuous Exposure

#> - Weight ranges:#> #> Min Max -#> all 0 |---------------------------| 270.0915 +#> all 0 |---------------------------| 270.2898#> #> - Units with the 5 most extreme weights:#> #> 1030 475 697 1145 591 -#> all 52.0024 58.0163 63.2837 178.6145 270.0915 +#> all 52.0314 58.1278 63.2379 178.3232 270.2898#> #> - Weight statistics:#> #> Coef of Var MAD Entropy # Zeros -#> all 3.816 0.959 1.141 0 +#> all 3.817 0.959 1.141 0#> #> - Effective Sample Sizes:#> #> Total#> Unweighted 1292. -#> Weighted 83.08 +#> Weighted 83.06#> #> Time 4 #> Summary of weights @@ -1648,23 +1792,23 @@

Workflow: Continuous Exposure

#> - Weight ranges:#> #> Min Max -#> all 0 |---------------------------| 270.0915 +#> all 0 |---------------------------| 270.2898#> #> - Units with the 5 most extreme weights:#> #> 1030 475 697 1145 591 -#> all 52.0024 58.0163 63.2837 178.6145 270.0915 +#> all 52.0314 58.1278 63.2379 178.3232 270.2898#> #> - Weight statistics:#> #> Coef of Var MAD Entropy # Zeros -#> all 3.816 0.959 1.141 0 +#> all 3.817 0.959 1.141 0#> #> - Effective Sample Sizes:#> #> Total#> Unweighted 1292. -#> Weighted 83.08 +#> Weighted 83.06#> #> Time 5 #> Summary of weights @@ -1672,23 +1816,23 @@

Workflow: Continuous Exposure

#> - Weight ranges:#> #> Min Max -#> all 0 |---------------------------| 270.0915 +#> all 0 |---------------------------| 270.2898#> #> - Units with the 5 most extreme weights:#> #> 1030 475 697 1145 591 -#> all 52.0024 58.0163 63.2837 178.6145 270.0915 +#> all 52.0314 58.1278 63.2379 178.3232 270.2898#> #> - Weight statistics:#> #> Coef of Var MAD Entropy # Zeros -#> all 3.816 0.959 1.141 0 +#> all 3.817 0.959 1.141 0#> #> - Effective Sample Sizes:#> #> Total#> Unweighted 1292. -#> Weighted 83.08 +#> Weighted 83.06plot(weights.super, i = 1, @@ -1730,8 +1874,7 @@

Workflow: Continuous Exposure

 summary(balance_stats.cbps, 
         save.out = save.out)
-#> Averaging across imputed datasets using cbps weighting method.
-#> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 0 out of 241 (0.0%) covariates across time points remain imbalanced:
+#> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 2 out of 241 (0.8%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.06 (max: 0.07):
 #> +-----------+-----------------------+----------------------------+
 #> | Exposure  | Total # of covariates | # of imbalanced covariates |
 #> +===========+=======================+============================+
@@ -1741,7 +1884,7 @@ 

Workflow: Continuous Exposure

#> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ -#> | ESETA1.35 | 59 | 0 | +#> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ @@ -1751,7 +1894,8 @@

Workflow: Continuous Exposure

summary(balance_stats.cbps, i = 1, save.out = save.out) -#> USER ALERT: For imputation 1 using `cbps` weighting method: As shown below, 4 out of 241 (1.7%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.06 (max: 0.10): +#> No covariates remain imbalaned for imputation 1 using `cbps` weighting method. +#> USER ALERT: For imputation 1 using `cbps` weighting method: As shown below, 0 out of 241 (0.0%) covariates across time points remain imbalanced: #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ @@ -1761,9 +1905,9 @@

Workflow: Continuous Exposure

#> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ -#> | ESETA1.35 | 59 | 2 | +#> | ESETA1.35 | 59 | 0 | #> +-----------+-----------------------+----------------------------+ -#> | ESETA1.58 | 69 | 2 | +#> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates for imputation 1 using `cbps`
@@ -1805,123 +1949,123 @@

Workflow: Continuous Exposure

#> +-----------+----------------+---------------+------------+----------+#> | exposure | covariate | std_bal_stats | bal_thresh | balanced |#> +===========+================+===============+============+==========+ -#> | ESETA1.35 | state_1 | 0.0123 | 0.1 | 1 | +#> | ESETA1.35 | state_1 | 0.015981 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | BioDadInHH2_1 | -0.00736 | 0.1 | 1 | +#> | ESETA1.35 | BioDadInHH2_1 | -0.021683 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | PmAge2 | -0.01172 | 0.1 | 1 | +#> | ESETA1.35 | PmAge2 | -0.007495 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | PmBlac2_1 | -0.00143 | 0.1 | 1 | +#> | ESETA1.35 | PmBlac2_1 | 0.010392 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | TcBlac2_1 | -0.00951 | 0.1 | 1 | +#> | ESETA1.35 | TcBlac2_1 | 0.016378 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | PmMrSt2_1 | 0.0046 | 0.1 | 1 | +#> | ESETA1.35 | PmMrSt2_1 | -0.001099 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | PmEd2 | -0.04146 | 0.05 | 1 | +#> | ESETA1.35 | PmEd2 | -0.038985 | 0.05 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | KFASTScr | -0.0365 | 0.1 | 1 | +#> | ESETA1.35 | KFASTScr | -0.025093 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | RMomAgeU | 0.01453 | 0.1 | 1 | +#> | ESETA1.35 | RMomAgeU | -0.013874 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | RHealth_1 | -0.01442 | 0.1 | 1 | +#> | ESETA1.35 | RHealth_1 | 0.01822 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | RHealth_2 | -0.05725 | 0.1 | 1 | +#> | ESETA1.35 | RHealth_2 | -0.023165 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | RHealth_3 | 0.06506 | 0.1 | 1 | +#> | ESETA1.35 | RHealth_3 | -0.000151 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | RHealth_4 | 0.0196 | 0.1 | 1 | +#> | ESETA1.35 | RHealth_4 | 0.024033 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | RHealth_5 | 0.0097 | 0.1 | 1 | +#> | ESETA1.35 | RHealth_5 | 0.005529 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | HomeOwnd_1 | 0.01158 | 0.1 | 1 | +#> | ESETA1.35 | HomeOwnd_1 | -0.025161 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | HomeOwnd_2 | 0.02051 | 0.1 | 1 | +#> | ESETA1.35 | HomeOwnd_2 | 0.032237 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | HomeOwnd_3 | -0.03071 | 0.1 | 1 | +#> | ESETA1.35 | HomeOwnd_3 | -0.019884 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | HomeOwnd_4 | 0.00585 | 0.1 | 1 | +#> | ESETA1.35 | HomeOwnd_4 | 0.012453 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | SWghtLB | -0.01947 | 0.1 | 1 | +#> | ESETA1.35 | SWghtLB | -0.003065 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | SurpPreg_1 | 0.05972 | 0.1 | 1 | +#> | ESETA1.35 | SurpPreg_1 | 0.026664 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | SmokTotl_1 | 0.01793 | 0.1 | 1 | +#> | ESETA1.35 | SmokTotl_1 | -0.012977 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | SmokTotl_2 | -0.03624 | 0.1 | 1 | +#> | ESETA1.35 | SmokTotl_2 | -0.013428 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | SmokTotl_3 | 0.0324 | 0.1 | 1 | +#> | ESETA1.35 | SmokTotl_3 | 0.009222 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | DrnkFreq_1 | -0.00796 | 0.1 | 1 | +#> | ESETA1.35 | DrnkFreq_1 | -0.022527 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | DrnkFreq_2 | 0.00653 | 0.1 | 1 | +#> | ESETA1.35 | DrnkFreq_2 | 0.009097 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | peri_health | 0.02427 | 0.1 | 1 | +#> | ESETA1.35 | peri_health | 0.001459 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | caregiv_health | 0.00113 | 0.1 | 1 | +#> | ESETA1.35 | caregiv_health | -0.005178 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | gov_assist | 0.00166 | 0.1 | 1 | +#> | ESETA1.35 | gov_assist | 0.031894 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | SAAmylase.6 | -0.02835 | 0.1 | 1 | +#> | ESETA1.35 | SAAmylase.6 | -0.026255 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | SAAmylase.15 | -0.01609 | 0.1 | 1 | +#> | ESETA1.35 | SAAmylase.15 | -0.016323 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | SAAmylase.24 | 0.002 | 0.1 | 1 | +#> | ESETA1.35 | SAAmylase.24 | 0.010027 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | MDI.6 | -0.00345 | 0.1 | 1 | +#> | ESETA1.35 | MDI.6 | -0.018594 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | MDI.15 | 0.01669 | 0.1 | 1 | +#> | ESETA1.35 | MDI.15 | 0.025267 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | RHasSO.6_1 | 0.02717 | 0.1 | 1 | +#> | ESETA1.35 | RHasSO.6_1 | 0.0186 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | RHasSO.15_1 | 0.06637 | 0.1 | 1 | +#> | ESETA1.35 | RHasSO.15_1 | 0.037179 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | RHasSO.24_1 | 0.05935 | 0.1 | 1 | +#> | ESETA1.35 | RHasSO.24_1 | 0.013187 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | WndNbrhood.6 | -0.04559 | 0.1 | 1 | +#> | ESETA1.35 | WndNbrhood.6 | -0.032172 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | WndNbrhood.24 | -0.023 | 0.1 | 1 | +#> | ESETA1.35 | WndNbrhood.24 | -0.022859 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | IBRAttn.6 | -0.05173 | 0.1 | 1 | +#> | ESETA1.35 | IBRAttn.6 | -0.060499 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | IBRAttn.15 | -0.03977 | 0.1 | 1 | +#> | ESETA1.35 | IBRAttn.15 | -0.017499 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | IBRAttn.24 | -0.0018 | 0.1 | 1 | +#> | ESETA1.35 | IBRAttn.24 | 0.005985 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | B18Raw.6 | 0.05331 | 0.1 | 1 | +#> | ESETA1.35 | B18Raw.6 | 0.040266 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | B18Raw.15 | 0.04418 | 0.1 | 1 | +#> | ESETA1.35 | B18Raw.15 | 0.026637 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | B18Raw.24 | 0.0305 | 0.1 | 1 | +#> | ESETA1.35 | B18Raw.24 | 0.013031 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | HOMEETA1.6 | -0.03406 | 0.1 | 1 | +#> | ESETA1.35 | HOMEETA1.6 | -0.057377 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | HOMEETA1.15 | -0.03733 | 0.1 | 1 | +#> | ESETA1.35 | HOMEETA1.15 | -0.020653 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | HOMEETA1.24 | -0.01687 | 0.1 | 1 | +#> | ESETA1.35 | HOMEETA1.24 | -0.006642 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | InRatioCor.6 | -0.03603 | 0.05 | 1 | +#> | ESETA1.35 | InRatioCor.6 | -0.065028 | 0.05 | 0 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | InRatioCor.15 | -0.02261 | 0.05 | 1 | +#> | ESETA1.35 | InRatioCor.15 | -0.060949 | 0.05 | 0 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | InRatioCor.24 | -0.01452 | 0.05 | 1 | +#> | ESETA1.35 | InRatioCor.24 | -0.036796 | 0.05 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | CORTB.6 | 0.03428 | 0.1 | 1 | +#> | ESETA1.35 | CORTB.6 | 0.038281 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | CORTB.15 | 0.00186 | 0.1 | 1 | +#> | ESETA1.35 | CORTB.15 | 0.009567 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | CORTB.24 | 0.02188 | 0.1 | 1 | +#> | ESETA1.35 | CORTB.24 | 0.026607 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | EARS_TJo.24 | -0.00991 | 0.1 | 1 | +#> | ESETA1.35 | EARS_TJo.24 | -0.012261 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | LESMnPos.24 | -0.01514 | 0.1 | 1 | +#> | ESETA1.35 | LESMnPos.24 | -0.010644 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | LESMnNeg.24 | 0.0321 | 0.1 | 1 | +#> | ESETA1.35 | LESMnNeg.24 | 0.00818 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | ESETA1.6 | 0.08449 | 0.1 | 1 | +#> | ESETA1.35 | ESETA1.6 | 0.084495 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | ESETA1.15 | 0.08033 | 0.1 | 1 | +#> | ESETA1.35 | ESETA1.15 | 0.077512 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | ESETA1.24 | 0.0035 | 0.1 | 1 | +#> | ESETA1.35 | ESETA1.24 | 0.020474 | 0.1 | 1 |#> +-----------+----------------+---------------+------------+----------+#> #> Table: Balance Stats for Exposure Time 4 Averaging Across Imputed Datasets @@ -1946,14 +2090,14 @@

Workflow: Continuous Exposure

-# weights <- weights.gbm
-# 
-# balance_stats.gbm <- assessBalance(data = data,
-#                                    obj = obj,
-#                                    weights = weights,
-#                                    imp_conf = imp_conf,
-#                                    balance_thresh = balance_thresh,
-#                                    save.out = save.out)
+weights <- weights.gbm + +balance_stats.gbm <- assessBalance(data = data, + obj = obj, + weights = weights, + imp_conf = imp_conf, + balance_thresh = balance_thresh, + save.out = save.out)
Bart
@@ -1994,8 +2138,7 @@

Workflow: Continuous Exposure

 summary(balance_stats.cbps, 
         save.out = save.out)
-#> Averaging across imputed datasets using cbps weighting method.
-#> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 0 out of 241 (0.0%) covariates across time points remain imbalanced:
+#> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 2 out of 241 (0.8%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.06 (max: 0.07):
 #> +-----------+-----------------------+----------------------------+
 #> | Exposure  | Total # of covariates | # of imbalanced covariates |
 #> +===========+=======================+============================+
@@ -2005,7 +2148,7 @@ 

Workflow: Continuous Exposure

#> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ -#> | ESETA1.35 | 59 | 0 | +#> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ @@ -2031,24 +2174,40 @@

Workflow: Continuous Exposure

#> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `glm` -# summary(balance_stats.gbm, -# save.out = save.out) +summary(balance_stats.gbm, + save.out = save.out) +#> USER ALERT: Averaging across imputed datasets using `gbm` weighting method: As shown below, 27 out of 241 (11.2%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.12 (max: 0.22): +#> +-----------+-----------------------+----------------------------+ +#> | Exposure | Total # of covariates | # of imbalanced covariates | +#> +===========+=======================+============================+ +#> | ESETA1.6 | 28 | 7 | +#> +-----------+-----------------------+----------------------------+ +#> | ESETA1.15 | 38 | 3 | +#> +-----------+-----------------------+----------------------------+ +#> | ESETA1.24 | 47 | 10 | +#> +-----------+-----------------------+----------------------------+ +#> | ESETA1.35 | 59 | 5 | +#> +-----------+-----------------------+----------------------------+ +#> | ESETA1.58 | 69 | 2 | +#> +-----------+-----------------------+----------------------------+ +#> +#> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `gbm` summary(balance_stats.bart, save.out = save.out) -#> USER ALERT: Averaging across imputed datasets using `bart` weighting method: As shown below, 16 out of 241 (6.6%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.13 (max: 0.19): +#> USER ALERT: Averaging across imputed datasets using `bart` weighting method: As shown below, 28 out of 241 (11.6%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.13 (max: 0.24): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ -#> | ESETA1.6 | 28 | 3 | +#> | ESETA1.6 | 28 | 7 | #> +-----------+-----------------------+----------------------------+ -#> | ESETA1.15 | 38 | 9 | +#> | ESETA1.15 | 38 | 13 | #> +-----------+-----------------------+----------------------------+ -#> | ESETA1.24 | 47 | 4 | +#> | ESETA1.24 | 47 | 7 | #> +-----------+-----------------------+----------------------------+ -#> | ESETA1.35 | 59 | 0 | +#> | ESETA1.35 | 59 | 0 | #> +-----------+-----------------------+----------------------------+ -#> | ESETA1.58 | 69 | 0 | +#> | ESETA1.58 | 69 | 1 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `bart` @@ -2080,7 +2239,7 @@

Workflow: Continuous Exposure

#> $effective.sample.size #> Total #> Unweighted 1292.0000 -#> Weighted 567.0924 +#> Weighted 605.0426 summary(weights.glm[[1]])[[1]][6] #> $effective.sample.size @@ -2088,19 +2247,23 @@

Workflow: Continuous Exposure

#> Unweighted 1292.00000 #> Weighted 82.74434 -# summary(weights.gbm[[1]])[[1]][6] +summary(weights.gbm[[1]])[[1]][6] +#> $effective.sample.size +#> Total +#> Unweighted 1292.0000 +#> Weighted 103.8726 summary(weights.bart[[1]])[[1]][6] #> $effective.sample.size #> Total #> Unweighted 1292.00000 -#> Weighted 36.66269 +#> Weighted 27.65344 summary(weights.super[[1]])[[1]][6] #> $effective.sample.size -#> Total -#> Unweighted 1292.0000 -#> Weighted 83.0753
+#> Total +#> Unweighted 1292.00000 +#> Weighted 83.05617

From this, we also find that the CBPS method yields the highest effective sample size of 605.

From these inspections, we identify the best performing weighting method as CBPS.

@@ -2119,487 +2282,487 @@

Workflow: Continuous Exposure

#> +-----------+----------------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +===========+================+===============+============+==========+ -#> | ESETA1.6 | state_1 | -0.015841 | 0.1 | 1 | +#> | ESETA1.6 | state_1 | 0.0056014 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.6 | BioDadInHH2_1 | 0.049787 | 0.1 | 1 | +#> | ESETA1.6 | BioDadInHH2_1 | -0.0010128 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.6 | PmAge2 | 0.021011 | 0.1 | 1 | +#> | ESETA1.6 | PmAge2 | -0.0014006 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.6 | PmBlac2_1 | -0.033318 | 0.1 | 1 | +#> | ESETA1.6 | PmBlac2_1 | 0.0056993 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.6 | TcBlac2_1 | -0.017018 | 0.1 | 1 | +#> | ESETA1.6 | TcBlac2_1 | 0.0057264 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.6 | PmMrSt2_1 | 0.026148 | 0.1 | 1 | +#> | ESETA1.6 | PmMrSt2_1 | -0.003174 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.6 | PmEd2 | 0.001702 | 0.05 | 1 | +#> | ESETA1.6 | PmEd2 | -0.0126755 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.6 | KFASTScr | -0.016403 | 0.1 | 1 | +#> | ESETA1.6 | KFASTScr | -0.0123196 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.6 | RMomAgeU | 0.072699 | 0.1 | 1 | +#> | ESETA1.6 | RMomAgeU | -0.0050029 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.6 | RHealth_1 | -0.013994 | 0.1 | 1 | +#> | ESETA1.6 | RHealth_1 | -0.0058639 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.6 | RHealth_2 | -0.020431 | 0.1 | 1 | +#> | ESETA1.6 | RHealth_2 | -0.000575 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.6 | RHealth_3 | 0.02928 | 0.1 | 1 | +#> | ESETA1.6 | RHealth_3 | 0.00236 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.6 | RHealth_4 | 0.01127 | 0.1 | 1 | +#> | ESETA1.6 | RHealth_4 | 0.0062365 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.6 | RHealth_5 | 0.012702 | 0.1 | 1 | +#> | ESETA1.6 | RHealth_5 | 0.0165904 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.6 | HomeOwnd_1 | 0.003785 | 0.1 | 1 | +#> | ESETA1.6 | HomeOwnd_1 | -0.0015327 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.6 | HomeOwnd_2 | 0.00374 | 0.1 | 1 | +#> | ESETA1.6 | HomeOwnd_2 | -0.0004367 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.6 | HomeOwnd_3 | -0.005058 | 0.1 | 1 | +#> | ESETA1.6 | HomeOwnd_3 | 0.0036865 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.6 | HomeOwnd_4 | -0.002294 | 0.1 | 1 | +#> | ESETA1.6 | HomeOwnd_4 | 0.0058464 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.6 | SWghtLB | -0.030219 | 0.1 | 1 | +#> | ESETA1.6 | SWghtLB | -0.0076889 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.6 | SurpPreg_1 | -0.004567 | 0.1 | 1 | +#> | ESETA1.6 | SurpPreg_1 | 0.0027974 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.6 | SmokTotl_1 | 0.02189 | 0.1 | 1 | +#> | ESETA1.6 | SmokTotl_1 | 0.0041922 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.6 | SmokTotl_2 | -0.027643 | 0.1 | 1 | +#> | ESETA1.6 | SmokTotl_2 | -0.0021733 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.6 | SmokTotl_3 | 0.012046 | 0.1 | 1 | +#> | ESETA1.6 | SmokTotl_3 | 0.0127002 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.6 | DrnkFreq_1 | -0.026237 | 0.1 | 1 | +#> | ESETA1.6 | DrnkFreq_1 | -0.0056479 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.6 | DrnkFreq_2 | 0.013558 | 0.1 | 1 | +#> | ESETA1.6 | DrnkFreq_2 | 0.0062915 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.6 | peri_health | -0.035748 | 0.1 | 1 | +#> | ESETA1.6 | peri_health | 0.0018227 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.6 | caregiv_health | -0.003855 | 0.1 | 1 | +#> | ESETA1.6 | caregiv_health | 0.0063088 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.6 | gov_assist | -0.022816 | 0.1 | 1 | +#> | ESETA1.6 | gov_assist | 0.0142948 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | state_1 | 0.036174 | 0.1 | 1 | +#> | ESETA1.15 | state_1 | 0.0093982 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | BioDadInHH2_1 | -0.012204 | 0.1 | 1 | +#> | ESETA1.15 | BioDadInHH2_1 | -0.0060919 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | PmAge2 | 0.004854 | 0.1 | 1 | +#> | ESETA1.15 | PmAge2 | -0.00208 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | PmBlac2_1 | 0.042683 | 0.1 | 1 | +#> | ESETA1.15 | PmBlac2_1 | 0.0078345 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | TcBlac2_1 | 0.025346 | 0.1 | 1 | +#> | ESETA1.15 | TcBlac2_1 | 0.004728 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | PmMrSt2_1 | 0.004899 | 0.1 | 1 | +#> | ESETA1.15 | PmMrSt2_1 | -0.003418 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | PmEd2 | -0.029365 | 0.05 | 1 | +#> | ESETA1.15 | PmEd2 | -0.0143257 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | KFASTScr | -0.037699 | 0.1 | 1 | +#> | ESETA1.15 | KFASTScr | -0.0059526 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | RMomAgeU | -0.041403 | 0.1 | 1 | +#> | ESETA1.15 | RMomAgeU | -0.0017348 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | RHealth_1 | -0.035278 | 0.1 | 1 | +#> | ESETA1.15 | RHealth_1 | -0.0033083 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | RHealth_2 | 0.001438 | 0.1 | 1 | +#> | ESETA1.15 | RHealth_2 | -0.0021593 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | RHealth_3 | -0.011183 | 0.1 | 1 | +#> | ESETA1.15 | RHealth_3 | 0.0017789 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | RHealth_4 | 0.010747 | 0.1 | 1 | +#> | ESETA1.15 | RHealth_4 | 0.0109611 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | RHealth_5 | -0.049295 | 0.1 | 1 | +#> | ESETA1.15 | RHealth_5 | -0.0110053 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | HomeOwnd_1 | -0.033142 | 0.1 | 1 | +#> | ESETA1.15 | HomeOwnd_1 | -0.007286 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | HomeOwnd_2 | 0.044428 | 0.1 | 1 | +#> | ESETA1.15 | HomeOwnd_2 | -0.0015007 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | HomeOwnd_3 | -0.016749 | 0.1 | 1 | +#> | ESETA1.15 | HomeOwnd_3 | 0.0027981 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | HomeOwnd_4 | 0.000614 | 0.1 | 1 | +#> | ESETA1.15 | HomeOwnd_4 | 0.00847 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | SWghtLB | 0.020957 | 0.1 | 1 | +#> | ESETA1.15 | SWghtLB | -0.0013944 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | SurpPreg_1 | 0.027651 | 0.1 | 1 | +#> | ESETA1.15 | SurpPreg_1 | 0.0011906 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | SmokTotl_1 | -0.050611 | 0.1 | 1 | +#> | ESETA1.15 | SmokTotl_1 | 0.0014261 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | SmokTotl_2 | 0.069412 | 0.1 | 1 | +#> | ESETA1.15 | SmokTotl_2 | 0.0056452 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | SmokTotl_3 | -0.026007 | 0.1 | 1 | +#> | ESETA1.15 | SmokTotl_3 | -0.0058635 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | DrnkFreq_1 | -0.011565 | 0.1 | 1 | +#> | ESETA1.15 | DrnkFreq_1 | 0.0061577 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | DrnkFreq_2 | 0.003636 | 0.1 | 1 | +#> | ESETA1.15 | DrnkFreq_2 | -0.0064732 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | peri_health | 0.011326 | 0.1 | 1 | +#> | ESETA1.15 | peri_health | -0.001696 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | caregiv_health | 0.007437 | 0.1 | 1 | +#> | ESETA1.15 | caregiv_health | 0.0067301 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | gov_assist | -0.015918 | 0.1 | 1 | +#> | ESETA1.15 | gov_assist | 0.0086264 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | SAAmylase.6 | -0.038498 | 0.1 | 1 | +#> | ESETA1.15 | SAAmylase.6 | 0.0031339 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | MDI.6 | 0.045319 | 0.1 | 1 | +#> | ESETA1.15 | MDI.6 | -0.0008854 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | RHasSO.6_1 | -0.02082 | 0.1 | 1 | +#> | ESETA1.15 | RHasSO.6_1 | 0.0072932 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | WndNbrhood.6 | 0.004196 | 0.1 | 1 | +#> | ESETA1.15 | WndNbrhood.6 | -0.0053101 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | IBRAttn.6 | -0.019396 | 0.1 | 1 | +#> | ESETA1.15 | IBRAttn.6 | -0.0030064 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | B18Raw.6 | 0.033228 | 0.1 | 1 | +#> | ESETA1.15 | B18Raw.6 | 0.020191 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | HOMEETA1.6 | -0.008945 | 0.1 | 1 | +#> | ESETA1.15 | HOMEETA1.6 | -0.0133514 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | InRatioCor.6 | -0.045347 | 0.05 | 1 | +#> | ESETA1.15 | InRatioCor.6 | -0.0212558 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | CORTB.6 | 0.010691 | 0.1 | 1 | +#> | ESETA1.15 | CORTB.6 | -0.0004624 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | ESETA1.6 | 0.043475 | 0.1 | 1 | +#> | ESETA1.15 | ESETA1.6 | 0.0190618 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | state_1 | 0.006241 | 0.1 | 1 | +#> | ESETA1.24 | state_1 | 0.0178116 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | BioDadInHH2_1 | -0.035814 | 0.1 | 1 | +#> | ESETA1.24 | BioDadInHH2_1 | -0.0113743 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | PmAge2 | -0.017532 | 0.1 | 1 | +#> | ESETA1.24 | PmAge2 | -0.0025439 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | PmBlac2_1 | 0.015892 | 0.1 | 1 | +#> | ESETA1.24 | PmBlac2_1 | 0.0137147 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | TcBlac2_1 | 0.030768 | 0.1 | 1 | +#> | ESETA1.24 | TcBlac2_1 | 0.0194831 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | PmMrSt2_1 | 0.062369 | 0.1 | 1 | +#> | ESETA1.24 | PmMrSt2_1 | 0.0056732 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | PmEd2 | 0.00653 | 0.05 | 1 | +#> | ESETA1.24 | PmEd2 | -0.0088749 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | KFASTScr | 0.032766 | 0.1 | 1 | +#> | ESETA1.24 | KFASTScr | 0.0027367 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | RMomAgeU | 0.032742 | 0.1 | 1 | +#> | ESETA1.24 | RMomAgeU | -0.0066146 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | RHealth_1 | 0.00826 | 0.1 | 1 | +#> | ESETA1.24 | RHealth_1 | -0.0024297 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | RHealth_2 | 0.025263 | 0.1 | 1 | +#> | ESETA1.24 | RHealth_2 | 0.0132047 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | RHealth_3 | -0.029311 | 0.1 | 1 | +#> | ESETA1.24 | RHealth_3 | -0.0131262 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | RHealth_4 | -0.020001 | 0.1 | 1 | +#> | ESETA1.24 | RHealth_4 | -0.0077858 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | RHealth_5 | 0.057299 | 0.1 | 1 | +#> | ESETA1.24 | RHealth_5 | 0.0232206 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | HomeOwnd_1 | -0.032929 | 0.1 | 1 | +#> | ESETA1.24 | HomeOwnd_1 | -0.0102612 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | HomeOwnd_2 | 0.008234 | 0.1 | 1 | +#> | ESETA1.24 | HomeOwnd_2 | -0.0164388 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | HomeOwnd_3 | 0.000591 | 0.1 | 1 | +#> | ESETA1.24 | HomeOwnd_3 | 0.0056505 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | HomeOwnd_4 | 0.022929 | 0.1 | 1 | +#> | ESETA1.24 | HomeOwnd_4 | 0.0031887 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | SWghtLB | -0.008564 | 0.1 | 1 | +#> | ESETA1.24 | SWghtLB | 0.0047081 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | SurpPreg_1 | -0.037616 | 0.1 | 1 | +#> | ESETA1.24 | SurpPreg_1 | 0.0027554 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | SmokTotl_1 | 0.011311 | 0.1 | 1 | +#> | ESETA1.24 | SmokTotl_1 | 0.0039094 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | SmokTotl_2 | -0.000889 | 0.1 | 1 | +#> | ESETA1.24 | SmokTotl_2 | -0.0184712 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | SmokTotl_3 | 0.002071 | 0.1 | 1 | +#> | ESETA1.24 | SmokTotl_3 | 0.0039583 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | DrnkFreq_1 | -0.011027 | 0.1 | 1 | +#> | ESETA1.24 | DrnkFreq_1 | 0.0133345 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | DrnkFreq_2 | 0.012054 | 0.1 | 1 | +#> | ESETA1.24 | DrnkFreq_2 | -0.0110411 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | peri_health | -0.040005 | 0.1 | 1 | +#> | ESETA1.24 | peri_health | -0.0071191 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | caregiv_health | 0.002807 | 0.1 | 1 | +#> | ESETA1.24 | caregiv_health | -0.0052552 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | gov_assist | 0.017188 | 0.1 | 1 | +#> | ESETA1.24 | gov_assist | -0.0017485 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | SAAmylase.6 | 0.015602 | 0.1 | 1 | +#> | ESETA1.24 | SAAmylase.6 | 0.0159673 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | SAAmylase.15 | 0.043926 | 0.1 | 1 | +#> | ESETA1.24 | SAAmylase.15 | 0.0082825 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | MDI.6 | 0.02066 | 0.1 | 1 | +#> | ESETA1.24 | MDI.6 | 0.0094737 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | MDI.15 | 0.002145 | 0.1 | 1 | +#> | ESETA1.24 | MDI.15 | -0.0034069 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | RHasSO.6_1 | -0.027332 | 0.1 | 1 | +#> | ESETA1.24 | RHasSO.6_1 | -0.0140331 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | RHasSO.15_1 | 0.000214 | 0.1 | 1 | +#> | ESETA1.24 | RHasSO.15_1 | -0.001231 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | WndNbrhood.6 | -0.000298 | 0.1 | 1 | +#> | ESETA1.24 | WndNbrhood.6 | 0.0017775 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | IBRAttn.6 | 0.015692 | 0.1 | 1 | +#> | ESETA1.24 | IBRAttn.6 | -0.0016465 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | IBRAttn.15 | 0.004147 | 0.1 | 1 | +#> | ESETA1.24 | IBRAttn.15 | -0.000343 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | B18Raw.6 | 0.093979 | 0.1 | 1 | +#> | ESETA1.24 | B18Raw.6 | 0.0822361 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | B18Raw.15 | -0.003861 | 0.1 | 1 | +#> | ESETA1.24 | B18Raw.15 | 0.0005663 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | HOMEETA1.6 | 0.006479 | 0.1 | 1 | +#> | ESETA1.24 | HOMEETA1.6 | 0.0113979 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | HOMEETA1.15 | 0.016107 | 0.1 | 1 | +#> | ESETA1.24 | HOMEETA1.15 | 0.0067273 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | InRatioCor.6 | -0.043574 | 0.05 | 1 | +#> | ESETA1.24 | InRatioCor.6 | -0.0374541 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | InRatioCor.15 | -0.002573 | 0.05 | 1 | +#> | ESETA1.24 | InRatioCor.15 | 0.0098439 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | CORTB.6 | 0.040583 | 0.1 | 1 | +#> | ESETA1.24 | CORTB.6 | 0.0563049 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | CORTB.15 | -0.007733 | 0.1 | 1 | +#> | ESETA1.24 | CORTB.15 | -0.005924 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | ESETA1.6 | 0.038786 | 0.1 | 1 | +#> | ESETA1.24 | ESETA1.6 | 0.0273448 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.24 | ESETA1.15 | 0.016269 | 0.1 | 1 | +#> | ESETA1.24 | ESETA1.15 | 0.0061281 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | state_1 | 0.012297 | 0.1 | 1 | +#> | ESETA1.35 | state_1 | 0.0159812 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | BioDadInHH2_1 | -0.007364 | 0.1 | 1 | +#> | ESETA1.35 | BioDadInHH2_1 | -0.0216829 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | PmAge2 | -0.011717 | 0.1 | 1 | +#> | ESETA1.35 | PmAge2 | -0.0074947 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | PmBlac2_1 | -0.001426 | 0.1 | 1 | +#> | ESETA1.35 | PmBlac2_1 | 0.0103925 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | TcBlac2_1 | -0.009506 | 0.1 | 1 | +#> | ESETA1.35 | TcBlac2_1 | 0.0163783 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | PmMrSt2_1 | 0.004603 | 0.1 | 1 | +#> | ESETA1.35 | PmMrSt2_1 | -0.0010987 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | PmEd2 | -0.041457 | 0.05 | 1 | +#> | ESETA1.35 | PmEd2 | -0.0389852 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | KFASTScr | -0.036504 | 0.1 | 1 | +#> | ESETA1.35 | KFASTScr | -0.0250932 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | RMomAgeU | 0.014532 | 0.1 | 1 | +#> | ESETA1.35 | RMomAgeU | -0.0138737 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | RHealth_1 | -0.014423 | 0.1 | 1 | +#> | ESETA1.35 | RHealth_1 | 0.0182202 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | RHealth_2 | -0.057253 | 0.1 | 1 | +#> | ESETA1.35 | RHealth_2 | -0.0231654 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | RHealth_3 | 0.065055 | 0.1 | 1 | +#> | ESETA1.35 | RHealth_3 | -0.0001511 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | RHealth_4 | 0.019599 | 0.1 | 1 | +#> | ESETA1.35 | RHealth_4 | 0.0240331 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | RHealth_5 | 0.009704 | 0.1 | 1 | +#> | ESETA1.35 | RHealth_5 | 0.005529 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | HomeOwnd_1 | 0.011584 | 0.1 | 1 | +#> | ESETA1.35 | HomeOwnd_1 | -0.0251607 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | HomeOwnd_2 | 0.020508 | 0.1 | 1 | +#> | ESETA1.35 | HomeOwnd_2 | 0.0322371 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | HomeOwnd_3 | -0.030714 | 0.1 | 1 | +#> | ESETA1.35 | HomeOwnd_3 | -0.0198839 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | HomeOwnd_4 | 0.005852 | 0.1 | 1 | +#> | ESETA1.35 | HomeOwnd_4 | 0.0124531 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | SWghtLB | -0.019471 | 0.1 | 1 | +#> | ESETA1.35 | SWghtLB | -0.0030648 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | SurpPreg_1 | 0.059723 | 0.1 | 1 | +#> | ESETA1.35 | SurpPreg_1 | 0.0266638 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | SmokTotl_1 | 0.017933 | 0.1 | 1 | +#> | ESETA1.35 | SmokTotl_1 | -0.0129774 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | SmokTotl_2 | -0.036241 | 0.1 | 1 | +#> | ESETA1.35 | SmokTotl_2 | -0.013428 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | SmokTotl_3 | 0.0324 | 0.1 | 1 | +#> | ESETA1.35 | SmokTotl_3 | 0.009222 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | DrnkFreq_1 | -0.007962 | 0.1 | 1 | +#> | ESETA1.35 | DrnkFreq_1 | -0.0225268 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | DrnkFreq_2 | 0.006528 | 0.1 | 1 | +#> | ESETA1.35 | DrnkFreq_2 | 0.0090972 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | peri_health | 0.024272 | 0.1 | 1 | +#> | ESETA1.35 | peri_health | 0.0014589 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | caregiv_health | 0.001126 | 0.1 | 1 | +#> | ESETA1.35 | caregiv_health | -0.0051781 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | gov_assist | 0.001664 | 0.1 | 1 | +#> | ESETA1.35 | gov_assist | 0.0318938 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | SAAmylase.6 | -0.02835 | 0.1 | 1 | +#> | ESETA1.35 | SAAmylase.6 | -0.0262552 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | SAAmylase.15 | -0.016089 | 0.1 | 1 | +#> | ESETA1.35 | SAAmylase.15 | -0.0163234 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | SAAmylase.24 | 0.002003 | 0.1 | 1 | +#> | ESETA1.35 | SAAmylase.24 | 0.0100267 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | MDI.6 | -0.003452 | 0.1 | 1 | +#> | ESETA1.35 | MDI.6 | -0.0185937 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | MDI.15 | 0.016688 | 0.1 | 1 | +#> | ESETA1.35 | MDI.15 | 0.0252672 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | RHasSO.6_1 | 0.027168 | 0.1 | 1 | +#> | ESETA1.35 | RHasSO.6_1 | 0.0185998 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | RHasSO.15_1 | 0.066367 | 0.1 | 1 | +#> | ESETA1.35 | RHasSO.15_1 | 0.0371793 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | RHasSO.24_1 | 0.059345 | 0.1 | 1 | +#> | ESETA1.35 | RHasSO.24_1 | 0.0131871 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | WndNbrhood.6 | -0.045594 | 0.1 | 1 | +#> | ESETA1.35 | WndNbrhood.6 | -0.0321717 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | WndNbrhood.24 | -0.023004 | 0.1 | 1 | +#> | ESETA1.35 | WndNbrhood.24 | -0.022859 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | IBRAttn.6 | -0.051726 | 0.1 | 1 | +#> | ESETA1.35 | IBRAttn.6 | -0.0604992 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | IBRAttn.15 | -0.039767 | 0.1 | 1 | +#> | ESETA1.35 | IBRAttn.15 | -0.0174987 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | IBRAttn.24 | -0.001796 | 0.1 | 1 | +#> | ESETA1.35 | IBRAttn.24 | 0.0059855 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | B18Raw.6 | 0.053306 | 0.1 | 1 | +#> | ESETA1.35 | B18Raw.6 | 0.0402665 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | B18Raw.15 | 0.04418 | 0.1 | 1 | +#> | ESETA1.35 | B18Raw.15 | 0.0266371 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | B18Raw.24 | 0.030505 | 0.1 | 1 | +#> | ESETA1.35 | B18Raw.24 | 0.0130311 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | HOMEETA1.6 | -0.034064 | 0.1 | 1 | +#> | ESETA1.35 | HOMEETA1.6 | -0.0573771 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | HOMEETA1.15 | -0.037334 | 0.1 | 1 | +#> | ESETA1.35 | HOMEETA1.15 | -0.020653 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | HOMEETA1.24 | -0.016869 | 0.1 | 1 | +#> | ESETA1.35 | HOMEETA1.24 | -0.0066419 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | InRatioCor.6 | -0.03603 | 0.05 | 1 | +#> | ESETA1.35 | InRatioCor.6 | -0.0650277 | 0.05 | 0 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | InRatioCor.15 | -0.022606 | 0.05 | 1 | +#> | ESETA1.35 | InRatioCor.15 | -0.0609491 | 0.05 | 0 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | InRatioCor.24 | -0.014519 | 0.05 | 1 | +#> | ESETA1.35 | InRatioCor.24 | -0.036796 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | CORTB.6 | 0.034283 | 0.1 | 1 | +#> | ESETA1.35 | CORTB.6 | 0.0382809 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | CORTB.15 | 0.00186 | 0.1 | 1 | +#> | ESETA1.35 | CORTB.15 | 0.0095674 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | CORTB.24 | 0.021881 | 0.1 | 1 | +#> | ESETA1.35 | CORTB.24 | 0.0266067 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | EARS_TJo.24 | -0.009914 | 0.1 | 1 | +#> | ESETA1.35 | EARS_TJo.24 | -0.0122612 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | LESMnPos.24 | -0.015144 | 0.1 | 1 | +#> | ESETA1.35 | LESMnPos.24 | -0.0106439 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | LESMnNeg.24 | 0.032104 | 0.1 | 1 | +#> | ESETA1.35 | LESMnNeg.24 | 0.0081802 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | ESETA1.6 | 0.084487 | 0.1 | 1 | +#> | ESETA1.35 | ESETA1.6 | 0.0844947 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | ESETA1.15 | 0.08033 | 0.1 | 1 | +#> | ESETA1.35 | ESETA1.15 | 0.0775117 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.35 | ESETA1.24 | 0.003504 | 0.1 | 1 | +#> | ESETA1.35 | ESETA1.24 | 0.0204742 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | state_1 | 0.046707 | 0.1 | 1 | +#> | ESETA1.58 | state_1 | 0.0173188 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | BioDadInHH2_1 | -0.032556 | 0.1 | 1 | +#> | ESETA1.58 | BioDadInHH2_1 | -0.029331 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | PmAge2 | -0.011158 | 0.1 | 1 | +#> | ESETA1.58 | PmAge2 | -0.0022438 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | PmBlac2_1 | 0.045969 | 0.1 | 1 | +#> | ESETA1.58 | PmBlac2_1 | 0.0167733 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | TcBlac2_1 | 0.062286 | 0.1 | 1 | +#> | ESETA1.58 | TcBlac2_1 | 0.0285232 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | PmMrSt2_1 | -0.02112 | 0.1 | 1 | +#> | ESETA1.58 | PmMrSt2_1 | -0.0308851 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | PmEd2 | 0.003704 | 0.05 | 1 | +#> | ESETA1.58 | PmEd2 | -0.005835 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | KFASTScr | 0.001911 | 0.1 | 1 | +#> | ESETA1.58 | KFASTScr | 0.0001801 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | RMomAgeU | 0.042917 | 0.1 | 1 | +#> | ESETA1.58 | RMomAgeU | 0.0200869 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | RHealth_1 | 0.001836 | 0.1 | 1 | +#> | ESETA1.58 | RHealth_1 | -0.0046526 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | RHealth_2 | 0.011966 | 0.1 | 1 | +#> | ESETA1.58 | RHealth_2 | 0.0058821 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | RHealth_3 | -0.000588 | 0.1 | 1 | +#> | ESETA1.58 | RHealth_3 | 0.0057173 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | RHealth_4 | -0.031635 | 0.1 | 1 | +#> | ESETA1.58 | RHealth_4 | -0.0099921 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | RHealth_5 | 0.03408 | 0.1 | 1 | +#> | ESETA1.58 | RHealth_5 | -0.0018151 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | HomeOwnd_1 | -0.020218 | 0.1 | 1 | +#> | ESETA1.58 | HomeOwnd_1 | -0.0129367 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | HomeOwnd_2 | 0.024941 | 0.1 | 1 | +#> | ESETA1.58 | HomeOwnd_2 | 0.0088235 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | HomeOwnd_3 | 0.002759 | 0.1 | 1 | +#> | ESETA1.58 | HomeOwnd_3 | 0.029316 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | HomeOwnd_4 | 0.002021 | 0.1 | 1 | +#> | ESETA1.58 | HomeOwnd_4 | -0.0281944 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | SWghtLB | -0.022619 | 0.1 | 1 | +#> | ESETA1.58 | SWghtLB | -0.0300973 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | SurpPreg_1 | -0.018775 | 0.1 | 1 | +#> | ESETA1.58 | SurpPreg_1 | -0.0039986 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | SmokTotl_1 | -0.044081 | 0.1 | 1 | +#> | ESETA1.58 | SmokTotl_1 | 0.002585 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | SmokTotl_2 | 0.003514 | 0.1 | 1 | +#> | ESETA1.58 | SmokTotl_2 | -0.0052944 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | SmokTotl_3 | -0.008938 | 0.1 | 1 | +#> | ESETA1.58 | SmokTotl_3 | -0.0020945 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | DrnkFreq_1 | 0.010825 | 0.1 | 1 | +#> | ESETA1.58 | DrnkFreq_1 | -0.0068799 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | DrnkFreq_2 | -0.012394 | 0.1 | 1 | +#> | ESETA1.58 | DrnkFreq_2 | 0.0052751 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | peri_health | -0.019048 | 0.1 | 1 | +#> | ESETA1.58 | peri_health | 0.0042015 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | caregiv_health | -0.001676 | 0.1 | 1 | +#> | ESETA1.58 | caregiv_health | 0.0116077 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | gov_assist | 0.01349 | 0.1 | 1 | +#> | ESETA1.58 | gov_assist | 0.007267 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | SAAmylase.6 | 0.028656 | 0.1 | 1 | +#> | ESETA1.58 | SAAmylase.6 | 0.0316109 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | SAAmylase.15 | -0.02358 | 0.1 | 1 | +#> | ESETA1.58 | SAAmylase.15 | -0.030204 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | SAAmylase.24 | -0.017473 | 0.1 | 1 | +#> | ESETA1.58 | SAAmylase.24 | -0.0039453 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | MDI.6 | 0.035384 | 0.1 | 1 | +#> | ESETA1.58 | MDI.6 | 0.0458769 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | MDI.15 | -0.069623 | 0.1 | 1 | +#> | ESETA1.58 | MDI.15 | -0.046456 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | RHasSO.6_1 | 0.066159 | 0.1 | 1 | +#> | ESETA1.58 | RHasSO.6_1 | 0.0649412 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | RHasSO.15_1 | 0.005755 | 0.1 | 1 | +#> | ESETA1.58 | RHasSO.15_1 | -0.0122701 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | RHasSO.24_1 | -0.025656 | 0.1 | 1 | +#> | ESETA1.58 | RHasSO.24_1 | -0.0169821 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | RHasSO.35_1 | -0.013387 | 0.1 | 1 | +#> | ESETA1.58 | RHasSO.35_1 | 0.0116231 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | WndNbrhood.6 | -0.042805 | 0.1 | 1 | +#> | ESETA1.58 | WndNbrhood.6 | -0.0373402 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | WndNbrhood.24 | -0.006412 | 0.1 | 1 | +#> | ESETA1.58 | WndNbrhood.24 | -0.001917 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | WndNbrhood.35 | 0.003724 | 0.1 | 1 | +#> | ESETA1.58 | WndNbrhood.35 | 0.0023001 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | IBRAttn.6 | -0.04382 | 0.1 | 1 | +#> | ESETA1.58 | IBRAttn.6 | -0.0320238 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | IBRAttn.15 | -0.01477 | 0.1 | 1 | +#> | ESETA1.58 | IBRAttn.15 | -0.0253196 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | IBRAttn.24 | -0.048202 | 0.1 | 1 | +#> | ESETA1.58 | IBRAttn.24 | -0.0374467 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | B18Raw.6 | 0.03759 | 0.1 | 1 | +#> | ESETA1.58 | B18Raw.6 | 0.016658 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | B18Raw.15 | 0.078278 | 0.1 | 1 | +#> | ESETA1.58 | B18Raw.15 | 0.0519722 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | B18Raw.24 | 0.051997 | 0.1 | 1 | +#> | ESETA1.58 | B18Raw.24 | 0.0765176 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | HOMEETA1.6 | -0.030969 | 0.1 | 1 | +#> | ESETA1.58 | HOMEETA1.6 | -0.0038499 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | HOMEETA1.15 | 0.004609 | 0.1 | 1 | +#> | ESETA1.58 | HOMEETA1.15 | 0.0141684 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | HOMEETA1.24 | -0.047911 | 0.1 | 1 | +#> | ESETA1.58 | HOMEETA1.24 | -0.0396149 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | HOMEETA1.35 | -0.07415 | 0.1 | 1 | +#> | ESETA1.58 | HOMEETA1.35 | -0.0181722 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | InRatioCor.6 | -0.036626 | 0.05 | 1 | +#> | ESETA1.58 | InRatioCor.6 | -0.021147 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | InRatioCor.15 | -0.046776 | 0.05 | 1 | +#> | ESETA1.58 | InRatioCor.15 | -0.0288403 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | InRatioCor.24 | -0.044794 | 0.05 | 1 | +#> | ESETA1.58 | InRatioCor.24 | -0.0306187 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | InRatioCor.35 | -0.021949 | 0.05 | 1 | +#> | ESETA1.58 | InRatioCor.35 | -0.0000517 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | CORTB.6 | 0.024018 | 0.1 | 1 | +#> | ESETA1.58 | CORTB.6 | 0.034015 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | CORTB.15 | -0.008257 | 0.1 | 1 | +#> | ESETA1.58 | CORTB.15 | 0.0126726 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | CORTB.24 | 0.004373 | 0.1 | 1 | +#> | ESETA1.58 | CORTB.24 | -0.0234976 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | EARS_TJo.24 | -0.018775 | 0.1 | 1 | +#> | ESETA1.58 | EARS_TJo.24 | -0.0205811 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | EARS_TJo.35 | 0.023288 | 0.1 | 1 | +#> | ESETA1.58 | EARS_TJo.35 | -0.0102582 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | LESMnPos.24 | -0.019433 | 0.1 | 1 | +#> | ESETA1.58 | LESMnPos.24 | -0.0325432 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | LESMnPos.35 | -0.016828 | 0.1 | 1 | +#> | ESETA1.58 | LESMnPos.35 | -0.0198356 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | LESMnNeg.24 | 0.027503 | 0.1 | 1 | +#> | ESETA1.58 | LESMnNeg.24 | 0.0397038 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | LESMnNeg.35 | 0.054757 | 0.1 | 1 | +#> | ESETA1.58 | LESMnNeg.35 | 0.0159532 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | StrDif_Tot.35 | 0.022732 | 0.1 | 1 | +#> | ESETA1.58 | StrDif_Tot.35 | 0.025157 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | fscore.35 | -0.059882 | 0.1 | 1 | +#> | ESETA1.58 | fscore.35 | -0.0372574 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | ESETA1.6 | 0.039731 | 0.1 | 1 | +#> | ESETA1.58 | ESETA1.6 | 0.0391978 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | ESETA1.15 | 0.031636 | 0.1 | 1 | +#> | ESETA1.58 | ESETA1.15 | 0.0257108 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | ESETA1.24 | 0.014185 | 0.1 | 1 | +#> | ESETA1.58 | ESETA1.24 | 0.0109497 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.58 | ESETA1.35 | 0.019732 | 0.1 | 1 | +#> | ESETA1.58 | ESETA1.35 | 0.0073936 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> #> Table: Balance Stats for All Exposure Time Points Averaging Across Imputed Datasets @@ -2649,7 +2812,7 @@

Workflow: Continuous Exposure

#> ESETA1.24 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.15 + MDI.15 + RHasSO.15 + IBRAttn.15 + B18Raw.15 + HOMEETA1.15 + InRatioCor.15 + CORTB.15 + ESETA1.15 #> USER ALERT: Please manually inspect the updated balancing formula below that includes time-varying confounders at t-1 and those greater at further lags that remained imbalanced: #> At time point 35, the update formula for ESETA1.35 is: -#> ESETA1.35 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.24 + RHasSO.24 + WndNbrhood.24 + IBRAttn.24 + B18Raw.24 + HOMEETA1.24 + InRatioCor.24 + CORTB.24 + EARS_TJo.24 + LESMnPos.24 + LESMnNeg.24 + ESETA1.24 +#> ESETA1.35 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.24 + RHasSO.24 + WndNbrhood.24 + IBRAttn.24 + B18Raw.24 + HOMEETA1.24 + InRatioCor.24 + CORTB.24 + EARS_TJo.24 + LESMnPos.24 + LESMnNeg.24 + ESETA1.24 + InRatioCor.6 + InRatioCor.15 #> USER ALERT: Please manually inspect the updated balancing formula below that includes time-varying confounders at t-1 and those greater at further lags that remained imbalanced: #> At time point 58, the update formula for ESETA1.58 is: #> ESETA1.58 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + RHasSO.35 + WndNbrhood.35 + HOMEETA1.35 + InRatioCor.35 + EARS_TJo.35 + LESMnPos.35 + LESMnNeg.35 + StrDif_Tot.35 + fscore.35 + ESETA1.35 @@ -2673,7 +2836,7 @@

Workflow: Continuous Exposure

obj = obj, method = method, formulas = formulas, - max.it = 1, # testing only + # max.it = 1, # testing only save.out = save.out)

We then inspect these final weights by imputed dataset. The user has the option to supply save.out to save printed or plot output to the home directory.

@@ -2682,7 +2845,7 @@

Workflow: Continuous Exposure

print(final_weights, i = 1) #> -#> For imputation 1 and the `cbps` weighting method, the median weight value is 0.77 (SD = 1.18; range = 0-9). +#> For imputation 1 and the `cbps` weighting method, the median weight value is 0.77 (SD = 1.17; range = 0-9). plot(final_weights, i = 1, @@ -2776,7 +2939,7 @@

Workflow: Continuous Exposure

print(trim_weights.s2, i = 1) #> -#> For imputation 1 and the `cbps` weighting method, after trimming at 98th quantile, the median weight value is 0.77 (SD = 1.06; range = 0-5). +#> For imputation 1 and the `cbps` weighting method, after trimming at 98th quantile, the median weight value is 0.77 (SD = 1.05; range = 0-5). plot(trim_weights.s2, i = 1, @@ -2816,17 +2979,17 @@

Workflow: Continuous Exposure

 summary(final_balance_stats_trim, 
         save.out = save.out)
-#> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 2 out of 241 (0.8%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.06 (max: 0.06):
+#> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 1 out of 241 (0.4%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.05 (max: 0.05):
 #> +-----------+-----------------------+----------------------------+
 #> | Exposure  | Total # of covariates | # of imbalanced covariates |
 #> +===========+=======================+============================+
 #> | ESETA1.6  | 28                    | 0                          |
 #> +-----------+-----------------------+----------------------------+
-#> | ESETA1.15 | 38                    | 0                          |
+#> | ESETA1.15 | 38                    | 1                          |
 #> +-----------+-----------------------+----------------------------+
 #> | ESETA1.24 | 47                    | 0                          |
 #> +-----------+-----------------------+----------------------------+
-#> | ESETA1.35 | 59                    | 2                          |
+#> | ESETA1.35 | 59                    | 0                          |
 #> +-----------+-----------------------+----------------------------+
 #> | ESETA1.58 | 69                    | 0                          |
 #> +-----------+-----------------------+----------------------------+
@@ -2840,81 +3003,81 @@ 

Workflow: Continuous Exposure

#> +-----------+----------------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +===========+================+===============+============+==========+ -#> | ESETA1.15 | state_1 | 0.018002 | 0.1 | 1 | +#> | ESETA1.15 | state_1 | 0.017188 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | BioDadInHH2_1 | -0.01641 | 0.1 | 1 | +#> | ESETA1.15 | BioDadInHH2_1 | -0.0163 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | PmAge2 | -0.009705 | 0.1 | 1 | +#> | ESETA1.15 | PmAge2 | -0.008023 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | PmBlac2_1 | 0.017384 | 0.1 | 1 | +#> | ESETA1.15 | PmBlac2_1 | 0.016619 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | TcBlac2_1 | 0.017685 | 0.1 | 1 | +#> | ESETA1.15 | TcBlac2_1 | 0.018256 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | PmMrSt2_1 | -0.00618 | 0.1 | 1 | +#> | ESETA1.15 | PmMrSt2_1 | -0.00511 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | PmEd2 | -0.036545 | 0.05 | 1 | +#> | ESETA1.15 | PmEd2 | -0.037445 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | KFASTScr | -0.020649 | 0.1 | 1 | +#> | ESETA1.15 | KFASTScr | -0.019385 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | RMomAgeU | -0.005992 | 0.1 | 1 | +#> | ESETA1.15 | RMomAgeU | -0.004175 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | RHealth_1 | -0.001056 | 0.1 | 1 | +#> | ESETA1.15 | RHealth_1 | 0.002172 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | RHealth_2 | -0.0065 | 0.1 | 1 | +#> | ESETA1.15 | RHealth_2 | -0.008696 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | RHealth_3 | 0.004525 | 0.1 | 1 | +#> | ESETA1.15 | RHealth_3 | 0.004039 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | RHealth_4 | 0.006969 | 0.1 | 1 | +#> | ESETA1.15 | RHealth_4 | 0.007655 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | RHealth_5 | -0.011918 | 0.1 | 1 | +#> | ESETA1.15 | RHealth_5 | -0.011764 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | HomeOwnd_1 | -0.003678 | 0.1 | 1 | +#> | ESETA1.15 | HomeOwnd_1 | -0.004551 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | HomeOwnd_2 | 0.003725 | 0.1 | 1 | +#> | ESETA1.15 | HomeOwnd_2 | 0.003749 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | HomeOwnd_3 | 0.006049 | 0.1 | 1 | +#> | ESETA1.15 | HomeOwnd_3 | 0.004181 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | HomeOwnd_4 | 0.008359 | 0.1 | 1 | +#> | ESETA1.15 | HomeOwnd_4 | 0.010203 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | SWghtLB | -0.000996 | 0.1 | 1 | +#> | ESETA1.15 | SWghtLB | -0.000544 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | SurpPreg_1 | 0.008394 | 0.1 | 1 | +#> | ESETA1.15 | SurpPreg_1 | 0.00931 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | SmokTotl_1 | 0.010939 | 0.1 | 1 | +#> | ESETA1.15 | SmokTotl_1 | 0.010631 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | SmokTotl_2 | 0.009158 | 0.1 | 1 | +#> | ESETA1.15 | SmokTotl_2 | 0.008245 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | SmokTotl_3 | -0.005918 | 0.1 | 1 | +#> | ESETA1.15 | SmokTotl_3 | -0.005169 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | DrnkFreq_1 | 0.007173 | 0.1 | 1 | +#> | ESETA1.15 | DrnkFreq_1 | 0.009757 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | DrnkFreq_2 | -0.017437 | 0.1 | 1 | +#> | ESETA1.15 | DrnkFreq_2 | -0.01846 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | peri_health | -0.000413 | 0.1 | 1 | +#> | ESETA1.15 | peri_health | -0.001012 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | caregiv_health | 0.008989 | 0.1 | 1 | +#> | ESETA1.15 | caregiv_health | 0.009529 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | gov_assist | 0.015211 | 0.1 | 1 | +#> | ESETA1.15 | gov_assist | 0.014943 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | SAAmylase.6 | 0.010964 | 0.1 | 1 | +#> | ESETA1.15 | SAAmylase.6 | 0.009242 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | MDI.6 | 0.01114 | 0.1 | 1 | +#> | ESETA1.15 | MDI.6 | 0.010527 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | RHasSO.6_1 | 0.018068 | 0.1 | 1 | +#> | ESETA1.15 | RHasSO.6_1 | 0.02075 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | WndNbrhood.6 | -0.017711 | 0.1 | 1 | +#> | ESETA1.15 | WndNbrhood.6 | -0.016214 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | IBRAttn.6 | -0.002143 | 0.1 | 1 | +#> | ESETA1.15 | IBRAttn.6 | -0.003919 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | B18Raw.6 | 0.025159 | 0.1 | 1 | +#> | ESETA1.15 | B18Raw.6 | 0.027468 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | HOMEETA1.6 | -0.024603 | 0.1 | 1 | +#> | ESETA1.15 | HOMEETA1.6 | -0.023461 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | InRatioCor.6 | -0.047661 | 0.05 | 1 | +#> | ESETA1.15 | InRatioCor.6 | -0.050616 | 0.05 | 0 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | CORTB.6 | -0.005651 | 0.1 | 1 | +#> | ESETA1.15 | CORTB.6 | -0.005384 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | ESETA1.6 | 0.03469 | 0.1 | 1 | +#> | ESETA1.15 | ESETA1.6 | 0.034089 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> #> Table: Balance Stats for Exposure Time 2 Averaging Across Imputed Datasets @@ -2925,120 +3088,120 @@

Workflow: Continuous Exposure

#> #> - Weight ranges: #> -#> Min Max -#> all 0 |---------------------------| 3.528 +#> Min Max +#> all 0 |---------------------------| 3.5109 #> #> - Units with the 5 most extreme weights: -#> -#> 89 79 30 27 11 -#> all 3.528 3.528 3.528 3.528 3.528 +#> +#> 89 79 30 27 11 +#> all 3.5109 3.5109 3.5109 3.5109 3.5109 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros -#> all 0.896 0.687 0.372 0 +#> all 0.893 0.685 0.371 0 #> #> - Effective Sample Sizes: #> -#> Total -#> Unweighted 1292. -#> Weighted 717.08 +#> Total +#> Unweighted 1292. +#> Weighted 718.9 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> -#> Min Max -#> all 0 |---------------------------| 3.528 +#> Min Max +#> all 0 |---------------------------| 3.5109 #> #> - Units with the 5 most extreme weights: -#> -#> 89 79 30 27 11 -#> all 3.528 3.528 3.528 3.528 3.528 +#> +#> 89 79 30 27 11 +#> all 3.5109 3.5109 3.5109 3.5109 3.5109 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros -#> all 0.896 0.687 0.372 0 +#> all 0.893 0.685 0.371 0 #> #> - Effective Sample Sizes: #> -#> Total -#> Unweighted 1292. -#> Weighted 717.08 +#> Total +#> Unweighted 1292. +#> Weighted 718.9 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> -#> Min Max -#> all 0 |---------------------------| 3.528 +#> Min Max +#> all 0 |---------------------------| 3.5109 #> #> - Units with the 5 most extreme weights: -#> -#> 89 79 30 27 11 -#> all 3.528 3.528 3.528 3.528 3.528 +#> +#> 89 79 30 27 11 +#> all 3.5109 3.5109 3.5109 3.5109 3.5109 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros -#> all 0.896 0.687 0.372 0 +#> all 0.893 0.685 0.371 0 #> #> - Effective Sample Sizes: #> -#> Total -#> Unweighted 1292. -#> Weighted 717.08 +#> Total +#> Unweighted 1292. +#> Weighted 718.9 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> -#> Min Max -#> all 0 |---------------------------| 3.528 +#> Min Max +#> all 0 |---------------------------| 3.5109 #> #> - Units with the 5 most extreme weights: -#> -#> 89 79 30 27 11 -#> all 3.528 3.528 3.528 3.528 3.528 +#> +#> 89 79 30 27 11 +#> all 3.5109 3.5109 3.5109 3.5109 3.5109 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros -#> all 0.896 0.687 0.372 0 +#> all 0.893 0.685 0.371 0 #> #> - Effective Sample Sizes: #> -#> Total -#> Unweighted 1292. -#> Weighted 717.08 +#> Total +#> Unweighted 1292. +#> Weighted 718.9 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> -#> Min Max -#> all 0 |---------------------------| 3.528 +#> Min Max +#> all 0 |---------------------------| 3.5109 #> #> - Units with the 5 most extreme weights: -#> -#> 89 79 30 27 11 -#> all 3.528 3.528 3.528 3.528 3.528 +#> +#> 89 79 30 27 11 +#> all 3.5109 3.5109 3.5109 3.5109 3.5109 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros -#> all 0.896 0.687 0.372 0 +#> all 0.893 0.685 0.371 0 #> #> - Effective Sample Sizes: #> -#> Total -#> Unweighted 1292. -#> Weighted 717.08
+#> Total +#> Unweighted 1292. +#> Weighted 718.9

As shown above, the trimmed weights result in one imbalanced confounder in relation to exposure at 15 months and an effective sample size of 719.

Untrimmed @@ -3060,7 +3223,8 @@

Workflow: Continuous Exposure

 summary(final_balance_stats_untrim, 
         save.out = save.out)
-#> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 2 out of 241 (0.8%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.06 (max: 0.07):
+#> Averaging across imputed datasets using cbps weighting method.
+#> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 0 out of 241 (0.0%) covariates across time points remain imbalanced:
 #> +-----------+-----------------------+----------------------------+
 #> | Exposure  | Total # of covariates | # of imbalanced covariates |
 #> +===========+=======================+============================+
@@ -3070,7 +3234,7 @@ 

Workflow: Continuous Exposure

#> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ -#> | ESETA1.35 | 59 | 2 | +#> | ESETA1.35 | 59 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ @@ -3084,23 +3248,23 @@

Workflow: Continuous Exposure

#> - Weight ranges: #> #> Min Max -#> all 0 |---------------------------| 8.5138 +#> all 0 |---------------------------| 8.5407 #> #> - Units with the 5 most extreme weights: #> -#> 1246 1145 294 697 919 -#> all 7.4581 7.6788 7.9902 8.2032 8.5138 +#> 877 1145 697 294 919 +#> all 7.1323 7.3944 7.7172 8.5237 8.5407 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros -#> all 1.066 0.725 0.443 0 +#> all 1.056 0.722 0.439 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. -#> Weighted 605.04 +#> Weighted 611.17 #> #> Time 2 #> Summary of weights @@ -3108,23 +3272,23 @@

Workflow: Continuous Exposure

#> - Weight ranges: #> #> Min Max -#> all 0 |---------------------------| 8.5138 +#> all 0 |---------------------------| 8.5407 #> #> - Units with the 5 most extreme weights: #> -#> 1246 1145 294 697 919 -#> all 7.4581 7.6788 7.9902 8.2032 8.5138 +#> 877 1145 697 294 919 +#> all 7.1323 7.3944 7.7172 8.5237 8.5407 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros -#> all 1.066 0.725 0.443 0 +#> all 1.056 0.722 0.439 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. -#> Weighted 605.04 +#> Weighted 611.17 #> #> Time 3 #> Summary of weights @@ -3132,23 +3296,23 @@

Workflow: Continuous Exposure

#> - Weight ranges: #> #> Min Max -#> all 0 |---------------------------| 8.5138 +#> all 0 |---------------------------| 8.5407 #> #> - Units with the 5 most extreme weights: #> -#> 1246 1145 294 697 919 -#> all 7.4581 7.6788 7.9902 8.2032 8.5138 +#> 877 1145 697 294 919 +#> all 7.1323 7.3944 7.7172 8.5237 8.5407 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros -#> all 1.066 0.725 0.443 0 +#> all 1.056 0.722 0.439 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. -#> Weighted 605.04 +#> Weighted 611.17 #> #> Time 4 #> Summary of weights @@ -3156,23 +3320,23 @@

Workflow: Continuous Exposure

#> - Weight ranges: #> #> Min Max -#> all 0 |---------------------------| 8.5138 +#> all 0 |---------------------------| 8.5407 #> #> - Units with the 5 most extreme weights: #> -#> 1246 1145 294 697 919 -#> all 7.4581 7.6788 7.9902 8.2032 8.5138 +#> 877 1145 697 294 919 +#> all 7.1323 7.3944 7.7172 8.5237 8.5407 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros -#> all 1.066 0.725 0.443 0 +#> all 1.056 0.722 0.439 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. -#> Weighted 605.04 +#> Weighted 611.17 #> #> Time 5 #> Summary of weights @@ -3180,23 +3344,23 @@

Workflow: Continuous Exposure

#> - Weight ranges: #> #> Min Max -#> all 0 |---------------------------| 8.5138 +#> all 0 |---------------------------| 8.5407 #> #> - Units with the 5 most extreme weights: #> -#> 1246 1145 294 697 919 -#> all 7.4581 7.6788 7.9902 8.2032 8.5138 +#> 877 1145 697 294 919 +#> all 7.1323 7.3944 7.7172 8.5237 8.5407 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros -#> all 1.066 0.725 0.443 0 +#> all 1.056 0.722 0.439 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. -#> Weighted 605.04
+#> Weighted 611.17

We see that the non-trimmed weights result in no imbalanced confounders and an effective sample size of 611.

In this scenario, given that, for the trimmed weights, the imbalanced confounder (income at 6 months) is only related to exposure at -0.051 and the trimmed weights yield a higher effective sample size, we proceed with the trimmed weights.

@@ -3205,17 +3369,17 @@

Workflow: Continuous Exposure

 summary(final_balance_stats_trim, 
         save.out = save.out)
-#> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 2 out of 241 (0.8%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.06 (max: 0.06):
+#> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 1 out of 241 (0.4%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.05 (max: 0.05):
 #> +-----------+-----------------------+----------------------------+
 #> | Exposure  | Total # of covariates | # of imbalanced covariates |
 #> +===========+=======================+============================+
 #> | ESETA1.6  | 28                    | 0                          |
 #> +-----------+-----------------------+----------------------------+
-#> | ESETA1.15 | 38                    | 0                          |
+#> | ESETA1.15 | 38                    | 1                          |
 #> +-----------+-----------------------+----------------------------+
 #> | ESETA1.24 | 47                    | 0                          |
 #> +-----------+-----------------------+----------------------------+
-#> | ESETA1.35 | 59                    | 2                          |
+#> | ESETA1.35 | 59                    | 0                          |
 #> +-----------+-----------------------+----------------------------+
 #> | ESETA1.58 | 69                    | 0                          |
 #> +-----------+-----------------------+----------------------------+
@@ -3255,7 +3419,7 @@ 

Workflow: Continuous Exposure

summary(final_balance_stats.s1, save.out = save.out) -#> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 3 out of 241 (1.2%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.06 (max: 0.06): +#> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 1 out of 241 (0.4%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.06 (max: 0.06): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ @@ -3265,7 +3429,7 @@

Workflow: Continuous Exposure

#> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ -#> | ESETA1.35 | 59 | 2 | +#> | ESETA1.35 | 59 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ @@ -3279,81 +3443,81 @@

Workflow: Continuous Exposure

#> +-----------+----------------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +===========+================+===============+============+==========+ -#> | ESETA1.15 | state_1 | 0.02248 | 0.1 | 1 | +#> | ESETA1.15 | state_1 | 0.02175 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | BioDadInHH2_1 | -0.02024 | 0.1 | 1 | +#> | ESETA1.15 | BioDadInHH2_1 | -0.01857 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | PmAge2 | -0.01219 | 0.1 | 1 | +#> | ESETA1.15 | PmAge2 | -0.00978 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | PmBlac2_1 | 0.0244 | 0.1 | 1 | +#> | ESETA1.15 | PmBlac2_1 | 0.02279 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | TcBlac2_1 | 0.02265 | 0.1 | 1 | +#> | ESETA1.15 | TcBlac2_1 | 0.02269 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | PmMrSt2_1 | -0.00906 | 0.1 | 1 | +#> | ESETA1.15 | PmMrSt2_1 | -0.00654 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | PmEd2 | -0.04175 | 0.05 | 1 | +#> | ESETA1.15 | PmEd2 | -0.04287 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | KFASTScr | -0.02587 | 0.1 | 1 | +#> | ESETA1.15 | KFASTScr | -0.02611 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | RMomAgeU | -0.01202 | 0.1 | 1 | +#> | ESETA1.15 | RMomAgeU | -0.00973 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | RHealth_1 | -0.00346 | 0.1 | 1 | +#> | ESETA1.15 | RHealth_1 | -0.00117 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | RHealth_2 | -0.00661 | 0.1 | 1 | +#> | ESETA1.15 | RHealth_2 | -0.00813 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | RHealth_3 | 0.00912 | 0.1 | 1 | +#> | ESETA1.15 | RHealth_3 | 0.00942 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | RHealth_4 | 0.00351 | 0.1 | 1 | +#> | ESETA1.15 | RHealth_4 | 0.00349 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | RHealth_5 | -0.01245 | 0.1 | 1 | +#> | ESETA1.15 | RHealth_5 | -0.01243 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | HomeOwnd_1 | -0.00579 | 0.1 | 1 | +#> | ESETA1.15 | HomeOwnd_1 | -0.00602 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | HomeOwnd_2 | 0.00296 | 0.1 | 1 | +#> | ESETA1.15 | HomeOwnd_2 | 0.00153 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | HomeOwnd_3 | 0.00995 | 0.1 | 1 | +#> | ESETA1.15 | HomeOwnd_3 | 0.00942 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | HomeOwnd_4 | 0.00817 | 0.1 | 1 | +#> | ESETA1.15 | HomeOwnd_4 | 0.00997 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | SWghtLB | -0.00333 | 0.1 | 1 | +#> | ESETA1.15 | SWghtLB | -0.00312 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | SurpPreg_1 | 0.01431 | 0.1 | 1 | +#> | ESETA1.15 | SurpPreg_1 | 0.01335 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | SmokTotl_1 | 0.01323 | 0.1 | 1 | +#> | ESETA1.15 | SmokTotl_1 | 0.01352 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | SmokTotl_2 | 0.0114 | 0.1 | 1 | +#> | ESETA1.15 | SmokTotl_2 | 0.01077 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | SmokTotl_3 | -0.00775 | 0.1 | 1 | +#> | ESETA1.15 | SmokTotl_3 | -0.00753 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | DrnkFreq_1 | 0.0125 | 0.1 | 1 | +#> | ESETA1.15 | DrnkFreq_1 | 0.01492 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | DrnkFreq_2 | -0.02183 | 0.1 | 1 | +#> | ESETA1.15 | DrnkFreq_2 | -0.02308 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | peri_health | -0.00145 | 0.1 | 1 | +#> | ESETA1.15 | peri_health | -0.00114 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | caregiv_health | 0.01119 | 0.1 | 1 | +#> | ESETA1.15 | caregiv_health | 0.01331 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | gov_assist | 0.01836 | 0.1 | 1 | +#> | ESETA1.15 | gov_assist | 0.01817 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | SAAmylase.6 | 0.01106 | 0.1 | 1 | +#> | ESETA1.15 | SAAmylase.6 | 0.01058 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | MDI.6 | 0.016 | 0.1 | 1 | +#> | ESETA1.15 | MDI.6 | 0.01466 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | RHasSO.6_1 | 0.0208 | 0.1 | 1 | +#> | ESETA1.15 | RHasSO.6_1 | 0.02011 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | WndNbrhood.6 | -0.02262 | 0.1 | 1 | +#> | ESETA1.15 | WndNbrhood.6 | -0.02011 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | IBRAttn.6 | -0.0034 | 0.1 | 1 | +#> | ESETA1.15 | IBRAttn.6 | -0.00386 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | B18Raw.6 | 0.02608 | 0.1 | 1 | +#> | ESETA1.15 | B18Raw.6 | 0.0289 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | HOMEETA1.6 | -0.02883 | 0.1 | 1 | +#> | ESETA1.15 | HOMEETA1.6 | -0.02621 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | InRatioCor.6 | -0.06024 | 0.05 | 0 | +#> | ESETA1.15 | InRatioCor.6 | -0.06194 | 0.05 | 0 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | CORTB.6 | -0.00713 | 0.1 | 1 | +#> | ESETA1.15 | CORTB.6 | -0.00842 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ -#> | ESETA1.15 | ESETA1.6 | 0.0427 | 0.1 | 1 | +#> | ESETA1.15 | ESETA1.6 | 0.04248 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> #> Table: Balance Stats for Exposure Time 2 Averaging Across Imputed Datasets
@@ -3374,7 +3538,8 @@

Workflow: Continuous Exposure

summary(final_balance_stats.s2, save.out = save.out) -#> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 2 out of 241 (0.8%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.06 (max: 0.06): +#> Averaging across imputed datasets using cbps weighting method. +#> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 0 out of 241 (0.0%) covariates across time points remain imbalanced: #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ @@ -3384,7 +3549,7 @@

Workflow: Continuous Exposure

#> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ -#> | ESETA1.35 | 59 | 2 | +#> | ESETA1.35 | 59 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ @@ -3457,7 +3622,7 @@

Workflow: Continuous Exposure

#> Please inspect the Wald test to determine if the exposures collectively predict significant variation in the outcome compared to a model without exposure terms. #> We strongly suggest only conducting history comparisons if the test is significant. #> test statistic df1 df2 dfcom p.value riv -#> 1 ~~ 2 -1.181783 3 0.4300163 NA 1 2.021014 +#> 1 ~~ 2 -1.295578 3 0.4041257 NA 1 2.226662 #> #> #> The marginal model, m0, pooled across imputed datasets is summarized below: @@ -3466,13 +3631,13 @@

Workflow: Continuous Exposure

#> +--------------------+-------+-----------------+--------+ #> | | Est. | CI | p | #> +====================+=======+=================+========+ -#> | (Intercept) | 0.483 | [0.452, 0.513] | <0.001 | +#> | (Intercept) | 0.482 | [0.448, 0.516] | <0.001 | #> +--------------------+-------+-----------------+--------+ -#> | ESETA1.Childhood | 0.028 | [-0.112, 0.169] | 0.442 | +#> | ESETA1.Childhood | 0.029 | [-0.104, 0.163] | 0.418 | #> +--------------------+-------+-----------------+--------+ -#> | ESETA1.Infancy | 0.003 | [-0.042, 0.048] | 0.891 | +#> | ESETA1.Infancy | 0.004 | [-0.036, 0.044] | 0.845 | #> +--------------------+-------+-----------------+--------+ -#> | ESETA1.Toddlerhood | 0.012 | [-0.054, 0.079] | 0.650 | +#> | ESETA1.Toddlerhood | 0.011 | [-0.047, 0.069] | 0.670 | #> +--------------------+-------+-----------------+--------+ #> | Num.Obs. | 1292 | | | #> +--------------------+-------+-----------------+--------+ @@ -3501,8 +3666,8 @@

Workflow: Continuous Exposure

save.out = save.out) #> Please inspect the Wald test to determine if the exposures collectively predict significant variation in the outcome compared to a model without exposure terms. #> We strongly suggest only conducting history comparisons if the test is significant. -#> test statistic df1 df2 dfcom p.value riv -#> 1 ~~ 2 -0.42805 3 0.6223825 NA 1 1.252613 +#> test statistic df1 df2 dfcom p.value riv +#> 1 ~~ 2 -0.3020476 3 0.6594817 NA 1 1.174877 #> #> #> The marginal model, m0, pooled across imputed datasets is summarized below: @@ -3511,13 +3676,13 @@

Workflow: Continuous Exposure

#> +--------------------+-------+-----------------+--------+ #> | | Est. | CI | p | #> +====================+=======+=================+========+ -#> | (Intercept) | 0.481 | [0.450, 0.513] | <0.001 | +#> | (Intercept) | 0.481 | [0.448, 0.514] | <0.001 | #> +--------------------+-------+-----------------+--------+ -#> | ESETA1.Childhood | 0.028 | [-0.085, 0.141] | 0.400 | +#> | ESETA1.Childhood | 0.029 | [-0.072, 0.130] | 0.357 | #> +--------------------+-------+-----------------+--------+ -#> | ESETA1.Infancy | 0.006 | [-0.040, 0.051] | 0.784 | +#> | ESETA1.Infancy | 0.006 | [-0.039, 0.051] | 0.782 | #> +--------------------+-------+-----------------+--------+ -#> | ESETA1.Toddlerhood | 0.015 | [-0.061, 0.091] | 0.601 | +#> | ESETA1.Toddlerhood | 0.014 | [-0.064, 0.092] | 0.628 | #> +--------------------+-------+-----------------+--------+ #> | Num.Obs. | 1292 | | | #> +--------------------+-------+-----------------+--------+ @@ -3543,26 +3708,26 @@

Workflow: Continuous Exposure

save.out = save.out) #> Please inspect the Wald test to determine if the exposures collectively predict significant variation in the outcome compared to a model without exposure terms. #> We strongly suggest only conducting history comparisons if the test is significant. -#> test statistic df1 df2 dfcom p.value riv -#> 1 ~~ 2 -1.653469 3 0.3504546 NA 1 2.86164 +#> test statistic df1 df2 dfcom p.value riv +#> 1 ~~ 2 -1.758818 3 0.3310847 NA 1 3.208959 #> #> #> The marginal model, m0, pooled across imputed datasets is summarized below: -#> +--------------------+--------+-----------------+--------+ -#> | | (1) | -#> +--------------------+--------+-----------------+--------+ -#> | | Est. | CI | p | -#> +====================+========+=================+========+ -#> | (Intercept) | 0.485 | [0.454, 0.515] | <0.001 | -#> +--------------------+--------+-----------------+--------+ -#> | ESETA1.Childhood | 0.029 | [-0.150, 0.209] | 0.487 | -#> +--------------------+--------+-----------------+--------+ -#> | ESETA1.Infancy | -0.002 | [-0.055, 0.052] | 0.934 | -#> +--------------------+--------+-----------------+--------+ -#> | ESETA1.Toddlerhood | 0.009 | [-0.061, 0.080] | 0.748 | -#> +--------------------+--------+-----------------+--------+ -#> | Num.Obs. | 1292 | | | -#> +--------------------+--------+-----------------+--------+ +#> +--------------------+-------+-----------------+--------+ +#> | | (1) | +#> +--------------------+-------+-----------------+--------+ +#> | | Est. | CI | p | +#> +====================+=======+=================+========+ +#> | (Intercept) | 0.483 | [0.448, 0.518] | <0.001 | +#> +--------------------+-------+-----------------+--------+ +#> | ESETA1.Childhood | 0.030 | [-0.142, 0.202] | 0.466 | +#> +--------------------+-------+-----------------+--------+ +#> | ESETA1.Infancy | 0.000 | [-0.045, 0.044] | 0.982 | +#> +--------------------+-------+-----------------+--------+ +#> | ESETA1.Toddlerhood | 0.007 | [-0.053, 0.067] | 0.778 | +#> +--------------------+-------+-----------------+--------+ +#> | Num.Obs. | 1292 | | | +#> +--------------------+-------+-----------------+--------+

With a comparable result.


@@ -3643,7 +3808,7 @@

Workflow: Continuous Exposure

#> +=======+==========+===========+==========+===========+ #> | l-l-l | 0.47 | 0.014 | 0.44 | 0.49 | #> +-------+----------+-----------+----------+-----------+ -#> | h-h-h | 0.5 | 0.019 | 0.43 | 0.57 | +#> | h-h-h | 0.5 | 0.02 | 0.42 | 0.57 | #> +-------+----------+-----------+----------+-----------+ #> #> Conducting multiple comparison correction for all pairings between comparison histories and each refernece history using the BH method. @@ -3652,7 +3817,7 @@

Workflow: Continuous Exposure

#> +-------------------+------------+------------+-----------+-------------+------------+--------------+ #> | term | estimate | std.error | p.value | conf.low | conf.high | p.value_corr | #> +===================+============+============+===========+=============+============+==============+ -#> | (h-h-h) - (l-l-l) | 0.02991272 | 0.01979075 | 0.2172254 | -0.02903923 | 0.08886468 | 0.2172254 | +#> | (h-h-h) - (l-l-l) | 0.03035383 | 0.01948627 | 0.1991802 | -0.02526992 | 0.08597759 | 0.1991802 | #> +-------------------+------------+------------+-----------+-------------+------------+--------------+

We first confirm the distribution of our sample across our exposure histories is reasonable.

@@ -3661,10 +3826,10 @@

Workflow: Continuous Exposure

 summary(results, 
         save.out = save.out)
-#>                term   estimate  std.error statistic      df   p.value
-#> 1 (h-h-h) - (l-l-l) 0.02991272 0.01979075  1.511449 3.40476 0.2172254
+#>                term   estimate  std.error statistic       df   p.value
+#> 1 (h-h-h) - (l-l-l) 0.03035383 0.01948627  1.557704 3.739199 0.1991802
 #>      conf.low  conf.high  dose p.value_corr
-#> 1 -0.02903923 0.08886468 3 - 0    0.2172254
+#> 1 -0.02526992 0.08597759 3 - 0 0.1991802

We then inspect the history comparison and conclude that there is no evidence that children who experienced different histories of exposure to economic strain over infancy, toddlerhood, and early childhood differ in their behavioral problems in early childhood.

Lastly, we plot the results. The user has the option to supply save.out to save plot output to the home directory.

@@ -3697,10 +3862,10 @@

Workflow: Continuous Exposure

save.out = save.out) summary(results.s1, save.out = save.out) -#> term estimate std.error statistic df p.value -#> 1 (h-h-h) - (l-l-l) 0.03275407 0.01735569 1.887224 5.210738 0.1154298 -#> conf.low conf.high dose p.value_corr -#> 1 -0.01132286 0.07683101 3 - 0 0.1154298 +#> term estimate std.error statistic df p.value +#> 1 (h-h-h) - (l-l-l) 0.03327812 0.01659957 2.004757 6.875701 0.08575804 +#> conf.low conf.high dose p.value_corr +#> 1 -0.006117941 0.07267418 3 - 0 0.08575804

As shown above, results indicate a marginal but non-significant contrast between “l-l-l” and “h-h-h” histories of economic strain exposure in relation to behavior problems in early childhood.


@@ -3718,10 +3883,10 @@

Workflow: Continuous Exposure

save.out = save.out) summary(results.s2, save.out = save.out) -#> term estimate std.error statistic df p.value -#> 1 (h-h-h) - (l-l-l) 0.02588619 0.0234072 1.105907 2.462813 0.3649947 +#> term estimate std.error statistic df p.value +#> 1 (h-h-h) - (l-l-l) 0.0264079 0.02274075 1.161259 2.655186 0.339228 #> conf.low conf.high dose p.value_corr -#> 1 -0.05869734 0.1104697 3 - 0 0.3649947 +#> 1 -0.05158198 0.1043978 3 - 0 0.339228

Similarly, we find no evidence for differences in behavioral problems as function of history of exposure to economic strain.



@@ -3729,13 +3894,13 @@

Workflow: Continuous Exposure

References

-

Arel-Bundock, V. 2023. marginaleffects: Predictions, Comparisons, Slopes, Marginal Means,and Hypothesis Tests. https://CRAN.R-project.org/package=marginaleffects.

+

Arel-Bundock, V. 2024. marginaleffects: Predictions, Comparisons, Slopes, Marginal Means,and Hypothesis Tests. https://CRAN.R-project.org/package=marginaleffects.

Burchinal, M., Howes, C., Pianta, R., Bryant, D., Early, D., Clifford, R., & Barbarin, O. (2008). Predicting Child Outcomes at the End of Kindergarten from the Quality of Pre-Kindergarten Teacher–Child Interactions and Instruction. Applied Developmental Science, 12(3), 140–153. https://doi.org/10.1080/10888690802199418

Cole, S. R., & Hernán, M. A. (2008). Constructing Inverse Probability Weights for Marginal Structural Models. American Journal of Epidemiology, 168(6), 656–664. https://doi.org/10.1093/aje/kwn164.

-

Greifer, Noah. 2023.WeightIt: Weighting for Covariate Balance in Observational Studies. https://CRAN.R-project.org/package=WeightIt.

-

Lumley, Thomas. 2023. “survey: Analysis of Complex Survey Samples.”

+

Greifer N (2024). cobalt: Covariate Balance Tables and Plots. R package version 4.5.2, https://github.com/ngreifer/cobalt, https://ngreifer.github.io/cobalt/

+

Greifer N (2024). WeightIt: Weighting for Covariate Balance in Observational Studies. https://ngreifer.github.io/WeightIt/, https://github.com/ngreifer/WeightIt

Polley, Eric, Erin LeDell, Chris Kennedy, and Mark van der Laan. 2023. SuperLearner: SuperLearner Prediction. https://CRAN.R-project.org/package=SuperLearner.

-

R Core Team (2013). R: A language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria. ISBN 3-900051-07-0, URLhttp://www.R-project.org/.

+

R Core Team (2024). R: A language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria. ISBN 3-900051-07-0, URLhttp://www.R-project.org/.

Stuart, E. A. (2010). Matching methods for causal inference: A review and a look forward. Statistical Science: A Review Journal of the Institute of Mathematical Statistics, 25(1), 1–21. https://doi.org/10.1214/09-STS313.

Thoemmes, F., & Ong, A. D. (2016). A Primer on Inverse Probability of Treatment Weighting and Marginal Structural Models. https://doi.org/10.1177/2167696815621645.

Vernon-Feagans, L., Cox, M., Willoughby, M., Burchinal, M., Garrett-Peters, P., Mills-Koonce, R., Garrett-Peiers, P., Conger, R. D., & Bauer, P. J. (2013). The Family Life Project: An Epidemiological and Developmental Study of Young Children Living in Poor Rural Communities. Monographs of the Society for Research in Child Development, 78(5), i–150.

diff --git a/articles/Workflow_Continuous_Exposure_files/figure-html/unnamed-chunk-31-1.png b/articles/Workflow_Continuous_Exposure_files/figure-html/unnamed-chunk-31-1.png index 8b5fc43e5ede50cef80b5ebd294c73114d57d3e5..c8fc5320e9603fe3700a1736bde76c98a661dbf9 100644 GIT binary patch literal 15854 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 literal 14983 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 BAu<2} diff --git a/articles/Workflow_Continuous_Exposure_files/figure-html/unnamed-chunk-33-1.png b/articles/Workflow_Continuous_Exposure_files/figure-html/unnamed-chunk-33-1.png new file mode 100644 index 0000000000000000000000000000000000000000..b5cbddd84c30ead7d6239ffc8b759bcfe186e495 GIT binary patch literal 13647 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 literal 0 HcmV?d00001 diff --git a/articles/Workflow_Continuous_Exposure_files/figure-html/unnamed-chunk-34-1.png b/articles/Workflow_Continuous_Exposure_files/figure-html/unnamed-chunk-34-1.png index 8db172413af4005a7373464f52764715751edcc9..712b43a70a5db08013b37f006e3c4f20b77f1a0c 100644 GIT binary patch literal 12896 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 literal 12628 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 H`Og0VKJ#i) diff --git a/articles/Workflow_Continuous_Exposure_files/figure-html/unnamed-chunk-35-1.png b/articles/Workflow_Continuous_Exposure_files/figure-html/unnamed-chunk-35-1.png index cace8ba039d0283a16b380cbb869a9cbaba26b75..7e7cd40446cafe2c9da00543590784bffdcd8c46 100644 GIT binary patch delta 9579 zcma)i2~?74`}d%ktvWMhYNm`enY)!+Za|q?=2oVe8!Z|xDLJCJKg=}djHYH#ZlRQ+ zrJ?1%gtV!pDY&PIlndg5D}sXHAN8I0eZT+tzH>g#;qdU>_kG>hb^U(VazDUA3?p9o zNQ1Uv;nK=`!sl)D72N(x>U;WXTgmg;x`z3y*ktKI+oqg$a&diZgxy-@&&2_75mn0y zc^G~5uxW)C0J%z6_7sy^jNL+T>IP>gc6RiXa6c78xWzYf#vez-7}uY|bD@NUa7Q@S za*M~-F?k|Cz7P9&i;~Vk0*-wHMh$VW;?+CddZ36337R>CjP80!G}WZ!SCp!4WB;X+ z6m`-LT7qS6`9*Kxk6fr=_Zf2j7AcR{4ldD=UT$v!@2L~w)K+$EMcq?b5ty8VX&qCS z8i-u>!|KW?@4+vQvhuRF;I3($fvH?B&F$>7#k$KF0p_ zWx=p>z`FPNt0zs~Yh_(71;IvP-;w5h?P0$;jGU)B1f+~lhuQQG$=5b2nxkKcAj`Cy(u-|1Me>iZF$P}CM2K@F}s3=Z&lRjJ0EaIF;DE@KpCH| zo47oWTFapbr_xy`%$TVswrotuDc@Wnpfssc=EaNuh_%q}H08WWjL-6h9{!+RRq z_d)$hzu8C&5|##%3-#T5JuVLB5B2$+7_<6-j%Vwg*~b2+j+?n)xECIGN*GNSIgJN}k} zMz?-t9O|%G_%2&^t58;kTZX7cE+ieUrc}heg&rRcz2XSVcyq%JfvzHBugNL`g)DwA zCnAc+ja|t~X`)iaD4(z8RIyinROy@O9Ha25%d2Ik1ZuQRC?(1x^oaXN8B05n$%yXj zB-`TM21oxk2-dh>+FQ98)19u>7CAwW&>p(6wDLp05KV`&wm%j?52zntmE~FtDc~@%(;i z3ft*iKs9tUqk1-LEzlrl=iTyD@Ne`m3{FjyG)O@2oW$9lzkPNofq8!bZU;dhG; zQo3%%M2X!;n=X$RFZZ#i3o+feikSI*(?JU{%W~Ecx4Qw8Z z5f9oXC&=H*0XkhMc=_RmLkqd0#a9>5V@?(Zy86g~lCgp73qq}6uKS9%xphN$3Xb%d1o@24Q}=?-C=NS=T6T&Yp*&u_WAY$z!j3s8iW|WYyS~q_sXqN#YGO> z5Y_DsK084hURcE~Y>g|(v@{`Br@l&Rzc23;KC}DoJ0;Dc`l{mwIJf<0ii4EGJv42Xp6|AWW zmFSo3B1jxwpy3)i^uIZ3#f4*wcW48S9Gf5_%06gPNHV>IQ_UEA+#zo{8^sJ*n|nWe z`1zT`h4t1Oy9=g!TR(B&T=&Yn}hx0kjvh8Mden_WHlG$tp^Wx$X9yj~56x~>yJJx8}H zbBq2BvP9!n40s=UdHw3A`tW#ECk)2yzQTL?1f-{YE{*r;y!`nINB&kWoA(s)jGIS# z!IayAVuxO7SLV!5q)XK;{G)5#7@=@Z9+|^L@EQo?uAGw~tC!^!M+j(iX`SQLP|Ycj z)vrYBI#bJPKqNN8Bq>cq^CfOCsI4g;xjo0=6fpgd%EtjlK} za!n9N(%H3xy*4p;>leb*u9s6QS|ZOIGScRzL?;w-8Lk!V;>F@WH#Bd(%gDDwUf><< ze5HQxN1C$qtO5|fc4l9R*t(%-+9^{c5Ca5Ch>Yx(vN;eN=2}>!n6} z2xX{B*=7CxGmSY;S!}e(sYjaDBHnE!3B_E|tR_ps=|y~w#2;B${oPszO`gS1q^swv z-FC5~`Zqj6xr`iXyPOtrZel#;C$|o@g;q~&)b3wo8L9(!7_3SxVYjjdzojxs_+e{f zsU)XG%uY*#ywO*^4MNB@^cZvwj)Xbr}m$>q?E)x>@Na+CyqSbxFMY@Gh*X+yP*`aP)WP*r&z#Sj5Qie;9K?s?KwYp+g4g zSqiW~ZhB`)%9w1$IFc|`$n9z()YDZ1o?+Am;}1D^jnhk4Q`f1|sF}A7taPehZMWEy zDQLr+n-T9Ml5YNqQOkusi}v>zDD2oZ(iXLcr?W4k-5UQyEDjam+Ikup*PaS9ON zk})Z=nm^?M{;aj?{}B^!Ld-z%hiN!DU42`!?Zcs`zY;zqI#=1=@d*}(+qujHii1Nk zW&&p@!1ufK#MC-lpSLSef3ghsh8CXx9hZbI$S9R)h^@~P+%kf^KKSo&YyB!^&aJr@ ze};0O`6_IOzLFL}2dJ~yf;+zF5Fu^)aVIth85pwm6rmMYxA?*MqTs`hE!;7@-%3|S z-`DvX@f zM%v`Rc`JVMA6(U?qSt0#ECxqN^45rKt~TJ4+sW-cM04=id1jmc)CcX9CL5Q5JY-g1 z6zXeD;8JcqUE@wjf255#^V!nCLYbwJiYfH@34vA7^uEI&Rmh)ZR)I57!VyBoXiR*- zvCyk(X}s}k`$}^Qm{zE6vQJJYFW}BFH6g9!VU<_@;t$2Q6!7X4OM~DkTSQ@pbRF>d ztOR=HsQzopp6k$Gp!$pdTn*<`imsD>$E2>Hs<%sOG7N@<#Fcl8biIX&RzOiEYY6A0 zThG-ZL8r#}2@|B*NeK=vslp&JYVqspP*vFCSfb&gO&fp8t1N!9w!X5jv({E*M9~RZ zD~=tOFFj`kPE{LIbB#y_9$@6a63SLW7UNKAHT6zjq{YvVp)Yef!;(!Qkl)%p@X&#j zy)>6(IyKO-p(@j|;n=XG2#fo>V*zomza_UrtBanXtWF@^a6SG&4WFK&`smnJNe)(C zy65w7ZEmsgqcm8zf$N)b5_;gnM93cJ7Va^EQ(!!Gm_og<<<9YllZ?D*N`o8)ZchqnX z>5$j5xIF@}&_^4bjqcaSsj)gwV3c^9IBjxod# z+5?PQ_ym^T2ZWAWGoY~-5ekU5nL$Qf5TG1cyEYg;&=>vwf;9X`vq`JKWxWWFYeihU=q zRI^S7rbR}=>YIyvf0f>P2D19@c-#Vkc)vk3__wCX2jiAb-9U@Cw6M8x@%|WI#lFid0?8 zAiB}D^$|dF4WLOf@~$3jbbzqu(RKuGE9zYv*3#!=%M*p;Kn?3hkT4{-1Q%w)fCs|{hXxY(;c<*Bd@PyA?2SXQ!2frs%Ss3 zi7>^C>Mi`+iOCPz!yB81s4BXfVNWUc@Zro^y(k1!eTf|M)eB`xEr?WuL; zp{?ruFH)WudQ0u-w$>#uEr#2!93d$B+M49$8?-nE0!AgRJT0}5A(NP1RqLBuw`n@d zzsBU2&o&6#17*24`m1v?`ut?~Dp(QC%8v?J_p?Cjl2(xfVU=|BFo?9Dai0UX41fTlFFj7lLd6#2f4C?F5%1?M6^(`1rlB_%B2O|HLrd!%MIL%@WD)g&c z12=a7mM?Ct4yk4=I^%0CCTZa30-i zF82koRtB%?`zfsKPB#3lk$=H?364r(Fl5_SnTk+;)?!2+h5fEKd~4e_)VjwT($%mh zRi9#=Rk8o;{WBo3FVD$rv@H=Ig$QCj31d;MCRd4v4OQ21kO7Hi`}=2PzqAjR9Ci)VTz`n@ZgOp_;?B=*@bP)gKc#MQJA*--!d8EsGoC#YcQ&#%rvojQL zg8hx;sM*Luq;9*T(s9GL$!8^Kni2TE{dd~_hTaTQ3p$V?dTthWf%l^6+Xm4;WJ>Ix z3%N3d%{IM>)Eg4?N4cDERB>^Pkmf1T(yyZ^yPoiMjvRAjvffGG6c*xtq(&kO6aC3 z??34s>oD-9(?Q}#d7U3=fK!(aJlhlk7jh<^`3G%=jmE^Zk;RcFyPT$p+7Na zuY~+}Ww=hwqZiF@zMW^jjKE5$_F>2B?ux*5&P8d-Ln05DYDq#N@{kpb_7_MbS_4Eg z7`u&ok|WPr`~V^2`{rKGLrp4$M?f-4-cc&!#ENEgd|ce+%}rXQ>*BJl;x{(5lNNlf zKus(MZ>YYTEzU}AcnzOK2m*p#*sAQUzSuj^zT1)GiW8CdEYsRY(-cw$Ll z3I=)umVoTFckPPD|7F=Tt!ar44J}RUZRw*{%t@FUiplWw|VM?G49# zbB)CO0+QLLjT~uI%@e-u>I}@QDc*EoYuxQx-;;Lmm#7VQEac&#yn%|DL#`X%2Hby# zBIAvT#YKbbdcKkZk&hFhmuoj%DhX^ld3OF9E*CzbAtMQq1&q(v@OLi^&IX*^ z^oiSO3Ri{Uy*WB2i{hAyUk_{mI0hn&5l& z*>L8W9c=A`En4~S>N;5Ckr`INv7F*sRn-HU)bE;9xN;`jk< zCpP58hH({68C?Ss!T}qMV`q~= zq6ekr(wZ04Xu(zqvhKO*KBu$A*mf?ppzy<{lbzLQ(2_h8%f%7ZR zGXmr@TrWLzmJF}+frNTgZki*|9B-tDLt1LR8^Nc4b|z??5g$*dQo{Q5s=hAa^A`OM z{s0hT@v0keN_u5mY79LisnxXI3LVh6DPkMjfllPkUms4;BCoRkF&}kqh`K~ID1emt z*-=Y*YY!#)LQN7$XY6dN;c@WjQ+9|=4oR40;Dl7l>?flOq&AtChugRN%j1k(w+*ZS z36zdbigI7Pa5pz8CRyT1%-?!5)zQ;!gL9G_i(Li4v^{fSv;z3YtI=bV0m8LF2Qh!K z^PbMX;`6=A1T_0%bZ`95H0U>*m5+#`&A9EfHKV+W8lRf(UGx2yVXMc}6CI-%YF&i| zZ4qXIQdi`91Su`iGu7g5Tbis#se~<9b$uo5ZSB*NmSg+><(dJ(Yoh4WSJ3||p_hK9#qgPHbP`6t#W6ttN+u8&_UX$H>mmFAlZ*47 zXOb{#c)bw)|LQ56ZD5p~xPlHj_M7QR*3-uRKh!tN%nqsO*1g8XM$YQ0UFp(I==6OzVJfWgiU|p z{yT`Rkw0yJo_I`_nSN($dwrAJSB$v2=gd4vQj@E8xD{a%X50Nt8DzyWfgGv1z^M3UIduRkup(VCwLHW-YGvs_U*ITC` z*zCW1*NRK)MD3FRts0IPd1PJoj%lvDJ_!LUUGGU_HhNNW@_L?}-^G49jbn|ypUxpC zPwkXcb~ z>|AeH1CJ73+5tJ2stWK$9v%B#Ntzt5{%j3GO0h>rYmvu==xD#7qV`icG|+7w}V~&^rt-Avpx;RqZ$iL%`=tMl7k+Y5Iua!{)CSh zAU{x0t>-&hsQR>Jr{Z&5E1srZs>r>OW>s0FfOqam0<`Hw^bE@0CdfQO-0n(xQD(^h zT;ztDZr1Uj&cs}*cskfu{MTUQR_@$%HfwD7mh;g&1_wd*MJhZfV}rEZ?*3-7HuZP%x{W z1qB=GA6&ieSWsg-m5)7Id2r= zpEo~>Tw!2ygm^H&9X>G2$h2>O@_TvRggdkL_v&*TN}ihyO|3_inauzYHp(R{$I=2r6Is@Abxy9#?xt#DCbB z!X+_)XeNE!D(kd4NEJ1Q|J!xAOuDR=si$#ZRs7-tOrBa2;G?fE*8N!2v3*0yms0$A z%T_UQ>1x-z*}VNS+?r|Iw$|h_rzMHW>5ed2)mX&!RmSE4u>!cmgc|RVB%6&R4{==) zU*?Pu79-anK}K!!sCaL4Qcu75{6caJKXVaALHjMRH!W&n940%_R5!Fy*;$6oFnOf= z#c`IOYJX6I8e|gJSx zPK=)b$C@4C(&o$SKu-1Ea)zm{HoS0!f!q#buW4%n8fD-@?)!G`jFu`RYv?Eux|=-X zt%dh2ORDU$Z3-BN!LmN7`5bZx21;pVOIxoC>T$V{={g-H8dNl`*fVnon~6F8MAEl{ zs|wF90h)xi%kX~GVhVOG&^z4%SV}PaLeFt+qehY3p=ezL$St#UkUt4v$ z_lHC2IY)&#hapb9Agz7J_R0%ie>OseYRY{%9kvnzA$IiwZ&7_X|y=F`F3H22UG z>A;NTaS~;^3D>S$uy&Ye(>S(vYpCTrE^S{J9ut4PlJy<|6z-wzNelE27C6O7NB0Xz zpScZ?lzaPsbk?W>6H&KASN^E5&42CCk~Gn;#kdb2Oh0nF6c7#kG*#u}9|*{DhjAuQ z)_ZKkSwnLWL&Iw7Wh({G^rsIuaSG?ELmu}=Qz_mHuiGvP(!}>R#U}QhrG7S;$$kLo z@_(aaHJ=`Pv#a9Dd_KDHg`#4HX>dkwP3<09bHrKtni)KDt@z>*LO`D|xtNoFasEyO zOp(YX4=?b$Ize$tz`mtl2==$@3wmaPj2dz~kt!+3XWaZVBP<-R4Y=J^!4>zqHsp26 zT7X2+<3Eid3sF*a1IBGKiq%6G2jtlGT@}sQ$!S^W;Ucx4E7c{Uju?Tp)iSF-70%+b zA>IC~o_2X{2#D2OXnSy%J|5HV_ppT761?LB^O7ZmOQXK-oeT4jhQajVtClE84-78*q@J4=rWkx?H^sCO51Io=N9{3@# zIoEzf?oEmoFf8V<-m6@eEX*OAR_=pmbdJ0AyFXV3`MswfCK@d@^l}{<;dE&vfO2(v8O@e&gC>* z0Y#Y1G&2RBu1z-I4f)CKoD%YSu20T@x4Bxh0yEqN?_V&58=8xsoY&&v=0 QLGn6h<9NE{)YU)!2Ov?YzyJUM delta 9979 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 J`Q_UE{{hsd4gLTC diff --git a/articles/Workflow_Continuous_Exposure_files/figure-html/unnamed-chunk-38-1.png b/articles/Workflow_Continuous_Exposure_files/figure-html/unnamed-chunk-38-1.png index 69a78fa401a94a691d325fcab6f90a5d339cecf6..05880f8da8f49d15cae60d35d9634b8bd6e4a50e 100644 GIT binary patch literal 177289 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¬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�<1=7YdI zr24ey_)8RmF6R2S$7(l#Mf9Ja9;+DimRiJr|9(d~#zNw>oF4+QF6y%W5a#=-^Ydt) zxW(;%dL`|qxnybt>b>aql)3!vKAFDq(5w(e03R|!BMh>sgNKS&k7;%!g?jZpdr5Dc zH^qf?>ywxB)G@t<5Xf5U83wkWurOPUSG#L7_^rh%wmRI*@tu4IS7S~&8-q18G;qge z+bm2}FgD;qc+;N=?m0TS`D_}VS=j!LM0g%_0+EB|wMQ>_ZUB1kPMvg^;hUJq2G7NB z$uizf(WC2*&U^n34ZTaJMN-8d|3pZL$Vy6G(6Yq)8P2~FlR1SfX=>ok%(|C6Hj*Xt zeb^jSJAo}Ww9?QSo<2?BpELV^?;+n)+Fae=sGZ0=eDVZ3%v08I)iuwmSS$GO@sXcc zS9fAp3{!NBqo^kBFYO&fRRLR{u7W7d=obbN`#{!zP1DBD2jL@uIJJH;fvJJkoKf=q0#N7YiwD+cf&0cG!A{`qAI>A>;C%TN}?W zB$OIhr3jD?v1{RnV8CrfP01hE)z|lOS)bRtHYR*=zgSOjrk9VN>@a@Riu*327JolK zwohFjB>l1zW2DT*y`x0ApXM8JoyGJ zs)iR|N00%!xpVtA#lgYSDISIiD@3orxtRS0rBl(07CTi`4MbbsxyVDNwuhY$jD#%W zX}J{ywKHeh2}I_hfip43$yF0rwmy+9u#hjwBLrh{s=tQH_-Yp?tmX zPxzNmV$zs6cE}JL5+85_C#{!ywFpjM?adOg0V}hPgZqeOqgYNfos;c-ZQ+t7`3cUW zz793}c_1;WZiDeOpytP(w>run2Xw+{zmwiy1Cip3V_-(|3=2cF9ZrXZ-x zGS3-9%+v)wqy4uR^VU!lK?!5d|R9O z$;e~n)zvsBV-V3^V7N3uZSOo4CeQKb@$S{NDHGLIdWGbu4yqNZ-egXRL#5Xn_NA&oM>^Q@QYfPI9e?WD9_}m-a zE|v0H7!UPUTlP9rJ1;la52FP9!?4z-U&M3Y{q8SlZ5$n(1Vv_vDDoUH-@X#O>7JLW zsUAZ21~d09Y7&zv=Nz9red=|6ZWv|YJ1O8!&tA!$T4?*-%FxQjJC)%9^oCdaU1x|< zK?u&`U(dTp9-RKYwpM3rA**Ai(nemg1h&GoFwvHhhnR8a&K>^1%d3?*Wf8=bBbz0c zI9WS7D;I#q?ieQT7LZqQH~IxA8C?LIAqI_K|B^=xzB2m;hbW!eoKhnACmI zBSxx+z)|F3oX((@OUl#Qv~FFmfdk3C`5O_k4cr=P1x1kts+~aCFPLD&k<2>|3>h6= z0{=9>d~wg7$KuA&uE;BSDY$jmz1qgcu`*}EN?ko2omw45qx<)*#Ld}-$?ZRUFp61+ z@?PQ6P$qdM(I0Yhwu!7ETiYPq*LwD>OH^nC79%FYA;zO`o3Dfbw8B?~8Ycq=C1ffu znj6=H^HTn~zSBf{?AVvD)}Z7x+SxTLu8usmbV_&4jaGW z6;%n1)!v?c%2$sZ^|5lf;Pdgp>KZHla#LK9wbDgZsCD>NZSX0du zp1W>axeq#6Ygu#zW_kWYVwfoqp+RxdOPuns6;ik`fuRS#GR-E=p{t!aki%F`7j3e| z`8+;&^8TqS->gu=QF)e%d~^C1+0@7)ppji+@mi5tWn^6JEiO~Z)8*Q%!PPC%qnfq8~`%n_fC7 zFtDxVgIn!soQpieBMJ-+53;$b!qn|ybwMqa*>4#Hq>s~mZqi)fVvjAq!||R+o~%H; z30yvq7Gq=mD?Mf$xOZJ!$%;HiOOsGKVc)_5)Y1yNvmibec?+r~pnfXWMrDkpF!32!t)0L1P08m(@dvKFt+ zCT7X*eS48PB5{hI!o z)|*xzR8DLg2-6uQ2l5sof@RqJFtZUeP$r)wKu%#rLGr5MI~|_Ac=0AP6H~BxR#vA{ zq`mPZ;zxo%&CqKI-kA5EUi5wZRSp4VKMBXPxxThBNVGlmH{K2?!{`@NLyGbCziF;t zo5j1srh7(};6kLM%1T8ZM&G`(R6gXYg-t$semyx1%~aCJ_fwC{h?f-WgpSz#KYcoT zNf&?Pf7sybP$c#C3bdjz59}pZEnC)EsIb5b%0>|Dh&Re(##8}ffBe|JTeohw=9e7M ze+-?U8jVA=E#Pmf#Kp7)thV#_e*z%1N3qLQCY>)@U*W(W)|5~Il<>|ZL(Il~WZpg# zyDaQv!!iLR!1<@YeI`Dd_t$+B+s)X2Rs2#>m@nTouqqC@}Cw|%w@u3xx*<3^WKG4pqH zwxtfk;;hn1)XFmV3KEHWo_&+&lu{mgQim~S1T{PTx>xYrx36D|+i7Rdw(c3loNk1` zY`jLtGGhVb?yp}*u^>TYE*&f^FYni@mnyajSFf@>x`iW52*NR9B3OPY;mpR$N~9n{ zxI(4Hl?V<7cHBpK8n?{u#ryXbz%c~{1=zLVY4Z57pYsTM&@p4u@87q^9)k7QK5QEUfX6xt6h&h4h7D+O#aoGo74V=$ zAw4^DZA_B%2(b=Jots&Iv-;4YA zm3iai#%0~VzbnmNGBBn2=TDRdtZRXCR!fWnI3U3?jG837Yx{A!%BmqnwA_DOcdH{o zJ3>609@|afzUq=xi6Vdkz_?ZLFT}M&@{LGmQL#b9CF7V~V12MrQOB<=gy^XB$EbI1JvFzH-*TN<(aHR1FOBp~T#~hx7(q`D4r+a&E3|y2NDm8-KOX{~s9i zpws^dqcXJU%f^kf(F`VM6L{R|&wv{ESh}^nw9|(bdw!nu45FC!GKx5WQ!b$s6YjZ% z9z&__tJ-Yo2H1?Le3UMtW2aEU@YjsnO9E%AKvw_LJ!w*lG3!hnVL^cs^N9Gy7+=)h z-?*^|u$S0YG2g#=7bgsj#b{jCFo7RC7A3{asqx~L5|Uz2P<(=Sc-?9Vs^YpjeWLNT zyIWv9@!=3-o~bMG^U&MgMIE490{U->hm7dc9$C#*{0Rx8(uq*LkA~?_Xb2YM-Hvn5 zuO;(}RQ`@n+6+fP;A%7nK}E1Pn3GlO0-V$}3tIU;%;FGs|BpJZQ_$ zN-K>%oM5Ws)2G{hMk=o?daC<6%C4Y;uHr41t4gom^ypFeajGDU7$GX>N*IN}MXBS) zTwY0$wYF!`6u)8ndr4fYIkIKvNTd57E4$j+34(sKd5DsNTdJrt7ixI@0r@i{O_|bj zjVT0DlaA@b9@N$r_mYBj!v91K#L^C#w2~qtou^T>7`%2`a_F8m_QT$OXXfbYIrDt= z#>W5*97-sS8nyq)8W*R73IBIm1~&VW0!|CG)2NGB ztH9Wnr_Ba19J`mBo5M3fac0dFBX`xeWTsnMDq`Z=>NuS{?@C3dIb=vN_m9zAFpMU3+g}0f;-P@D?AD(n z9p^N9r|n{E)|SiG_V%8!>3ZEwsg?8RA2L?fhnB-xr|bIqGV%XPlbDvwT0BkEK~$j3 zH$fJe+;1XD!ec_EW`h|7ZS8FZxBse>o|w6Z&!^0%WP)6YY=gp_tj*KT`)BR`m8+Ib zN#MP<@6wC!)PlV{(%?#HG5MwUBs)!d~t-no8HJ8yYjg`-z-@q>JpH2pd}JOn}{ zNrkTpMX@vjAbL9o5R$KeK*AqiA5O-r@fb@6UYwuFSQ&#wmmXp*^K}~w>#VKF;SVyy zLqj*OUymz{E+tT;6gz$WdMnN;M94XL$6$i{j(a(t2TkWQk56^jZX}}SvsOoL5My;8 zMJoquW!HL>^A|2)(_1U^RbY$xlSC}t zkXz?@t_`|qgk4O`YJyX>kh*oEcrz0K78#e?qFacUxTRRhT@` zo+L!Q&EGT6(niX*7w=QrED5)7)elZAAt|ZA40;C7Zt!cf9cqzRV`A=#mSQ4PkTycH zb0=qY`rTYSKeg__yUhOZ!F9?cNwbwJ8E&w;K^NXDJ1M{<2(6TcAT63dBj(?vDa3yr zW+6*Qs4+x20=I^&f@mgI&Y2McX_+B8m_x0?0xK&kEU6%>tQLk>=;FQ@EoS)Ug}8gLc`$IU@Df9vPa}FA7+jxkgpp1N=IHXUR2sw*Qpd*u>Wxo z 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

($n0;sYw_*>^$dg^h&Kvd#+uhcK4{zZO6Sl;z|y zUicDhQ`)(4TGZ4eL?=@|A}}_=wR{N1SZSa#M> zjk7F+H%bf}wd^+DP8DDf9@}LhK+Gp_&@qrVGO;g+bE&2gBBqOjH`IQe+Zd9UMpbo< z^91dMUxptu$9qT33#~F>&k#y28Y^NSUSUDnTP;fupEbtnn5iX;C=p~@PQAs1mW~Ag zV4}7*^PTA#9lP4l_EU$9vpR73@=&|{Xb7#ef4iIKPni;8dgl}AS-U^KCMGM3if!_% z*Qdo*zVSPn-vYHTJP7cEdWBCp&&lDp>+;!cqN`m4Wy#NFKuX6_o6O?zP}y&G>G?!g ztG*L99FK~Mx^$_O;h1m7x@Oo<;!nEqy{(`~d<_`kkx>dF8Oz__9N&jGKQ)NE)@M2Y z;a3y&I9|)+U4N*Sh^@yD9Ev4`({nEZ)^ru;9vyvAXkE9h|(OARoO{)^Fbl-!I8_2QSGZ&W$II54hU?!XeV%pDJNlz z)cNRQ$t@5kP+6Rq-QJVhpLomI+(`+>a6!LZ|da3zogQnlZXsvKnZqKVlxmBO$SI<(RSb$j=EBb>wk>A=CjS3POg&^X6m6eGs2ms<%Soe`_c>hVi zqs1F8;7r@Id-pHu58AvTH*X#xFzOz3lt2G{+v*6P)`RW%+g6D$JHX2S^kazG7Nujsir+a#zMnz+Ub8{T&EMN_YDO1UxEYCGH&&tjg z8Nh+Ytt7sQ0~tzA70t8Xy=xm*;Vfuyo7SVdW1`Q|KZJgmdgDui?j*ir09PU^N=s;B zBvMuA_f+M^Sh?LBEW>O;Pk|jErZc%r+8I^on>@L3dMQ&Ldd}NxQ{|ny5sEDS4Kc51R)&w{6>Qg@mY8+cUZ)wK6;hrPKZs!7h%uG|K(crl-YLv$alAbgrx$@8~pe zSB~RSC@yB7(f~L_x0_zVqr?5X3B+@ZDbCzbB92K3b$6t=NVo|AwUcJl2M_iD`RDuU zAn+aIiOgsxvI!#F#7eJi^STdOpQb=(CXw{?>HcqS&lyhw6vxiK>_!k^5ZQr7>y05Z>UTdiVj|NTxhw-Y!gmK8l@^ps)b%`O#`@b2%TLP(z74y0k?++|U;QVLe)v6lHwl5UUa{I3 zPi7>l(pBh#S?R!(p;O0>P|}vLT>ikr;$_L0sb+pHb32N~Q=-ZCPP+O&yM~YP z4^YUwKk3@1U}BoLArj5ij##<{$)FW(Cs_9M2m{(8_8Ja2no~FqIRbk=*qvg)Uh?${ z2*RY2pq~3QR)G(?e};_SrB(LBM3nNi#o3ZbtO<0YF2$lerCBy$+F_E=Xle{>O&k?i zy?KrGjQy@Dhh~QH zbb?d45-`&U@%s{2s2KhB?v>6&6$3?(s-v%HARi!APxOOx*g|DnV)a#Zmx~|Ry~Z2G zYIOErUOa1$5{-CU^?KaEi=~V>;!WelSKRD?ZH`DRa(zOUeemGVBW*ZzgWdUVMQyA) z(p9XE{-J?e>2;I-G51FfhlYkPlg=BC10o*;Rp$V}l2&-mOjf-JnEU3ZJ z!_jp-m6p+f>ZPwBHZT;g2if6rGN<~@@N)SXA?1lLNZbBQl<6Vi+sy86>eKz$i4)Uq zzk2=puX_)7Omm-()3sxNDtwT-zD~12)r~$7K4NE|dC|ssJp1_O;cbf4l)ZX%675y! zNEv4Vs1OCY?!M?c(B6 zYricYr#m7dKVS)Xf@HmWH@BA6oQ%fqca6M#n+3<<1Ae3^en4<&|Di!)ZX&Swc140a zSoz}C5X7#4wPFkc%x(HBUS$QV z8YsItER>kV%n1uw&lDIqFDwg#*W4vi`uoL-lij8xh7OhRq{cG|)cHZjgF1j8)G&B< zTb^nz=^-!A2AS>!b(B*al&CBX-15pdbZ8uvP=C(!sOVW^$G~P3s4Pq6^je$joj&ll zjEs1m3?rbZF1ox}w26#$#uwv8ur51@k>&IE11l5NST=zA z(k}0=-%qF83~?Fiimt)`hq5;T>#<+gzwd-HPbrBMkq}9xiD)#IjD-|J#wHpxq70eK zlqL!xQAiUibB2geq=AwQNgMpJIxi z&)euFposk;AEdvZ+ntz=5{iltKvML4TDWkY+%h;Bh+=PBZEcF7eSr{(X}alok7DNz z5S9=|VMnQ}rFCGaJoC>Gt2d%wUsu$Yl-*dc3moGBQ#e(AJ|4|!tnQ_ApHsAmIfUx%==D}kB zl%M}7GbiEhC3t=k4vgge@&YF5`u6evC9#L`C@gKChOYbr|I^geHtPN)S0X^oSaEYy z%dx>*x_?|a{}n}0OYd&xlN@f`H1h5H;66oRmgwl1L#Ni*n9-|mU;QUH%fN8)FC-s> z>aM%Na85#evsmz!l%Tca2-R0|xn~VMfJ+zlhh0tc{JLXpfL(1xh3NrRki$uo?p?bw zv8d`ChefbaZ5$t4H2iFx0QS^wq~cF!Uoo^p%Xe7RQ%j`vm8x20>6sU`CDnQHjkblU zR@vdldYn)0VHwp%(9mhGsycDSn1Q0dy96Q z1S>8zeWHPXfR+j)1P*nHN8jDN^{Gt{mm~|v?z)a2eHE?9!Y@F$;5@HiNBDgm+-l_D z`ljf8!K3#s1eC7}92*#B5$R%M--`RVWFcgclv!;W7dNQI?g!R(;W(Ev)2G*;JS0q_ z3?KyDgq$O;DpMG$6!c`Dansw60i8*2T3RAEssqhI)ViDWlMhRR_w?xizXyMzb?a^z z`TXoGR8&@acVj!YkB<*@J<-&0f{jg|@M$&6XZ-Gwy8qoQ{wd0m#W|5ne~|VB>5d)y z21)q-kC9*YpGEMRcY2M{%dh@^{E~`S1hDmJ*=7cz0u7G-2*s9Tk;ZZ{9@ZI22#^^8xpuZso(MSRl&36)yxda4p-Ekp5rsDd3u zf%|am=%l^&Ub%c3xSeOQj0b4bB@_mWf}DWZhWp21IF z29xt1wJe6uma4x!@OutPb*DJRw-jA;uQ|_tkHQAtbf6!Una{HPm5>=Q1`AL{&!*CI zCD03+<<>4)m-4eoKv zYk9#2>StH{$853jGxlNP`caV4io~jyy+Kd055$=Pm$vPHM}4B?fwl=$%237kCva06 zEgl5OY%AML!Ji~gdL?(aGz7G$78Z*zgnwV1)n#yOAeWmr6;r&}*)eSre?mj+nB9H9 zD{~WsM#h>aw3oeNZ}OoDY?RD z9<>0>3viIamY3sY8RG)2LQe1kWAye`8#?qJ&OEHAMzbgDgtD<$IXGbxxS7B@(Mz(ZwJPyf*6XJb=BSHmkiAT}u)slgXkk6qc2c)pc zk|da`25VRJSbC3dRIBK=VMDt>`iLLt^%!Eb3FMJ~Rqnf6hvH1Q$B@OnB?wSbC`?%` zml-^?*ly9HyZ}|2M8Uzysjxa9$-ba5dUUl(Epwb5V>d-vQC#6;AyG!P+Oz@%Jz#G6 z=g$up`F^OXdYSMnKYo+VtM2{!jY#S&JJNCG>Pt{596BhOo=#lGKU_|+E%j6VFnheK z-J{b-M=v#Jf55Rz3VmxzmPsTDHvb}5*=04CdoFc4-Ab-XUJAKNPwzj;RR?vE{kxNh{|p zNUuXycKot@_rAw}e)&_oGE#f$lQXrey}FeFyh=ETq^6qy$!@)qmuiM%cS|CtPsIBF z5~%&U>GdlKl|puU+!|≪}HKucFw0mh;Pn=_m7^38=83> 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

pIH8@GB0& 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 z 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 diff --git a/articles/Workflow_Continuous_Exposure_files/figure-html/unnamed-chunk-46-1.png b/articles/Workflow_Continuous_Exposure_files/figure-html/unnamed-chunk-46-1.png index 69a78fa401a94a691d325fcab6f90a5d339cecf6..05880f8da8f49d15cae60d35d9634b8bd6e4a50e 100644 GIT binary patch literal 177289 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¬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�<1=7YdI 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 z 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

($n0;sYw_*>^$dg^h&Kvd#+uhcK4{zZO6Sl;z|y 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≪}HKucFw0mh;Pn=_m7^38=83> zoy@eOT4M8f;)Emji?5@)=el>jIloCm^uJNsN@Th#wWQTdw%4o{|riKGl_GE6HO)oWU`Ugcl zhUXZ7&PKwgfAnE@;T+?MckeD?;q9@LH*)mo{8g(yQb7WQQr5H8h&gh=-yicl)W0#p z5x25IGaWbnB_<-+C0(A4{x!?I$vFN^1Yd(~~c}p*BE<)pxPF2pl$Cupe zo7aB=N3ZSX9Eb0HwyZ7_O};dF9nqc&>6|7A>mqVPc;ulh{6?w5C=T^>=>GlXYcM}| zadqVb1pM+XVJ@_9l1gkw1PX54p?BT}ZWw`OJyv*NV$-KDlOijbtT5Q5jsPk~!tmv= z@0Kg_u()yk;$<<((h}c@&sG{@!Ki0o01k}Z6C6a}KVMSEz29Y?M)!d|+QEcmEHX!r zwpL;iV&0dNy|<@00qWA}=5paNgO>kF@PbO9yB818HsY^M&l~8WOM6#UrB-s?57j6` zm+iK{dFzmk-$4RFVjzhAG!(S|RF9^H)_!&zv4jD!^Zoa7Zhv)9kmlbP1)%J4#bTOD z8B|m?+wqBpCcFYre^+gBtpsI|$Vbz93h8b)d>zPyZ*CzN>N0;k5Bo`A-;y~W;Jb}p zcj3&La(&ZXvFYz)E-mo7TNsrg+66Mo>E7*s(M3e|`h%pUJZrIGyyB-%(y}{m&qq$g zf`QW)E{IHIMy~y?iP(rN#;pOr%D1g+gSa;tatz!v@v_ah=_5RL)ZB4j>+0>N6e)lw zTxB+dKPpmGQ0OE?#?_qH($VSp=RS%sIf0NQ4(dT@nKDACai-ug?Nc@KyJ>1G@@QV; zx%H=i0XOsayS+yJ`t<{!9K|`A7~eXYy8$^$RI6BaJ9GLp)%Jo(PJJGa6{DSQmv<6| zTXJ-nC{yAwmC7}kqbM-&L5)H{DJ&>3y-c@=#A_1U8*kq}`6rJhyJs(4u%A13`MPz@ zM7cItX0zJ?wEeU9Mp)uNB0Cw+}oOL+1BP0Z?toUapkT(qYPV)%L}0pXp(1PJ#XG)Wc;bl_TWQ|(hePZfl3C!gQ25Tt!caQ z|Mu(oe6UT7K+-yYw2A-CpS=qB$1EZ?E>23d3*rvT)b@SEji}&egFlS;eg8@Kk}Ro} zEBm}knD-?9>+|6nW2J;A&x3c$wTpVB`T>y%^Z?cg{|fm0#@q0DQHyTv%hzsdA!&zH zD!az5JuxCKww?Cm6K1c*&TK#VjQOW&E2DIJuM9bLDtN?nr~QLJ9k{&kWM5lj-=4!l zzs#@sy7yUe>EDu_Bg;cy*6)3MbKKYZ@l`*r#~8TP=v8gtJxNSp3M^I)kEjDCi>u|1 zdNykI({C%3l}lV&(FvQ{OJ7R5Kz|V;$9IV{$G3LVj4vtveU6WWCCRu_G*ROVOIf3>kancS>oJYh)X`r)Si87O3cB7s=U$NY&^oX2Ao1rX+Nvh&E1%(W0y_%^Hg?E%u@CWXXOjwyR- zO#f+#YL!_I2m_2vvIQ%M>x=)8+c9zqdSdtRykouw!2o!??QU~P z(MtS^$JdPt?4IG}M8vbQ?MmDqGwC0WAcio7oYO7&d;rOT5|a9=Dpc*K-OIr2$_7}A zzO6>_QP`!*vkMryJfkT-EYp^oc2!h^0BhV_akJ%sYbNz~?}2Z<-w0n4>tpuXwGsai z4}e9v$b^^{ug1x6#tgA~CF=oR^GIi|XsoLwW0u*kWIFjKDlp;-`=u-_#By|lCJTw% zVu~_Es+Zdo5U|FC-7FpZGq~lxxA2Q1Mx0vII?*kqLLu=evoM5L0W}MyDYs_1dP%D)hOfBs`&f>CY@$;&GD|g%|D@B zi4W#6;1U2L7Y%Rq>bY}kvI8X|yVMF#Dq{TT?CsZl0e2xE!@PvNxCon|2HA}{t__Q9 zZ0K2mZXX6ge6KHb_jRy?OK#oaz)^U-P+ zd$jmMNqdfufV;CHZ6m%a9M`|Y6;9+k(JIocGkq$qM3tAH|BVripuy%^ff;C--m&YI z)oR3}>;6atK@_y~wo;+!;c^#NWG-gVn)9E!mN8ye3wc`_f==InX<|q$p3nE)R|1O2 zm_5S!boFmCK>2umEJpUm4#gJ=>3Q>g?xc*Fyn;g5VTc8U+O;1J^c$l%U_j~nq^zEg zXQdv7+=i4o)j8q|+p&>x){?>Cn*2emh>ga80RzYYG=a;OFZW+I3*t-5uWxa?cXz3J z@{Z1l)*HTF=wsXvZ(=@jfTn-}Zg{=80QdEt{eNUfENI`gYm(Fcq<0g>MIVsS)eYPt zX=5X8aKL#V3aK?~&Y>6a9Qc&kGx7j-OLrKp5%ff^srF`7>F%3bvCl1dC$A9DtmP4N zS!EZB4$yqK3IN9qKq2caOn?#Pxg~pc^S}otao)y=kR2v7GL`X z-1GbQb>GIBuoh`1OG^B?FVhu6+6&Fi%~{yvxgAE@KoIk&gehCi%NK5eCY@4ijd)+wh zj9d@z-_Jt7Q_re-&NL3qAGhIEI`Siz9)OQw7Nz|MIJ_{|(G4koJ|>>^t}h&ypBuS^ zCod$?>DL&y-=eIlI+mRqA`iJ0=gu0MAuKv(%g-Sq~#(}|A2%hYKrxNvu9VC znYHt*+`O5Qkf!FqQ4l%k#1-`U^1}t%2*2qS_FJmXG&2A0Ah5I~k|D|zSfrDFy9NXV zMBk@%0iJN&(6CS0L|{*ZCv zb!w5YM!-HCTWF~Jw%7$xaQV%zU64`J*{~@!MD!er423>XSy6F>yBHB6nGH8k@9-pT zcp}XK`RH7{Lw!;X@eXlpnm93sL!EW1zkfxar1N`6Xu`Xy>UW67hEig*P-bOb2CI}@ zG%L+T+^8$XYOPut5qhV_QS4^UcvGJ)f=6~1WBX*cAT5pTdC|Xwb#iN#gAl!4__j!} zdU}If&7YYI>cM!}%xoFcz=~UI_7GtatKo7==gvpHk|c*$#9yKZ(5z3>FV_c)QITTc zh8x^{EbsdpcyLI_9FYnCwK$^fsPVzrh6yopPHq_4!P2s8!*dcpO0wxkG>+4D;$VWE zgPPioc+ZI+rJD=-QHRTziCHSs1vv|ssd8$~4J;{kdtBXqv(d=#5!jXS}}z$^VX zZlffsrom=EgwydGbPHb1i^bS~UEXe^V1z#^U?}Evpb;~T+t(7J!TJG?*g#S_Epcpk z&N}2F;5mKph~dHWO#s;l1z6WkK96=wWVwLELs+7wVVfCM3EolD+YeGz^@K>mSz+mu zc4MLu9miOVo%mu%8uzjho7q3lgObS5B#uDOQ~}Ot=-M{7_%FzMrO2}Z$MKR7Q9>Ao zM3IVBY={Czz?YRV3T_}c9fIlNVde6xcClrr%>^r;&vIXQ-B)k$U^8Rm&6%~_N}(3w zvg?%be!roPvkphpRUJ|=jjBekaj}h)$sIAZ$@zL+_u_te$gnAif>U-F;0R#$hWUnK zGK>G1*6#0@%@vb~bp0Y8ty{AOe|a{e4?GMnzP-SFa*a;rxpTW>Ps1>9^SHj>t`fJg zOUYNypWhSNAS*9Fc?#i8KnuziwL=FOM(j@wUeWDpe7veR_JnN&y6cL;Es9=39}S0W zaNtRk5sAa&5X65q6xM1x5u*W2)7_i9LudT>Xw_Gcq-S1qE*&o*e+8Bqq?XPKQ!L9{ zn`YUodz7ryx3j8Sb3KqpmCQ){>##vZEf$~j)T#C^-LB3Mle7N%doN$6zRSQb?s?_X zRjWFtNnw02`kqmo`hp~fO-VODZ*=K~uzbU~(pQRJzp`GJfhhpiR;g&zNfx!YYJZdK z0km11YM`s@^1gy~&`3Zfp;KO!2;@7XwZJu(wEe_MYvu}o(OaLQ$b4|W`6WC zqvZkqzcw{tWCDTI%37vqWL`3FD*AT4kmOc*pX1;jJ9t}#t3C^Uj?szWr2^71X~*^J z%>)745id}awmtXkO8k3IsugA~Y6ZZ?(VD4?>TvLaKi&+kE8qSB9?(GyLAK*Y;;zcRnw1_ z>wVKgq&whe4h|D$X1YUu6|(sa!yTfojMIkM3GaLm_f{uDOsy<6*;m){_iF&^3KE&4 zw!}we78S1errc=`1@xfKeKg8;ZfM`NUtx#+Vl0cYnpP;`n?tPu3xex`ktSU_MbWM< z{0FR33TGg?Xi-VAun3B6`XNXIqSWtTye}6*eOpC&xhv&9n@E|7aX&X#o#k0`fUJ&# zvC_n18&qW#0^VPrdX9BR3*#x9+lvMT(Qb8~)7Gs!AGqOFQ-LtU-aZQ&56CDBDbDe% zfhCHaomtojNK3XseQz~o(#Px24=#4QQCb>vX{6vc24eiZAwAa7^75*BOfjUSEMYu$ znbK#}i|R-RG51-%c)p^n)gqf5&J+rTF=@K^*#kyZm^q2dqX7FsG7#QhwWUP(~M_@l!C% zV_O6vcHA2W!D?>)05&RTWE{QZAAJO8Q-J|5gc5(I@Jp5?+RV@p*H^bzx&xc3qV2E3 zjapxRBbYcpeTXw2TiT`nW$sU6 zF~Cr~ecn(S(^)dwK+r=XLiX;BA9^-r zvP2eEM!REAgQ313wg$#q>}k0AKflN+2W2Rc6U9Ii&}<9mVAjwfL$1(Lf@^Cxs*e%h z_1X{Zw@$#iy@7@%diD%DZ=~p@a>$SCHI#GB6d5prVRj`C}bpctGJnGtP)8hnT zKI-sc1_Dw7C;;{*G-nVKN45O1a$3FG9`fSwnDfK&7^(E1pc5h5OG5pD=gd84`bzwq zx4qnTHLb?!)5r3i(2RWC&Pb!l*Ut|EzZ$qF%m`;^mekbAUhzWJq6&fpWwHceEK`7$ zE6*_VVm~y;G^oEEkES3wBd4>WnYE+KIwz-lQRdM~2_NV@-Z(C5IK(BzgGlV4s=uS< z!jOT>8Kb{pO7?4N#oVw;MPX~#{znfT0*AcXN*Fr>x0~@k(94TEcdTa4)KpepOsz#p zP0FQt105g`F#lRRCrZa~1J#p|WOMHOseK8h!o{OoK$}LQ_+n3Ojsuhh>cItt63qb+ zf9W3nF6kSu<8Y~n7V%PQD&A@sTRwa7V!38G!A_-@GC8jYyr)GM9dj{5$9CHf-4-!= zu}EN%-VpLrH$d@t&F(cXq4cb)8&+hm!92Q7TwwKQaJRfgdw=fU=i4p}r?y3!;nM`H z4d2gJifFfAlm0Zw zVO!p#UAr}cj_{gJ=eV!Ic>gBdrFS|vXRRQzGq?-tZzt#R=Vz5wTx*3ru4Mn97^B^) zR;|}oPuI6u>(1RyCtE}YkuGIWS?c;N@?Jqf$jy2Q49$Z3Pg8lBg7?!1S&+jN+J8*grIV?m>}$k~f(kFL}YuO7vwvAdij5Kv*# z!a>xJ8qaMjD|3kMNZm#j=s#xpEy*FW3>M6qSmZqhKl`4zFuvy%wgs-3Beb#C&n+Cm~g3_=1 z-u^W7P>_g8VopP95IT73(Q`O>IypFG&zcmM5B=slfGv`MACH%;Ll{I+) zWkE-uQ%zw~1XqUI_BU}EC?YZAT2j)!+e=t!bt?C7edMT4fVm7>HV_gKh6#u=`S@%t zOMGNxQM2}odXxCyQ#z7Zdi2;2Xuh`SqM2Ci-RBT9HSA}#m@00CL7+=hqiVtPO(#xh zEXDS=qN416Zvo2j;%#-iG0^g(iS5)IDs%dnElNQd13Pu}hUUo*r;_KRqhnz5-D4YmGoT z#|8cm3fKH(lq3#BdBC6xGzu5i%+NiT_z(K?BtfpQP#W|n1Zo4SC_U}e$prM!UzPoh z?IKSN@x5I>UOGk9&aUi%@cef9Xg6uUO$=uQ7!|2M&HL`=%2Ey9aUT_yOLB!B(HV$0aNfP~sOO5BA*3om1~-|-C{&B^&p;O_bPtY5FCW{*{<`!!NK zlt#E#5YQT`pIHF4<>u}%m~#O!_JgRIGAXn?ISQYx?_Ks#XkRNNfx82_;|1r^zJjCy zK=$*;53p@P;MHS^ z^j2S(ropD`TibgS2h)SVq{oWsR<$QFyi})2;o4FWcnJ@O)Pf$*PaGw>QDM_eX?gE_ z+wx}EBb(ZsU4HiXd9ZC%IbnQ20jJWylD$&}mi^ zhr_vJ_lmBIQUjxfme;?OCv6$mG0IYkams9+h&QjaKay}o)kJwYEj3gf(eVdbn3EGy zK6Z^r3Iq)(8KOQm#{n+OWW>neMI;u20kM?7na_-8wW8G}94sXQaTI6R0HWZc`8ePt z=mt=;__0-P4uXr#$f0m#f3n6)SYh6E6&=EI0X`EjpM(*E;`DXug`{_sGC}(Nx|SIr z@!fRh%u2W_Fi4m(jjfpq)HD6PMpe#|WMdN(QGl0{GHcc>dN+v2>BFy5+k+I*e{iBi z`^SWiMQc3R9)Ti`a(o%9WauOCNZ}_BuG%8X7Y0y&nZSE*lu63b$x?l@pW(NeHSZr2 zHs94*S>0O!#Xm3zm@e{tfanR0%m~M@6vwhZ9tvy`Ta@OajDI<7UsP41d$hH6kMLzj zjRMBE2yj5xlw55@;7RGR$}Q=Qj^oR5J8$C(EGI{BOKn>mO1M3v#;H?)U)z&n$*YnzAW5KIFineDh zvR}~UfNDV3iUsfU_KGG1J)umeX7MJPp=we%iZ(XXc@eKgC0w^|hYuc1p^2O^;|SY2 z`Bdlav-0d#;Fv7b(uYw9eJd8n#^eNi=r7HQx^gz>_wS9Ylc%xGg+}(_16J55>)g&G zN0}jmr6TGsHc%kLo8P;`DsfS8Wt-Cp3B5evOtuwh?zhtPX?tp8C!(cwdCWVJ)}0~E zXS{^V5Hd;d?p=UuNQms+M|y%VEL&E|NKJ)3ve|d;v=_YG3Le80&vAg>(|N%7VvHV{ zQ8VKHee_p5=OnCKn6SbUBUU*oTtQpONesVPMSp4o97NNFXfkVv#&_+miiSgnW2KSw z;tCx5@pa{n1q_08yl`AcZ1iA5GrTCv9f(Z2f1HnDW;ERbM4SBw4ydT9g-1vGQ+B^! zB`YJN<$dTiGz;AglbRdRs_j4Q*!wTVNxFpv&B$*!3?g7qL!mWzOAf48_#d=&>uz>5 z$x$e#JO@>QR72edYYo$Kf;Ikt7*F1PQwB7Ll{MGW`{}Rad6!uOH_@Yjjk1|3>fowx zg7$9NVq#&~&iM2;FJ|NqwmG%QrVG<_b=7dykG!CLy%QC>5M#q0ls44 z8Sv=+p8bPV4@rpG1Azb!zbZ)MV#s(R5|TuWJR%oRCcwvow%vm{5$;~SdeuWf!rL6n zJ6=Ch2@IN2KB~1{31j#t4KeAHa1beZlggE959V>v!n=v;i>~&OdmNW1D<}2ihmx|y zm&36Gj$b*Q7<|iAfSS=~-2B4)^$OTZG%bnZIasn)wm`YAzPxg(5U6Yd!qdtXxZMeg zf$-#+q^+&Ebe998suOW-@y+(sWTFuvVCq6_T+s^Owy)oL_ns)^uo=N1qbB(`!wEr2 zNhvUM--l=Mk73So(7RGDn1T2+4PuC~h;cM<-s{>C>SM_wI1-rTsaIX!nKg=@Rp3M+nWED2ekBZQ#rkDxO#AIn1nEGy0U)jHzAAKpNl(pu2_V% z^i7?Hrlm^=k%k>uJ1f#P`j6`v&?F&rAJDDkQG|!9ZlJRjIZvdQ8pUu20U=;39vSCz z1$xlxh=HG~I1l`Ik2Etk$NUfP(KZuYT#`Uft^V-9|M46iWWFm6*Kf#dWdR?g3zhUV z!22tAcKP|W)IR&XwWk&V1C+5&28nl!p1XOUa;2c_?ZjnPR0I#|Yn!sXMT9C^XyCar zPS1P1UjHvfGdmb*ofyF1qV>VLm>m=k9ysuqJf0B+9kCV9&rc5SNTo$J6eZhD49XkI z%FarHuC4|wpjyDR#yw$O=Z+m$IXNBCb04z8N6#}N``}K0;yAx;dY%W50?cJ0-A+KT zd#AQ*T<+~t<~Pz!8%pi{3z7nd#jAqFcE>LyW1(nba`XLpa;_&MhbZ~hztXHsxV{uA zg)zJqn5k92QV;F_QIBq?JWF&Zv!0EDDg1duZ7s{R`}bPD`wkY84}B2&P#VfchW3+IPSJE9(Nsi|Lmi;EY$y z-N#~=K*p|G4uCFa5j1sy%{SN@Gh|YTl{%@oS~pOjd2~h;-8P>w2}5kEQ4zyE%p9-< zPMm%H>MmlKdO?^<24&AR-iU)Tv8AKi)OG8`FHIZ=mTA1eabSC968oxDRN4x}XqF&8 zT7C(xC@UbenK@Dh0SPanj-dGg#sjNJ>}XTlo}yiQ$t`K}wCF|)Q26AD3mOiJ73IgT zCI146u^FW}W5XxD5@Zle7Ur|U2rU_plQKr^RtqJryh2w=XaL3-{u!0}xc%Tb7cMyS z8EIks|NeMME5zF2cOWeESTY_?9O*Ye}J-l&aAj*ACZ9tD^xekSFMe~JcOGp(FhqyRalu}3> zjgD@nY)QRx*EyU10_}cGRFsGz!GGp3i585%zeAT<2^tS`{{^MpxpOieM-mC-RW&su zKM&y$Qu+&>*}?U5t93JCc1_0A5V z)HsunASvz(ZM;AS+&VNwmT91uB+j}6Gc$b>YBE3#!or?GJh^vaJ01d;uh?HKRMF5# zN*Q}aL0(=*$P5TL-Y&4a^$bc3$)xGigZocuaOZW^6eI@bzWmxxhDQCh0@g95%uUi2|o<$eG35@or~f(2oE zzI)(2Tg&`F5x^Vb$-|vN=o9M9LHq+_P_ljJW6!F2R%9*1-BSO9ZRKu%4N^_3{luf& zI#5q3yIC6G_701`p&=CIm9s@*xS2HriO5j8YWOw4cqs9Edb16Ibh!*!`R&_GmPp%t z@!>U#pre$rhz&oyolLoKf*_EOrfMPj z>TYO9`(7%t%%Fm?&j*l`ZML|3!n1%aUQWg|)W!{vZ3x&h!~9_rgbAU9YGM!d8uOF-R2A3HBp%w5em7=wnCT`M4dM`Z!#7>n&aTIir0z_%QVLN!pKEe)9|7u%mCjt z(aj1oX3dIAO#Dkl%cW5^*(zXbx;-YQl==|w>VgaQMgp<|CWt72(vVr<#0)|pP;owU zx-2_TCH?Qc_b!x`JX3QE3m-2pVFE%gW|J2$y7B!n-T~hi;KxERKu*7s^?I5(9?~j{ zgCOT6OG2^cii|WA2?{o#Yy8PATW%8EC#x_mci*sK?eokx?U|Lmx#lz0>Nq4Qi-te# zrVY{3Y2z=kDadkihkJLz7hMbLKgH9Hmo@PtxLjUtkF>ruK!Y(l%E~8 zLmchn%nzU)nzDIXR#=WG&pboHH+;wtoedvnTXtfA=lH#=00=}lmk1m9}T6w#O!W!8sJ#l?w+Kh1SaGx*)1F=F&&q4e~lx56$I!mz=g z0@6$6$cpIQteY7tFm-pk&|5XwlpIfjsa~&NRGCL_D-tW)hz3OB9sy8w*&*eO6DY;L zb|o{gv@i0=5nTrJX=!Qbff2CN;e>TABkqVxND&~{ocRphz-=r>W@ySl`JNQyZ$S#m zxp@>^Fp?y#+xSs0trRn-Rq7c+m|Ihak33$70{XH9bCK3+h*|qD!&EuG~0N>%M z>V9}k_%y<6-o#swEr3@t2v~?Y8Wq?a?XiA6{w#|!*0Y^+h#HK_7{-%fxs;76f^K+gL<;|N?B$7xb=el?AaCg_&Ye@ zV_X_?pS!~0A5t-ytRwJT;<7}<^W#7GZ z%a`E=?~Vl6kJ&2;45|Q&gQKHMC^nB?4ZdWfkB@<)lJmrbVF5lgZJ)no!TD?qnbckdj_x+W$6V zJgfegb=fzlv|Gf)NJyr6LW|HJYzukW$9M1QF>{$7rJoXfIgYw{#@;869_O74DVu39 zz}qaN^q)U@GNB`lJe(~aH^5)CQ9z#iRP54tS%@*@*Abplp7v2mnogNV0I~sHkn&BB55n}NN9uYpuEe^i*Te24cmIA=^O9G@OhkPl+*$P>J^a&s|SJBOpsjzcd!|IGy;&riQn zdRDx4;`-Ea#-4Kh`bBa9%F8KwCr+WaxOVLt4C@#k8it$2wHq%|{z0-EHTM$(wzM=a z)mzWX_b3Lxn!oQ5h8AK1yb{u}mL&>(w4~oZ>gAzj_lhB5`h=c3CE*cUx-lzdO) z({YAg%#heF_qVOS{*68Df2>JeH<5`%_U3jPF2|DMdQ7{UDD~m!$c1TwXl}tH*<65R zj1leu>XPZxyF@%1BIQSSpORh&QA0ur7jM#^~j!aU66i226$wzdcjWhu`g)5GV0ss?rY$n7PrW09WYLVsC8viA9XeU^fL;Uj&-k&06Gq-9j4VwHyH6bxbqhcX`d^;2~i zXi#{pS-Td37S$tKh?wZ;nopk$*t!4#oazLAF!zSQN=fzl_U*yU32xrp;_gG%0k&m$ zBuWZzVqm=mf&mm-z(+tB02Im=aZwX9Qugi4ROQdTcyTE9G=o^t{F~+jH^ufQLRqT6ql|yoGs^-)uWC$9k=0okyOj}-t6KBUxohEm%McBhARB13nU_MQ& zGxE=XF^x1sk>;&-+srvC20!lH1kf*tOAI4_)3GRMIAA3?n-!>P@^};NHuq_)8|-bn zV8PTwX;6U=9B2jVMfa+#0IMn7ip01$NdYO&y8sV2K}@0uBkui`2s?CW$c_*BW7V{@ zW*_d>cUIN6!NkI24!AYV8%K~CJKZ? zMmMwtTvd)eZYXp>pru0+0(L;H#DtJe-Ez@FZjNSre_7c(&(w$wWdyjTAOkqeZ^%2CkPKs;Gn@=X~%Ibl%b6V5Nz56VlRU(YJhI*zrP&HGPbpW@Qz=9iLlN9Lw?*E{uNht@h=dW6EvBZW& z-#$`G4FfBX??HAz@5FQIAW)@?_9+V&9(~}yLaf5pJY0SW5R;}8Y2`s4(~%?h>~OFJ zN*g0`XxJt~5Jy+cmJ3tT6#hOCDe`RlPuREgOGLljJ9qdskLV9;qogFdiAkuN?9LQm z8fwagRDZcn)~T$b&&jpDXT5OY!Wu2kULy7|GU0BQGV&iZ zPaI^^J8}Ezl*xbQyZX2S>2p>HazdIoY=v>dPyOXy^76KG=MF*XthRE_vXEG>kC*pl zZL^GrZ-CxmVU9DdF(-cik^b!KtCUY*ryMImRKv%`nRqn2e~dKrc0*fB${q(C zMwuhw02WCShb(_==-Gb{%D0ZltKwzk*yH((8s*0FOI3eMr#+xa=H5a2b9K)j2-a85 zabXh|D42Xr_Qixublj*|S;ulL##7`V#j? zoR7p&A^98VjByT88E}uF&g$ycIl5!t7<-tu0r6yc{!Wz(<306kr(`d`l=c1_ZGhkF zJ&NOA!6bZtejQ3UXqW$*2AxtI8#q9F)ol7X_!7TH@s9q1dY6+)#9iG5Po8KnH_UtM zvWIggF@aJy{si@`xV(k0$nGuZSmfUY7ab?NYXhyodC|cZkRlQz4@*q->eol=QxI_H zRaWl9ZiOWfoP91{8>Z7e#C287et8^>FwzyERzV?gOq9r?azq7k>+W55IgCn$z^;mQ zJGf5X%!Z&}P|O=va<+kSi!wbg%!nnd24x)O+x#bp>}+S(Ki=>^VPr>VJ^52Q-U}mB zQnbyiiIb7(ALhW-#)z_^VEnEsBKRYk!=)TZ>8vb>%_vj$aRzoZwFbBPHk z<{ms)jkbpn7O6lB+eT3NGfp^XpVbVlk8l>bAIp+|^((z)WQ1e?!9e``4q75E)fE*7 z!ow#|A?hu(vr`LkTfctINC%QsNbIlpxp1#lna^6ww7d<*USp<=HgJG!>7`NZT{u2; z74)-;lWZ|Fv*y7y87K+IIMcC1p+?lD?yj~ z>AGa!y46--4^1=Kk5-dLF3a!FT*wYEW*~O5`6f4aGSnvQr7kaJ^BXM>%g>yiC?V9P z%>kX~hCvoR8Xhh&0ko*~N3klR4H{_XP7vnU@B;d`n1PH@Q>_Vg0k+o2gN}AOQt_0d zrm}aO1pth#7b{uTMlS%qmlD)37cJ)&5G=lwtVyMDc64?&a>y1KJwOk1>wYY03vi<~ zgA+h#GSO?QS#h1zg~luNdmJJ$P+s>f!gUBE&l4xap=j z4ln_txJmD6022~$(J?!9mx|n%HVNeesSfz^()sgwtP3Opf@=*yOT8Ud6WoX?2rP(s z1_rOuy+eCv7OuYj8ZQRo4|8Bh@hntLJn=zh*Nu^`oOeznVFekhgH;X zQ2nTdz&1-feY)&C6k|aE&8avEt`TMFY!Xjt-7XLe>%xwv)wPD&S(NGRwpPdZ7YA0kb`nSgEOZU;nrxP$*sM32H9D!zM>C(8QrKStll`fY|k|<5ZJNSpb7_%UqHY-wiMT5m0%{`B>HGY*3nf zw#_;&p1oexQkc^#R?LGJ4WItP%5C;xE52@+$d(jh8^Jg7*&A97S|+iGp1d}&yRqOx z@RWTq93}^=Et3Dq2picbue;xv{YPvXN$B3j=oD!H$2gV(UWAl~7{h zz68+h`1mySQ2uHX7<4lCI;yeQ z7&396&Rdz^G6S>vy1Af7(-}RM=?V^ri;9B@#gv=sCoD~+e@v(-%$MzFE_A+=+ew22+`P3kpTi*TBT0-i$;ZnOrgG_f}U*k z#Ib!Q)B{FnH(@|dpN_Sw8gp;DRdsc``HlicAfOP~`Tz+q{o^00^>nBKhius&7G^+- zq-%lWvjLNaW^aGyx$7XoP?<3)Rvf+LmN+mb#8L#X5VK}*PjV$=11JNW*~lBD8T(9+ zN4IWOU;sh2k%9O{Eba`wpJsYG3y6oK01)7ol5p{6#gYxS32~l17g^%IlFLeyqUMg% zmipgXnu3S^bqp1tA4D7HuDiU0vGEX!HG-h}%gM0L!JSAPRY6p^(m$m8ryd)Sau`0q z^BXso0AVq*y|L$H9IZXpPwrKPYdn@N9Ta6bK+CCny6N&QjJ9DpVdi9J%_~p5a6xrm z?s-_CcZzJVh_%S`p&L^fEb>&#%F436C9hq*dao+xUlORvp+70b!wxt3pzlBh4WCwd zFnPG*oDUW`GwU9V$`UXc^yM8?jn>P*bN6n&DRc^xDa2_hfzb$OTV*h<9p+55bI3I} zzwA+Q#v5P3HrfAfauygtnAuXP@DprO2V_V7;*c>N`@1>93rQR?T4(%#s5}4*&22eDx@xUiSE1=dp0Ju>CT=mE@cmMckbBnD13~R zKzx=IcOG%w!TdxYq^p}yy_H`s6_>EH#|{=&xYpAXJfpt|K`T~pxL`hp!~(|Mv0K5K zaKoKd5)O1BoQ5jXsa-EutzTbTHj$IaR1{|DzMe2DP)1&|8Iia7`KT8wU(X5)YofEG zb`-Zq(K^ru@hbsRF*?=^e<)jn5Pv9hna#85g1>y2Bo+mV?SPP{mX)-BY-?mS5~#yk z#_USYSkE?1=;+h!Ll4&90!TV`#-y1Je!=!Cj#vwhGSqVmbjP#SJoHZ`jIchP?-0O9 z$a=vH1e?Z&s(E(3=oSsFMNM5D2NT2Tz49^(WX!A$8$aHg zY;FJWf}z*Sk(dXo523xK=Nf@}DvSvWcuLC&r~)V#LEu7S^-f zqe7L(wq*FtG(O*PX8c+!b<`QKvuJY0I9t7tPAdA``l_{RYHHLg<}g-f3Hg_Yt!-QD zNF@O&28N(Ec6N_=>5Mtr39NSm88Bjbao!Z?iJcX6It##AUVFA@K^~U-%Hgz2b6JdO z4noD2=R6qqEC^7Kp>yi2>GQa`X)Zm@e;Y!SXRYXQ!ZIReBRpifb?W-!V89h&!o}}m z(FC3fWoB%+?adoE-ZHF5H4`;J#NNNJ{WMY13x-}uEG(wBStk)nu9^ZF8t$&RU+uPS z@hIx)6GK1l-1bci_8pp?wUp}$x-Q3d?RvHq?=;vW)aXs8UOZ0SmE*vAIEZ04pFdAQp(%rtRujsw&BgwpO;oK>Mgh?+PvLt4 z@LKwh96HnnH*mt;7?qr}Z zPE-_vs)2Ne&~)4$xVxKz&NLR>oH!9g z_jJM=hs!=l1&Vf-ypk{!`cV}DwXw-hR66G8V=xy$?E%RZ0JZkE51GAzI0gSH+6^f_ z@05QV6*omO;2{2yDg9)0&ULKMU=of_#kTo3-5_WctnC`jIE9t+AoE)dZ zw7w7QLdYX4(b_;wm^>Nxr=qLg?g}N|$CIyYy+37N*p}=GtpM@UnMzr^Ep~4{^>l(q ze^4_V=2$nwewCLmUWn}J$8(R$QW%R4W&Qgq8h?oB*|(#rRU08KN8TOVJVvH2&3$%WjqIt?{M; zGGNqQ`RG2<*VVOq|1LXr+}I=e!z(3)|35#!_QU=pla+I)Pv1=$e)jA~Fk$?3ve@m! zOd3)e(&`QdT4-*E8MV}Zy|cNE_@b`LjT#@&H*4eK4OP`gdR1o*3=J?CJ9b{}0`LK0 z!u*`=^t-5VU=B8y!I*aP6vL zpJyDM%V_FGMdNXkZ9)B&RvD$@R;HC9vXBej_1CLweCAb0lQMB!^p=}dR!e=a&iLKB zcZCDc$-h%xwxp=3sjv9mGl=P`;1VPMLJ#91AUqE2(S@pC%gQLWe{KQO?6p%`?v_Mt({|m^MKB7RAQZK^I5cF^uwf&&4=m_ncKLFwjf=WXZ?!bv zz}2gJr_N7UYrRuJ)--XrvGv04-4AvgI?7@8gtn$0GG;R*icAiD-J85}TALtkhrF-e zF%8PZ!N}w9_JyUp*91}+ONff!VEq=#EFkdE(zhUCD!ofeN*uj=B#WV!gm!+HXpU$6 zDC|vJf8uW2iL@o4LOdan!A?rZ&mV1MWPhW_y^UUueXY(WCc^0Y#2>6)zmXeb3|DU>4Hf`h*hF@UBW2Mh`8Ab>`N_B*B`8A?%K z!#s=uo=%b|l}cZDTzeCWyS74%-%t6hlNlKsDHA)lr(O074cfLbgXlt7@1*_IN$X78 zE!|fggm>2|(Om6p_@88A%3;1?cDzppa6$*$@)9o8Ca{vfUe8uYZ|9nNlmF%CZ*vE8gZT$8HIeK;+ zw-V!;rrXH?NE8-Q17qgt_RCuwX(HsB)m9Y>>@xNBS5T3w&ARn-<1?(LQGq}sL1aV*AJe$=xI$&+raVWI*TTf zwk_vdMD;w|XI3*WBG;w|y+f2AD%)HdynNDiOR+o*$_PAHx=C*1=>?x3dXpZHXRHJE zVHmRj`$@zU;66HlQlg&&KNa7+cx4T>DJQrNrHwScsDT3(a^1``F6eR+E5pHr1 zGkGC(g2;l@_b{*oBHei#mCxC8=MFed2n~903D#IfX6D_ycd^06cx7X5=wQb`q6f_= zdvJv7aGyKumGf(Jy{T?${#QS0Xp5iwg0*^tE~5cuW9aJZZ>xFHnIja%<}hW_i(Xzp z7CN6#9zUK8!o&$=Fv&*)FK;76JSt(}$1?!+Z!hp4k?&#X&}H3N9AgyFRe+^q{Dp%r z8Hf!{T_qe|_BG*H5HY1p9GJz$L2hG1)u7zK6U+y61}H{65^I+L#5Wy-MaCTiIqBw~ zv^q4?W5Evn*ZR7hnm`$!KDP-L(BSmfTQ(koltl2DdfM7$c}L^Zub<-GcIi?tyUC{A zTNcb0zs3eB?nSCpxKY^DMUvT~SZ!fi60aA}>0N!br-+0)!j+0u8Aq?%TSZ-!1@{sK zht;cns-F%XFdznU!XYK;<9R%I!shH@8z>(t^na>%owUl|a{S)A;*62?XeUor@{y#v z^i{d?nlKj}z5P6!ZoIw?#KyQu{1gL-H((#Ic%lju?R~!m7yg(6ysxaHezCc;ug|{v zFTjTquw2UFkrE}4afa)<4h%=RMw3z@`4KYFs#WCk;}^4m8U)c#pzdT?*eq&ircn$O zl=bg{xsgOMp%VSL%L7Ae8yZ+Z@R?DixJVERH zICrbB+7cCY`P~FftH~YSKi<|@zqrnE<+gz(EM66-T*-5+DZ?Ob4_$n%H$<-BoGnHR z723_!G@hjY@ZtE#-2;qVi=)a1yuUK&tAEu=ZQQVMWCJ^@ zX%+;f??KApMIk8+cwuF+2bNapqG&1%u8l$+yu)!P%^u7$>CF(0L?^Ds(jIhJz|pr~ zzh1y7(EgZZsDv2}kP&q_9ae>wm!Qi&w%z9Zjy?h2-YUoO+%*njgiFr|f~h>Y_lNha zYn;E{cOuM?N1vmSZFj%L>f0xI8X1RY#g~1}$|<#f<*F1Of2Kn~OBeo!#f1h3hR`{~ zcx~IZErU3$)z%a5xlgQ&eN0YG-rV2#^sK^H{%JZLN7M)HTR+0SxqQumH9Kl*gs|i* z_(Zo6Sc>xQ8Zx>$&gy|KANQX^65?QQ4J@Qqn|1LRLtK$SBdEB#|OJ zD=lSZ?-W{Abs#G=Xb2^vM3hm#`@7>fukUqTzw>u}Z{P19zy3JS<2+8~)BF7z&*x)3 zjiSdXg?{>u0cD;{~R19{2d~#yq z*|W`@o&btmCny*mi||xZzx6$JsNmsX-(&^>Trz=&(h-$6_tLi+*E82M_JH2tM&bD1 zQPw`d9(7;8vb>^WV_%XJ1sB5ap#SrRj7_o!!i7NWUmUqeiNNg}qwXO4ppM8}W6*kA z7e(`27ieRd1dG^(Wfr)4 zwfu;e22CLkw6!WZ|G}bEU;Wi07jckBL*AoiHleKT;W0!9$%KdWS$^BkG52P0a7kUj z4Ll4ShTzf!G@%6;*r(6?>$Mq?5fR!;I+N*`L`i|+COd2*IpOrH4d{^o9mbIBCZ4Mb z*_B_8XiC{6Tx5M>gg<(8q`?I3-gw0y9kK=yq`6!c{OB7PrN}#%Wm=|fv0egC3W4|; zghrf}BFswlW?sr-U=>Xruw6gj)9*W>@R81A!VzJAkIlySSyfe)LLj-eO-cq|Jre?T^`^u&vO_z zM6b#0Zj4kXjYm<9AIOBgLm3%VmEeXN0%Xi6mD{|3j$)n}TZ5o^e|TIWmAIqy^tFJ+ z+?ER;#>eqWQ~b%)hI23(I56?)d(eTNPkpTc5~Z!l!n8iWLL6vZha4v*y^oFk7EvY6 zT3=|!{vCW}Yq!=rx@(Y3cb)eb*16iHLXg+fi+?SNi;bmQ!&FG}A|;U+_{AV^vh%iK zj=a0IGfg;-)Y8zKBjG_q1qwvd^z!8_505J7R{8H~NbL9D!^*3&lo?p6 zLd2QN{`@>ltBH4?%WP7q8BQC&Ji``b3L^%c(>49SuU%RFIyv7kK8K<7a|beq9^StX z2|s1xM0q(mm5)VCc8rfdD<*+pZf;?MBw$Y}d`&{|Px*ghKp|}KQUkO9RrUe(*7zx# zEolbWLxLOkG3qsr5)MrxG1QaJfK=g8=Pz-_J^BpoKJ$uaM`34+;SsWI2V0=oc+hMt zMyP$0*A%I<*(&m_FHxD7cn#&)VW*^1=gx_@44#foUAicwwD79kzbgr7fQ3UxkBW5W z#gP*yeu*^9$j#5^UccfdS$5yp=gsfmK-?&N+jSXS%?bUxYcnuo27dtB^q_)>MY>+` zd`3kY+*l!-7}x-wnMk#$`J}Z;c_kq}r#2U+RNrBS*zbhA3D01BLZhDC2`*T^qH`L2 zogf;-%2%xwrl)!*7D|s8GK7i979&Qu+S*pqh%<0Q)%+tTahuH1+Jpr`TbigT+9cmY z05u#1SJMdWIv)>;sYE&jjt8=O7NkeyZ>-%p`mek`7rEp$JhecjoZ9}Ix`nHH=#c(# zjv8@Bb6i}Cn?qD>H0NOjVl^#2c8f|IBIsXbmh9BT(f0b}JPEfg-n+QE8Z_?CsZ2{v z{fN(ki-wb_h{J7AQQ(h}$EB>ZGAH!V)*W)^j+Kg)iqYC@mu;{W0$>GCo_WGqOcjhd zd1yU8-`82|m0ygqv|Jn>>R!5~qgMXiR8ubWKI6(&cgsUUOND^*5owzJ9Ux6EdO@7$pzk2=xNmg3ZU_xUwy9V6 ziRU`F3-ZPJK0b{>?Q9a{K%@|C0IP8hL0o_PRPq908#-86MBi1b_OwbMRXp4L-fD2S z1zVKf*nQCBk|Edy2}LDw12AFHB1RG(#v)5sQ|$^(&h^w`85jWh6vqlpJdgP_MyU35 zdA5?n8{*^lT{N~_HcV`6d-l~bG(9a%Xp`P3GejB9)SIMv^C%^tzJcpvZ-kX3(c`e* zS-N~PNLYb5c(AB*m4_eGn2jITCN`qCNFq{&z8HE5bnFS8wlNG;P@wan%w1L zeh@CKZKD{N*g+E-{tZ=MoUb4^<`&OaWS1U2a)Y{ET6liKFNX#5=Wj4!f)X-(CAEOL zkRY_v@4QX1zT!_?!f7jnJXpvKVdfNw(kfaL-YB0?{Ur?+iHU?gMJ!B%p##W6Kh9_K3`3S;;BSP3)4*C=BHgA6nRIXT{})g%=mMSqgfY}E%U;8KEENh^fvDV zU*;r?N=P7n>yc{DQDl?=m{P}fH}$rvw|44E?H6%2Cx5hK3}lp(gTr44_DJdEi`Gs& zbHpJsYK`#hg4^HsxhBlb(UtQ?+bf9m%PnO~y8og+Aeaa{dHq{3}%XTyT?uLbd zFI5+}7S^-hpRd;n+P!<*U!K5JBM<ouLlPf z4VZbou%-jZc=sK>^1AqlS;$`khy>Kj97(a8Q;BtE+W8V%q1D4n@oDAmr{%h_4+~F} zIDbW~MF9kmb4?!00aFqNFm`2CshrE5Hd?O?GnN;!}T++~@^tAd#G=P=pMA^jL z`P&s3?N%(#pJ1#;`?&Tak!55uZs5A97$YsGBR^NNMb*dPLgDD5F}yv1|AiN(+oYL= z*+jD)DN>2f?pqj4{t3qq`@wHg)-p^{YU=8Y9Hx~z0fA3uG#zvI?gj+|^z_0obQXPF z7~ItcrbV~SQLh|f3(~S&B#;i>UEQG5;nGa*(_nU1b&HSRl2MLkIxxgU`h>qZnK{rc@qTg;IU9c9R9K37>BsKW-xR}}#kol1#`p=H07-=#^gYRIX|5-LWp4Lwo91!((MtzD?DaHIDZFQaBQrPeN3Z-_1GsBUFuV}`@1wY7)(`qC z9p@9I#6RFN0!pnZ%WOf+kf-jW4tpfdd83@r)pC#)w!|y@ zzM_zoYhRpb@4!PIgQ%PlyPR2geFNzG#{1HdsR}q&99KQ%!EpgHH4I@A2OftK?OY-K zprhioy}3i-=S?_}AB?*g-blsxUP* ztvi1G>#h~d3cTv^Ta2JFjV&yko_!bPg^(r75R_L$=F<>%!W>$Shxr*HU-SoOThm5t z?Ass6T6cs6g1Y0FQ*SQuGvVQ~nFYhcZ;cr@4oYSR--&RG(>|t4HeDiwGUYJNCvlDe zI{9gLN{xM*Zxkl2;ax~uLpwvQjk@`m_PLdotgsEXup|+d^Ojh7TsIeaiefISwDoD1 zD<^wyw=z>~*G@i^!P>fWcF%brCkC5^g^gs=%Km$AYYQJe(k_nDmSaI8*rV@cikC^l zF&Y+q^XsXptA48X(49|?e$?*W9G_;3pXhQ0L3C1Mp`;vPVUZqvQm=JaO$vXQ)s|)i z<-`m$$dpl7*(opBO!(3B`hLK|MNfZ#K`oQ7M_sBWc35zORCtg%4H#5oPSE3m=d3jv zwW}!}levVr$%q4{skghzDeO;y%xT6w>;fVB)pi#$`#c8;Zes3o;n4Bp8Y(K~_^!~_ z;yh8YhssOR_B7&T!mKgJK>8H`HJga5s*I%SC?N@#C1IlLoZuex~9} z0JRkNlsw2e6f=n~Tv+@y(7XO_qenRL+Q!|bOqDI^6o{`{FwbkCe(A@OtGt5<(0pyrvtHSd~p&3A=;>!#9dOY?1} z7?me2j$F5Y5`B70uWPZ^Jh|3EvP730qjo(n-u$|6aCh~g|R4^`S zXllM%@I?$Hmh+VXOG*6x+9!=?h<524H9uHM&%EOG99Gn^Nt48d*0Ffir{XKXyyzo% zB*FoDRxWpMZ=-chOuNxQs6o9&txZKF-ci_Dlfx{FnGKIt1poxsp*I{O=cs-ZE3DZ0 z*)7yPUAEDQ;A!<|S#o{QI1v3)f~jF?3!9kJT8_?iXi8&OtK|73?d;^vO6W`t2xz4H zzy3Gel9(SNKip=SD(*kWRT}Q|=J_BfHvaOCVn=P3bx2MnEIQ**7)Zi6LlD(O>)hf1 z4(tI<;Q2 z=>YJOD`DlvK0?;K3$Re%A-2SZ1ik^>`K{M$Z_|0xQ~=+T`bn~nXr3Bs%fwt(_qM|# zN0^!Y1dniZbUd?drAWXH`TaKmCq8&Cvdy2yo!#4rA7##*G9aY~apokk@%qoqzWyAn zgUtQdM!tFD(!5fCOoGx>7lrvblESzcnepdz$;7y*XQYyQ zWnas0wW(+K_zkvC`BWs8vt2^CefMUjR_1jsZdK2=j~BclT97V~hgbC=MgzOI7m@ZS zPM&Q4afYjFFsqH0@ID0_ZXhBt%Dt|wdfz_sPLfma&@{7XFIg;pI_ndR=7yHvJGL-C zs`32;N;FXHyaaG;f_qT^y#Mq`6O{RKWLVf8m>~Uv>C>i#D|bC?pzq>nQ{Z+(cDr~y zb*G2kXtoI$9FJ)iW^!e={1Igw(W}ImHjZ5w4~_@AgEz_QzRjZf%rZ?7po1x?8Fw{>2TqbpK`t@X-@n0?oB&9`041~ zKRdLZ2(LN=A|>Bq6uGe%CDP&xgJztLpJg1!5Eu^J!)RtOnqDpyQ7?>okQU~K0m9Cx zD29|Daq4Ze@>gI(O&cLqTB9a^m9MYJbuKjP?{Ya8=<(j`Rvmneq6mP^O`Wyek@(%9 z??oO1{PaC8(Qww!q>MD}wtd5f4b@TC-o)KP`ng?kTI_$TimC@HXZ4(MWo4BkoBcve z2J;~2zfoJ>`tdEI74_=CSEQ}&C!IKOE-`Vv%4ljPm=-!ZsH0C?8LT!%+8Q_@Wo{V| zIr%3L{!}|`(;al?n#CD2i8~`zln&5p3qEMa05*{*u${Rb;M8@K1m$2Te^Iiv(g>N#Ud;j0X zM3i@LgZ(q7Od;Hw!lAhHGnx$UNSs1_I{XE(!e*paih|@r|Igh9nB}*<3^+`Yfh1H3 zZTHRX#rp-g8M|sfBI_~B9e!v7_^Qt828=b3IaRcc>`~74-CIFq+X&gt&G`7?GcJ$Z-H8GV)ofca5&nNJ zu{1IdTG+fQI^AdT!ggI{JU!n!pG1TZ*2A`Jve-#iM};RWb)jBbHQEaNo4OyN1zta# zmE3rGT73r$*hW&v%hX+EA{R`)2%zMZzDKCCk&^S+s;T*3K`gq2@8%3bK18@jAvw&4HZjUMa7`z-)V*WhR#GNXlHjDHW2#Y(#4B#^<9XRIr+7l z&U;gTrMuhPm}!pqrFi+uko)(0XSOJviQOm8q0%Wh^Tquxq7(_p53Bmwx$=2z`FU64 z&3qLE`Wsy>BR#z~0?SUfY@{9!rA)AjS1I ziR4iDHO@R7A9ngaKI{Hh#R+nu+Gy=jN)XbC0_PkilIrRM z2?>T3a_$zxv)^XmQNs~zMmuX3M_25{OQU4KZ{%}ItZ;IE{j0)}3L!C6OyDW7kZ-ST!n6Tdt?*=HP(hY`cv+>B~L-)e{Rk#bW zajuscV|e?dNX-aYi|22A3y!Pg!|AJ~MvQpi8?kwPjLG%BU0OH0nW-#vl)HQ(S!Q#OTx$&Lj-QHa?6aB2FW*kF3(kX^S#j01CpRaE_Ik`n&&nKIYb#yFcj-C@% zi2V*mE!lb>7C5-N=6rjvSYPk9P(SYKD4?yeqh(PpYf3ZH%FRuXk$Iw&VyZ%uueRr=FcCuf3^}0&(Bxj_k&V%g6>dZFa%pl<3CvX&> z)vw~q!I$ofQTh$BFFj{V+^}=pe$Fq>aLiI8;?zArsRN-Pqu5Ch zeH-o)-+A-s2>AWDidd=+-N*fh$_W+WfWi?tRcXrrpmrOg_T^gVWEBH_{9?H^)FYYC z>pWvdpS%!V{(YWp$9~4flad#J5~A86x~T%4Fj}?ZVIyibu^2wReXCahhs$a^+Fp70 zNXbE)4;K7&)T||Hm&BVVUDMKxR`tGrK%z3I?T^KaLbTRxl#&~>7n5b7_s2zS zmY6+TP8ku5&XA5jzwaHq+rPFv((usvx?45mPu* z<{IJ-1Si6{A}cNZ^2TaLTX&@F|IStyb5h}R7?S#o*Sf%{)9UsUUg_?yB`isVevRfuYN~2y#>3+a~O$R^1)h zMWN>B(at-^{i^BbKy|c7aH|^XG-^eu-Cqgnyi!>@lf*|LMZLec8vxxA^+`hc9{295};8Aw6*Z zcd>HM)BgRn%HDXd*?vBr zW-ZqR#5pv(j2t14)MnLA#sgBXim}!F$(s`9b}LpO*iSlP|HY_YCzNx=w>%ICbaZfY z=ZvONzmGjW95btjtG&DK$0DhwCVnfA{GdhMhPA(ZWxb>9emm? zkm%C8-O0(33VF2l{hI8>JGJml&L$Fw^m5RzqI#fjGUu3t!llzn>O;0lTc@U_iTaM; zwQ{(j(0sne*Ggev=+rAOB>k2X0wjnbtOvix!U=oLg66hH@Am?*FLA=9PZzW(b=u3FF0YK}YG zkX@OhqSo_RFQHS{4V%ZTOgx#KReZ&}WrX_ziO4oRe2Kfn=yGCrgGYIZ?bxwxk;v-r z$cfs&-`~&g`;Q+UMxCI{@hOs-gxl{*N(#PtFFIw+OA5lGz`PDoeZhr+PLEmY)vEsG6b*W5 zeftOkswWP0jH>itpx(!i9)&9zW7=W=Jz_SJ9xnnW{IslX;E??T9-pAdD&UG!~pMQXW4){mcvGG1GEvlL6)R_4ASJ)hqezrYDn} zCPxkSs``~$ST$OXDei)WMeqI_4|bWJqBz`Q?p?)zFE&Bzva4c}oy&dZep_U3AL3sd zGAH2ei#gf1?Z!>m>GrrW(KfrVQ?j#@v$TgtW5YCgC1tVfOpv@GRp!U~leQLju{b@E zw9ZDrRhW}s6jL+@z-aseP)YnTO3xlI?0I|OG^i}8%-!?MbZABaj6p9kg4f_? zM7#vH&NP}=6}8Vg(-nS}i`cxG1oSab@Efwp87?M8^o=bvAIKB{ef>;~7g}m+Pw(&7 zpT`(cc*~464W29q+Gjoi>K-->DxC_SG}H~~m(Fx?YLAjhO@ADD${PXHXrAeFX*{p_ zD7CSvdn4c9Rnf)e&@q`UTa4W0nBDx|4ui0pkxN|qSQ}fZzWsEDsvjFC;qU+G@%q3Y zA+g7Fotx+XT$Q>?zHi?{7gQY+HZ6YYR&M3JN_zC@-Uc#5yBf?2>1vXdH)h-f>-X=o z=55}5yG(28(nBfgrJ3Pht18OwIEjMTZ|^I0zAe^?Ow#Dk!9JsHlhXzsap4(OkfZ?q zmM1&zZwOa8&tLUfVWEBZv2JdMs;AbsZKI*F|ND)w-a}&^xEUcfq}6jwf%ZH&Ym*ox z!VH$Feu_#;p9>3jo;F<(I{NSzVPlJjTh_hY>c*>GO?Un%moOZ-E2qUI_>G*`Q~mBc zawbo#pk12tkPa$l=$ClQst2)oUCs7*%)j-k$pdNZm%e=iqV&IH{NAmhb}MGc2iq#x zc}1CrSs_LvqQ@9;fD>Ep7eIbA!;Onmn<$op=iA%o za#1qs>f89qzBflqb#VbI@7k@~4JH8$m3}Uv)GcI_jMGFG$b0FK;*a^72S#W%pE;~^ zKTC)ozJA@Qjo*bSQ@p?R7DCorM=kiSQq$$?^0m{qXFpX_(%dbAeii}3c_np&;36;R?yh|-p9s(TR;;S z?|7WuQGzIx!Il>;?0V_x;W2t@rKQgsIcpV25`o#GeVlJ^zxS3Ihgh}Jx!_t}EywMg(TZ2c3Z`?@33Ge)PE@@Q?Lg<9KLKZy< zZWrDArPsp}fjJBq^AVc6<(Y_sG8F+>ceIyKH@wIL;}*iLr>VOQ0;wU8 zdgRebO;e_Rh6v3q0Q65TnUjC|zYj4iiae z2-M^9t@_fR-M`<#^R(K`{aq8)E!HXhsJ;5A>WN8G(HPo-R_?zc^cVjCY-5r@Oo*~ZyNDqo=FCOMcEto_ zRMr0tr;pes+JyKmMIH6SgkDt_21VaT!MTjk-qKPgY6w=u^9V>A9ehG4#EUO37#kFH zqp+lwK83IcF>3bm;wUE9WWKt0?*mG7o2zff;8NEZPz!>ux4E;<+@d1Qr>&yJYPGP* z)w{+`hsoWuuI&)WF?v&F0jX(gQ}|L{g(j3~HuEl^0|DL2EcvG^Z2MA*4f}7K!ny<- zFa%bh7n87q~0C)){Dkk zHgOTBt4rbbYlAjzs;f(E9DnlUp|eU|y6_)se`bCEG~mX_rTq(whG=9>u*@#crd?E5 zSLs^fbN_EbO1d_yXS5M%u-W_PdE`f`U+8COn2G$0ij0!r2iKW|l#CFUF8n%a@Wbo-? zdHYCz65&#hN5ngSR`Tt)K^AT4fN#;mF3tA(QsiN@P_ctXWYO(~w%$fU$QA{~F1o=# z_8V3d^kJyow{Ia1VMUj+i_+d!eIL_by|5^Iy%Z%Ft1vgZtpB31t5P3i85>N__N zPD>f~f8GN2^gENoNkhm+-@T$nKwegN$e>g z${E=?Oiyn;kU(Kp*7~|<)9SulohAq;PV9_n`({sULNHVFC^*h#ZaUb-+i%lVuetfL zJB~f7Es<4}>C`FYy7~F(KvUDFhq&#P_3~=`xn!V4)NXF19ZB0FLLMK^zA3qAFulRM z2T>nQS~1ygS|XbyF{~^D##rExNBHfzbZHQDEo9`$-`BhQ^4R~E0p~u*kV4AnQKKY< z|7{njcfl=NQYl>R*O&R}oG^mhmVQ@~4C)@3j8~7IHYMzl)1zn0=5EZjFT5mM|J8c5 zY<_IhBU2yUMN6dOl#U%c@1<4!KKs-(?_WcY9KUsMztbG$i4(nRI(+-wE-|sCoo|&= zW0ORbd{NQPD5-E|TkG|Wf?c4bm2-#Gv_CI;S!$)uYW%&DXVs?dp$ym8bHx0@jgMqS z8b=Z?q)a;ACK1_6eZ5a`x|zX#@nC3d3=rJb&2l}J@m{%_5}grEKBWAfIH5BW3FSYd zIV&oxQz$^ORBzRmgQ_P9ZC8t?H92H|b8)0*HMXhI?d(Kg;U9F32vTyJt_B=H3JJ|j zT>tmXD;X<&e8^0(Rk=+mtlJ!?Q=k<1J?qL6?dhkjttHeAHjdumR#ULgUu#4+!1U0N zhnBL@-#8?OPR9iO-*%X2`GoW#go>F)aJ@D~i>K*}v-kUAMON>woUn%8hqE zd&W?a;}dLyM?@-7~IS zx`bje7JQn-N-7C1Wd0o8fXj>-#2o|?=md#<+0#k~^ch)yn-FXi@c0aMdCFW>aaI-+ z^3I>vmg|8;JtL!(8DMkn&anaQd+_j~*E0jnV~G;Np=(`&TV|U{9Qqz(u95Lmp){SG zv`0@QSFcW8bt0{K?_TepgT2$7rv0eM478DSo_e!3Q!28}=pCU4i^Jm`9L~>|9X!;= zUT)k0;mqIY|gIYj@rFgygYb_PYf&sywvNT|gdmW5v7i z$*1>t_O^fbW!ek{MWXl5u3P6f`QC@Y?I2cN+!ihzrDEsfQ%||csk(-s6jm1ZIaSD7 zRM#|VJktJs`pmez=rP3|wJb;NJvSqk8>ag=dKkJSv$Fyr`&^vnq-oh%;YS{p%-UsXw&)RvLZj9|F)J>Wc5FPzQ zNj7hA=$)V5LrbsSiQK%)&(!{yDt}e}-L@J5lUy`M5jH?3V12W+`Z4g`d6bFN^RSl7 zU#9AOn!a;fzX1dEPEEww-0f}Iw$b)oXcpk2B-~K@5z)5c@-1uQ0Y*l300(HtV@w{# znNKUO(2h<)hk@xu5S?3-`fVK+XJVT;WXKgXQx4|cbe}RpjP!-c ztq81<(N6K#r-7hPl;EC`LJWCCQ)%~NbkAsQ1UDkl5p;d>)(!p7e|33>HUIj6$+B6} zXqNx}xHS?KtpEDBYXmNoe?D$vcYzfw_M5Nm7{YV;uz0Pi*u0v!qw#bEKRG!kV%s)f zZ*O2>O~yxyi52?|^~y|ILraDbqJ3-hsEa3-RgH@bgyB_rjXS~bruCujr=#+-hVIzv z-q}@o;tw6QgpR9um}99wBx(t;l5}AIu@?;^?;IRBUq%o^wC4Z)Be&`X zw(Dl<1n{;q0*`I}aP5Lyt4cdZys#~B39ztx6}~lS>TQ0-0x9y9fZ+JTUc7q%#<5<) z*6tPu@4X#*sq$|^@>j!$(ZLJ)teLp{Yp(smE1zO_xnq}*Q3#v2cyUotc*vT|`Q}nz z)VtWp~WR7QsSVRgGB@XCG?In_xJnw zA0G{lT+pt1r&F-!-+ioW=G}MfkB@ge{CH#YPTZ62g@cCb4jms|=-IQVAZ6vKo9VEW z5{Hg0GUEIk??ayj3tY{&ukdzwBKlDHP>`YK3;QUkP2_( zO5K`>Ys%3-PxpS&;6+U5__>#gXr$Ga7NxB`&O6-efR10i=6Ca-z{Ve4AEms%vFmZK zLsAb%$^T%qWQQ6f)K193$pfzgakQCGrc+d~+C!Ulxul{&#aGL?VTLMOz{%uhg||3Y zF?$~;G^SJf9I=q{4Q8x?P`CfjA}NKiCu4dZo?s;#zwOg7OnosjRDCDTC~B=eSnOvo z=Awr9Gkr^o3On5Bo^)(gX~)xDUAwMOu&_z)ijYCYrLQfyWC8#)&_G)S1!?oBCHKG4 zpjp%wuI_m_{_OmRch!HOQlqV1I&|iu(SToKB(dg-an+L_jqz}cVP7cz*Y!DU*S=NQ^)9HQ$N{^8DrpothEuRhN2ja3;oA zfac*)#NiDB$qhBQ%NhP^R0Hq)8H3lSDczl-w)*q<*?aUlch=EaX5Mw?%YICRym85W z(IRog7MSoXf;kcP6a|JX3X(sJ z?&NhI(VX4S+q7FKUN?p!tP59ehBxvN1@WsI%V(dyl9P1uq=U+Bh_sTX3@A^1T|ZvG zUxp_4uJM~Anu2(HTnnqK^M(?|Dw2Jd-k&d$$k}S5oDEIcq%DqSxGS)V^hesw0r_eA zwLSN{nRGTl|Sq z$_M13VnPhE2(G~=+mDX*En07gQxo_}8o{;rqPvob2rP26%Ki5RK~S?CV`uH$(bJz!dB&tkk^)#de^L68 z;Qnm-nU@#saxU#c$YT%Dp-Z;LVv1kZa5tsV#C8BC*c6!yEdRhYYsfSbtO%%}5VH=ld6%i|P7&K8P_x9WE-!lgxYZ`?jkEyAl#*fy zB-p-vDa$?_7sIegCCjNCW4?334C?LhTf6)^EbC?7(v9OWyY<%Jy_mj6M!;W)(sOXx zN}^h@B{@%HLr(pmY@3D00$M^4>7;f>{T2#=6VqR&rjv!+N2w|G| zjNNC%8BUkjuHr;IMwCyP;){zJSvWpm&u2O-_93ao7UM0;+VfHOPI1cgB6q?URo=z?7yZBhh>jkP~Wakey%sM0&(0Rz< z2jgO#VxMgtqCa`E|6p6Syc_S@jTzkg>8?8C2**A4y^ACIjOn{6z*hELMDGthKG*K> zFk2ZMIN#9jOpxWe0kyy4FVzmKjqe=)wRGy1r@m&dIHe!_nLL;P3(k`jc_X_Vi? zw*Sr&-BGu+js#)YT}C}kr`T1iM^qlb_41~CQ5M&haJR^(Vkl2+F9zJlHhj8T=Cg(( zGjGWS?+TkZvL#0R`8GMqmtec|vpmEU-VwSM7OxK0hZ1Lpw^HRX#?CwMdCsJkwNqsw zkF$R>XCm(pchk~YGkX9a2R7CvW=|_Dh@dX!-X6NTp7MVBtlclVXeWt&?>R5{V8ed= zwYQ(mJX;GTp{|FupezWFRw23kYWYWI{n-YQ)%2j4nS8>T>zuTmX(yanjIr_2(R~aa z4$Q+9cy!WYtXdh3uOl(Nm63g1`jS7_cGnZm8+g%+{Qlg;y*ns4&dLZ%s~hl6vJp_p zk%14tIIB>BiT(lp4cZCEIafUQrrsEJSSM-dvf>D}2W{$7N)?ngv4CvsaDf)G5P)@n zKTCtYjyEVHUgDlf=H<(K#uCXF@$`;iA12xv=5Ikk)dO`U3~JjK^XhMgnfZTszAeHv z@Y5A$iNy_HUC((65D?Uz&z_cl|FhtF?gc3pQ4tL1WQXbMl8F!<(Lv!3(%mq-?SY6$ zhrO#Mlmo3Shbx*TG(2gN{D{|4B?S?1i)-HQofctlu%9s;OUU!!|DMS&i@Q`~gm-y} zQ{iW!^h=I};HoQ!@=7>(mI~r)=C7ApOHQ$LntuISdBo$d^(T z$Mn@tp>+Gq>}(@d4Eni;MgT^6eQlg+wZnK|k-FD0W zwBqEymQvv?%c-#GloI@BP36mT89%qIBzw<-_ZKNE+n>SF-uZ99IF zHq;ckaqcsHsem(6Kj0+(^eG*EVPzEdX%%rJ+}ZqGw$AS*>xb8jpu@TeE0w{z#=5zc zmo`IgthoH0meNsG{~=Q#RCdM0bUnB2_=^vs#COI`l_kF<1EL=E+IWci`wCB>+HVGP zP9VHjJm($b|Hf?T@v|lS>o~b`B5RVLzE|{NjN6e(eN@{qg5}WEsY82=e#~A$pJ&qh z^y5Xim~Qv%`BAA{b6q!~d}Qdzj{+;fVD8A}n{UUjlMgt0mQ>;|Sxcq*?%h&pQQ0P) zB)S1h^}S*PflOSF4;V3`G&KlAh=2dC>vkbZz?)Ib`W*Jz*qg+YwmHx5eV#ecyF4o- zMA%^0y^odM&!6f?@$K|h<$7l_!|ur>IBm8+;p}+8Xnh1x-8-2*mZOD5W8quh=niQ1 zUIxAFw|sn@rU|ppgDa2)IQJ#aD%vKoJWgr+mK{61o}Z4k#t%XtI$ZVbyLUcu%a+}q zHfQZ#e%fpYhb`6>fIp*zz?$7iC4YiYHl)K-Ly8v4hds89^tN)}EZ=y?iUvK+2KRP?xJnG)N84t6~B4-Se zEq$||>(~>X#n-oi+jF!X1k=zTCE7{U9|y;28Mz7KWAgrydS;s`64kU>j^N%W5mj?p z@_G+^sc%&BjAaYQwvh}Fgpgxnr~h^Dpm=bQEy)*t3U3A3;ll%8>gF4d7&hU_&>YkK znaMY9yu7368u*d+t-*C9i_ql^h2vEu8sEPwVW~gitndH*;^tRZLjzZQ(%*j%8UAK5 zPDA{K@P3J#H^NS{_V--y-5bdPgn|w@*FuZ1;q3TV4^lbtRNf&6)11;)sd^f0pCJo5Um)s)V%&Phdq5 zL=(b-<)E5Mk<#GGyMFyIRZcbSH1=s(Wd-dV2q_75Qp^7WOA>FU%F{5pC<(>LFgq?# zZ`sUU$G5k9V9L-vE#O)h&jEV|`$vVXXdpr3#8snc&)aaNP+th=3H1rqU`+Q@H2umW z8pREIb7sfUzgO;%5=?ta*Rid}PvbeP?(iAyUjJ|_-J0BvGHzenSKmCj_%0<`M1*X2 z^U!I1n9O69e(TJz+s5w+zmGQYa;3}X;K1DG#4$I0dLyv|Xykv=fcSMeutFF&8PeSG@ccJ-!0 zNR&9U6xxz6R+!Jv1ahP@{lT+>ARZu>=;Z)*jBqL*|BlyvfJz| zDA6h10{iX#i{b=mY-jk7G6E0+KIs`Xbb@loCbscm$v;5h~j;c6A z9^8y5BP@u!+y)fD1<^3GuzM27TW6@ZP;j`zP5A zRV_U+rLyG642F@zWqZeR2eNk*%Ln?Ch1#W3V=#081NC~Ta@y{gR(|P?*Azn9T{KpUm~-~VcAir(tI)EG$A)t=cBCvG0B8F&0C z!|xi9c)|GZn`T_u{0zx8#a86gD=ueT&LG28-2DBS+Mwt~haN8v8*_7TKyW*qZ&^{j zL#jGg4jmtI_1(>`Wr%In)YLXF!W~GdG3mtMVZ&zh-Amac#-qK_p>y=S;u18Bha06o z9(k``5@G-Y#!i z&;HE=#hv(yRnF;t^6{d03NL2*l2x`HyaiB!-$Il*U-e2*na$x5VICNL>eP~X^InrS zNa_sv4^)AJKi?Y8flRD??QtOAH;s0)kO~3opkotrv6+;?Zp0y0_vK3())#0jG6Jpa z0O86TvL1A%ePs~b6_;fJ0jV5_a&lx+1>;je>ufkDqyPSUz-mEsfN)*xdvTQ5w;xFh zXk!pv(Qja^ym{@9Oc!zabne_|mwlsXEP|K_>+c$oaqZf{2&8)tmL)ID`q|e15ifY$ z_GubX4o7c%FyAcmkfEZ643<(Ocb?RuEqGueDURcn(WSON60?;S`k zM)7!!wG4!mF6(hIU3E&|XGn!FyDTFpFrZf&#!t-L;*I0sp*9gYA4#+t`|Nembx;?w z7twem1l5nBEX+@^%;b!sV4;5cF#3i`E+>Ef$@g{(gqd*VFvZTjK8p;2 zn5|<8d!-<6r?4_lbj%Om`}QUM7uRy7;ck0fmc^_|)fKbSe2$u03?2IXO$DGy#~pJK zK)$P&vE754_wb7k!#e3Ffy|Fy-sVS+=in}t{oZ!k8bLIUd;Qc-AD$jp)@t9eV&W&bM97!pS}JAue8?Yyf6C#|(3g48KnYAF0c1Tt7ez zF#5}+fG1$sUNKRYC(t8_aAe-{nK_xk9EXT!2Dn^aL<3GQL*EYy!QC;GIe}5KD8fm# zTh3czJ@}-}GT2Y2Z$YR5(L`ou*Cdvh;x1;kptxpX#Mit(y5EHX+{~X)QzLclGDYc< z{GI&7=x7F(;4$qPl^3*jErB^=avsBJu9mJ@LKFf(fRDd_mDA3MQQNv)p>slZiKU&# z-`3D{x_D6EeB<{;I^gc%>b!mObt$d^m8KYWQE5cjADy)MxV*})Sq5e2=Sr!fsR_p8 zCnJk~L0v=R)Uz5+!(4Y`=r87|ak}z_^s7^cloP6)1qhuOJ^YQR6L1;K-`{GUEdgy} zMWIVm2(y`0n3GdQyUF>lq^P*(-rLw@r{2Us&CM~`Bv$d|TW5V+xbK`ak5%w?6=hA4 zkv)?z?(4WUiz8_6icEo|Y6QZL z^8~`Sa+0n1jr(?~0Q?WBos5nnfxz&9`2Sm;4$YVl2uBIBQWrGbA}7APo~M@X+cjMf zcaQpl%D%_i8L^#Jdn6ujWxiH*q$*fDQ0j@0>V7N1Oey0F#!se69#-yo*qQPA;p-L+ zsd&=F+wYD0#D{B37r!x7PkmQaDvK_=YU|?Sa>K>NJFn>ER$n6$TmkXbX7jO|_ur2M zf(FGF(SJYRraMpA`|rn?os{L<{{5J^W&8Ahyw{TO|KP3BFVz#2JlFqp{U`yQc21BK$ZWqXV0wOHbmbZYfY$sr$Blo??&p``xfoVniSN- z&)(mhGvyUhaGv@W-c~zzKiT7B(OZX{D_S}_I#~3rcVceN4U-u@Tv=Ww-G0|^KSy$| zH5FxfMFI;CPpVeBf#icdVs`!K)zn&67k`U;EZJ>ttoQd{wYB}7reE}_y1K)KR$Q^5 zpdjzY_wG_p_ms=2yn6X6Jyl7q!NI{(y(RLS0RaJCbHj?0&quQF*6j+dsjqjR?*HIR zK|e7u;f3|<=G{Xm-{d}aOefp)iNC*pXlQ6=rv2j7_XOqWSHZ!|Q35AUsD9bYUGZRV z`trvP-rc+X{SWcw+V*X9Wt-K9@ug1=)WqrZ>>#K-8EK5h-$fV%xx2YNrV~oWt^MvR zQqo62pn;9r^UlbJ;#Z_5ZTI%-PPn9US_2-Q9_#1^itqICy_CG(ZEzcz=M!Zc{ z%l!11Hv4)l)k0rOOUvWOj~z$8EU&JXd2f2Pypf%mnHe4)=IWbDU^;sAHs$O1c+Ja~ zFRQBVqox*go%+_ztKqC#%9irgOmlfWP50~xgO@^92kGeQHm(>Lyb21kA8U!%FLF6R zO?_PVePVvTTh*fjWFv;I3mSStp>-`Svkl=V9jF8?TBPnrsAutacXtb2excm(M)sMW zo?c}b^??I_aFdi-c0WGO{H*r(ev^I)4ao=+G^;GRMjw45o$jZu21fRvV6gZAF z#Y!R~qJ*rTyIq^P?ktrmybVj3n3#BH+pZfuxi$?iPVCvUCr6t`g!tHF-oJOkZ)|&u zo4F4_DqNk@P!{Nh~6~-%6Dp(Hhjb*d3cgJ~nLXTx% z8<#lAFDzV!(7_7ejp_PDZEvik{2Q4TIH zZ+AzWvguAYEOVLcF2OEeU6{oG8Mn5co&H|r%6Q_M)MQA0nt-sdnPGlP#PlA~M6n>5 z_ZF?}5;EAWgTx0XD>;-R6AM1hXms58INhFQBCi&<@H!?YMv1~ehVe(5R{E== zqO)R#0_1bin`;TVb?S#oljv3hEZ@%lk_hE``|h1W?FSZlIk~#JIt|SuIZYWx6^Oz8 z63ooZ2E}fwJymx$wWI^2oJBduW!h!cOP>zJ`<9&zjU=<}D^(;J`(7kWU!u;=&W@<{ zq4Znjp5No~>uYN0w;L2GR$(q&l_l*=w|C_nqNiV7TXvMF$ug-QWVQPGuB$yoi%-9B zaCDTjG}4I1+j~w~*Xktpbk}w#QQ6(QcL&L^MonrNda_ZH>?Eft z=S3{(lzEjzL|pMd$TL4b|5Dg?YGA-&epJ=Zcoz9~>z&)Z>$oWgXJ;XPegxk(rorLQ z5dyn@3c&e3vrIZRXmY^G)f7;xh_J^$+$k_U79gi;0O{xzd9G`<`zvsZ=r} zp}g~Rgs@i3po5*B7#rKgqm+U-zP+HF?J)EfvijQ4)TDy9fBou$AQ6zZ+vg`$wz=Vs zB!;k{prF7OUaRLT3wi!rE}%S&N`gh)qT0+oz5H{m8+}kiss7~FXqSF>-+i)uQ?)Z z93t8N=T}DBch-Ws=5wcROyVX?_)7-1fvSrO>j(l#*k_Bi4?w%8D=fcai$AhPH_}=M*aE%aR_x9(4WeLErI?wR zSeTnrO6)m&`g|CQy5`pddl=4Wuu^6II_I$zNO{e~Bs4PeTZWP3OVj4p7s)F!Mh?u_ z*f-pq8K^?p-nnz9PasyRyQ@nv@^p}whJisT(nPGvr$!g#nlxnhtU@{=ODU4@lV$-8 z%6l2kNIClZ`KiVXl2?2y^N!|C5Ko`gkJ|8PN>pWWVP>9*YVYXqo*xZz`(RM!#WQ2I zr#;)Oaem(ERQT+lOI4MXO*u-@=M=-%=3AAWWE~s?A|7kG|1>xyGWkS{?IiiLs3@M9 z-CLR7An@le(40Mc_Efx+{O~G+ecy9AuIQ?Go0@brUeDcDUm`^WxTD3~Zn8b|TTdFm zvvML`=RJP>cyV#@sPubhRbo;OU^qLf8M5R$|5>;%k6K~a&AK_(n6OCGPh@h!g@k>Gb-B6j+z_(qI(UzxX|SG?j2{tLxd z1vE7@%q=YTNtiai`pm0QS~Tn|<6up5*h*O`Da7KAll4nPzh-#wfY_BI*W=h^gJ3Y$K|={Ct;k-Aa9Xs)2CnUL(rsHviIzTmtd94nO^dFLs*j4y6)dJpR>hArnk3Oz)*ok&|Ky6<%1DSeU}$Eof8{w5ZZP) zDJV%wO78d?AC<1csaNb~ub|K{H`0jT6*>R9^fX|4+V17!jmYK6ygs>iN_^XYwWmmL zQwox415%TC7#i9hEBPS!*|U=Z0ze8U-50E18p+6z6!D7LpF*9NetKlGCr{jU>ae?v z{Gws8gDH(~z(%3h`mLG!PJvW+&hs08dYqz_j>r>WX1+Gs6f5}P3BB-T9eu&uiwg^0 zoWt0cfDLnh{Q3=BLxJV<}L5Ajk{Qx|)0_99Ve zX@yY^jE{2}H;^Rj*wiE@EEuun*tT%7o%+AgN zOyyX#`aah?N_qP1S#h`NnBw9!Vju^ex^q4-JY3c>M(fD@)wz)<~&aA z-Y(#|;*?A9;QJFYQHf76zaF2EfHGVdA#4i(w6XFl9eLe)RaKVI$ghxX`uSmJXy)v9 zq4dM~!sG_};Z8{*)^`L=bKk%B&@KoLraC3I$Re{5lxSykEX@@IY?!BF8eYK2#cHaK=#pIrXUK)kDQ>v6{t^y}Qqm}c* z^}c-jpRT`q{Wvyesu@X{OifKEsOTEaEiJL)j}nTVe;u5ZZHyF&OTJ}HbBUFzxjO}?s;+FFK>$))*Wi0$gV4ha42mRxUHGU2$^~YPN5-<_B6kb$_U%izsr`^LOZ&w} zQYqBo_Z1r7*a}B-7&^m;T&dJSf943Bi{vq$v zM~`01kB07Is_g1Q(bX1xcG3UfJ_$iV!B?U;nGHDVwxj&4E%tdUlQcIs2Q5(n*nBof zP3F4&yC;v2sS>~2Nbzv}%)Kjs;-0M*yFM4&m6)Xo{?H(Ep2JU%ib%f}xX+|EqjurK z7S9U}9UWmtFMuv0PK^O{XIW66<~%*cUcI7q^mdqzbMl$R%n;K415^Kzxa3}u(ca&> z)RAsTPfwqH#|rzH?Nxv%LV3OB+qX5q7xYe+5)u+TP)k@i)F1dX=X5riS?-qu&t`}E~wWH5@z7a2UnWPhYjScpJ zpPZriB_;EQb~CEj=sx%L73V@$R1++TprFP|b5^Etb?~O=Qlyx@T(s7kRXzielUXab zR?6)j>|uE0=(ae;P;%32qVoi8JL}szf&nMBQq&pE;=Kc!4r7E@9plz~WzN4Y`&G_+ zq$efS^2R#4E1@#n5-uq&MmM@J(N&R{*h}N<_xSM}6aRpKgNCK(0SiT$nC|G;WR}cu zMMN%qN(mlI|40?4PF@ib8robPDzbB0uaw20C-|P$(8uT_uva&KM_W2WEfc{qa+=rO#g(~>}ghYX2gXF9OkxcUz4-@l)f zX}*@36usi9lP6g=1E!l1GXPKfCGOt6+bOtZ%NFvA_sEBUtWL7`c2WS{0A2CBEIoPs z`gMMOzD-Z=IzUwDfjIdvUd@A=nUPh^bML_y%y+sW%TIRau=r%y8rE~H?+7M&TfnVBcjuagDR%*YrTMsHk*2s}OZ`ypk^ zJDro=dTau*MTTA4dSv~*{e8tZ=Qh^eC2C%rFn%*fEACaC{79y`e+O=yEo0>o? zq1&o`V?DIq1|Q_y%yC@E@ivgA^slcCaW|szUH{oSYosA9hL-vfaDcJ`HR5&Qj#F^U+@)aJIQ> zWhLL|Lsfl>)i3u$X1iYp)9{^LInqV17Jv7dnVGd-EfuJK%2?*Hob~+qS5y?)A<4Ju zr%s(hN;C0Zo?BQbMcuWtn|{u7Wi=s8z~ zu$le*^|@6<_QvY((D)w_9P*shx#rE+(2yV!0IbA-7Bw_Nz>CSrrIn9sewm003YwYv zepZ6S^QPvW(6%dJzkqa@Sh>0DKYo-jeOX>!9?Gqiwdr7C`zSOuYvEIT@I~f*3^SUh z6mu_CO6n?;yASr&jr5+Y>Fk$U4 zL~jnhQrIH!z?Io2Bk#swinZ{VkZ_p1c0j(c+k(S`QZ}a8tgYO>MlTTW`y@a&RE2SO zjoCNeF|JT4ZWwOyDkbjQ$GqyBX%_X z@;}bW-6=^7_^q_ZU_@~T$@aVKiZ72F6n8c>ScAs`3dzjO)ZA!mFLeHe{{p_Ky1F_g znYB*1pRNcf^LNgjHD9SK?A4VM78=ES_Lbl3c64xfeW;JfHk2)L+aURa*%<#`lm|95 zF)=VY_3c}BrZ@TdFE-A)Oms4OE&V_{j)2GR_ChBM@FXN81Y)5kO-(~X5M}N#QCE^61WwHdplZZH_j_2?$pXbzH7;I4I31VnrlwNX0qBjjzrM*mMgT8umSU z^avocgmzZyZ+{i>8gg?U17_{c%4oljN6b@~>@~eAd?H8qwx#j6{2X0ooj@ z3q=(O{QEMge~w1?ag^Xg<19M%x!ug0dmgivMuaA1ed3&=cy*5UicZ&Pze{p(NQe{% z<#=z&S^d{2#lpLIDJ0qSbw0m8za!wNoMs;HPHq z;I)85E~mb;kmF~S@6?_CmMc?S>O)B?nxBB85y8GjU@Gf}bPmwdN1zkC?;RJUb5ZWp ze}86ufBIi&n{wPH9BF%X@7_H`po_~wvSy0!UPgm1qriv=dBfD$#?LJgpOC|oC%W8M zP99m6iU!q$P~tT#JxopAR^)1X>ug(lyXIQXw4vAX5ZFg_`QRXM|L>MOH~osfZ$nfx5--GY)9nIMmNVW9kjuy7bD@p}gSpflG4jFpPOmt8hnYS+Ol!b*@bh2@^;j&taKm1Nl3LldWlz z$9XMdc5u0DZzuOP0$(|cbaAWw$IqYp85xy#=}}hWk$nx2U=P?ur+Ko2yj>AHuJm_W z;Sg>sHKd1?ANbfV`BiT*sPQiTwGi?h#XgDPEP3ZubrM5GAnF50=TTK+q>^* z{9+^Pv$|K;y|ZNThLsg}X<&y%$XBLb~X*pO+J(TRe#L8s$y{<>}LY5kF zm!6CoGt_nTAZ?=!B4I-1Y}vxf^alBrNB8|vHQQ@iUA-EAqGpq?7pjge4oERKBRo>R z9ptOCmA^yGm4p4gdB8}i+L_ltabuV6GxS7nfxK|k2i1=K#EBqdf#vvQcJND2{r#V5 zYpbbAJUIP4e>O&PR*tpQab(ZmhX=BKJ~$-GN%|WY{{rg(f9%q-jTL{&fq{XK=X~CI zq*saUnxc@boqFwi5WGjELjqKAtE9&-|+z(k5U4hNT*2r zv0L2A*O;ArjjkCRkF^R2NXItT)&|M&iIH%mM}~XvI}arQk~E@3-*>)vyGmf78x-&OAtW(tp#vd74N&O|3bhPqQ|MpAYWDPhrSX$+-OgI z>t8qYMtjK7n%*HfM5_-J)X?#M=7!6IGJ{iF7-TO9?bh?d_rFq6l1L zX?ZmV>J<*3<;NtN`h7cI8(JB$*i*f#+z( zrk($cx4Um{i0Mmkw44+a40-Y3A}bXIkm;W_Q#kZETvIJJ-Q!_JXAo?8<_gb4Bs>k)VY-9o_ zPE16}eWe%M_Y%~{{LcXdszoi^u-fy!Ubj$1CHJ2_g@E#xNRkZ8HVnPjLtnmJftI3~ zav68n#Kbx|IoTCbXP9Hx_gvwT=DF%zCUI+|jiv{rKoIL|YsjEcPy~a62Y&xn?rS*A zf0dAaJv8Yn;T2^Iav|{H+qZ8G^6l;@IbR|P7qp-%x`B4Lq|yQs3b@$%`uaYQU87A* z3uB7mTZ%tMX?uB{^X$+!H1x)zBmH>-h~Tao8X9~gn8bAK$op-qtt+8~M;yB!3 z)OZ@GD|<<|&b6c1p}&{k&Do?SUM*|K?33^U#tR^cpFe-TH|67(8=AVhfPz{QHI;t* zyF5k{Uw{4jbz;7)cn_IDQEleNO$PJX6s2XWo%T6Y<#T_#FO37`^79W`j)>ioa`yu) zW<29G3N8uKF6g89){pxn7AAYD*}eXZADFBJq5B@$7s?x$sQnyD8TU#Ii`_D_C{)2x zSMSvO6-MD;SA2@nRt5lU@9y35ii(K#wM5mpQHhyl#hW>2X3j_v_C^OFrOP*V9rdEF zs;-uQH@ou3Dx9Th^w+P=<&o%?2uemVpfYKy=u*$s=bn$$uqpZG@(T+$fR^TSL($w_r zwSVN_m%K3VmHDLkVg{c;zS1S;W5@gy-zt<0jf}K%Ir_UFyv@KKb!7Zu*mbfwFj!Wa0OD#fw%UFFBM8q{ zZjFE~#fQ(FIYTdeBSc#ss)N>^Z}dCUyPxrf2J-~k5*pV@)K1?Xx%;KBmcId8ft2Y9 zoe))7UU*no2P7bghtN#*KQ6|o+?4(>Ez&fo6*b#IK48gxd!+PG`{MUw-drJFjCItM zl;uj<97^)?R<*%wRDQ?7A+pHF|V&(qwZFGQR4Kw4=rx#{^ zN}rN6NS*Q?R|)@4NVEbY`jp`;k+VflJw7(pj?Y5;JY!b`1*dJ2qM@OIl2%<`p8{Cx z>+1{ZW@R|SmRPk;+GD#+(z-8996Nd8#*L}FJ9Z-kW75-YO-)aMzgg+OeBr`}Kqg5i zXJ>jrb2}*czGj3*ZZlsa0RaIdBXY=86cpf!d0r`By-L(|i3(JDdLJ$YI8DFIOW!Ls zYjFECK<$y!cK!HuJBuwa*Ob%V{>dg;Jt=la$mFjQw0y+$owE3~t>hf};nE@6AE*_pJ zVcR2Odoyc8#P>V)Jr`u-F00E`HR&ubv0Yx8`S~^V%If@>v5ie?T%577@kzV>a)%KPl>lReMOt*oF2KUYfQ z-dCRTX1_bcSLp3m-kZnbL$P|-YXTD!Iem>n$orw@O-@Xp>tWrHk3RjkU`<;Rg$Glj z@IWS-^JRu4`3_+NaX25;kF70p{Qw=E9PWASz-dm6URD0cy@I@&2@OK`^1I3U3x5CA z7NW_9kUOaM?}xP3muqtctPyyYUAuNMGBWxllKo29_m2<=`71x4ibJ{qMq$fbLypEZark8X?oR5+jq#8o+Yk=TB~WuQY!ZfLzynMF$2{GnYUJxr22h5XPDDrHYDOhq%xa3+cU3-dU~7!^;b_ zg238K$^^+7lEjW3J77n^3rG&)9iymQ#@29zc}I$tvd2wTRn?0Z?^iy8I5g3Rx1x)l z|NZbG3GbFQh}M8&+9m>Dr@j|$+q#v6_<;ux9^^A9mQhrs*t@q6N+_

pIH8@GB0& zd7%q`jdRY;P}hsVxAnv?wb{LE2h%F*v6LbEj2&oatU2z13MZ@2brTZ?aW7F$PIEB8 zz%c_Kc&ZyX6o@kA_8B%{Mey3<>+{b*J2Ys5qD2kD`UVFD1py6(gtUQ$sGH?Geq0pR zgL}L7CV#u|6<}@awrxU!f(MUl_fJf`gKtVjB?BoNj4m7vQ^19EbaaAj6#bik8qi{8 zuY=F7@I>s@m7gWL`=)8(kYEl<%#~M70&U#QyY(h^alCxk_N^a~JK^IopI0Jc_7~_~ z!otF2Si3=Qe5Ph68a5z_b;Zjcl90K6{Y}Gl)W;~WQZ+#=n-Hg_>o!qA$SV|}yuh8N ztE>CBiCUko*b8|UHCK7>0R91MwwC<1VUCq6ViySN60-&4-N}ktY-A~Se?w1^d$$WyoUURzK%V}$lN>;{3u>z z-l1-@gQS18dx1VCS9^OVA65>I6iY{k>!zl#_*t2olOI0aR9ovuNkvPmqpHdjC4jvn zCZ;bfUESIFLhJN8(V9cD?tD8wB}Kl^!h3m^OSNO1)N$IF)Iy@8IBIXP1$bG!`l1Sh?R8Tq>$FGCM#$oL|_zXg|U7mQ}Sz0+2`8 zmXhw>t1K^n^2CXo&~(wNdU|+3Q*3+-k}dp{jqdsL<*)>PZfJmrx1NsEnDE%Wj$xw(H~%Y!Y?cbj>A?aGgUbCj<_ zL)qq1e*-B*i{4aw-J2}y=61S*AM^oP_BRubwufXY`)Zk7;7de>H(2 z#@}Lrt$T8L^wreVvQV7Aeba->6HEMSbTlL^j1f$4dfA39mJbv|mwi6~P3iJ5y#&c> zOwnxjdkabLpGylpw$+bmTg$w?XN*SfOE9IA=+MqDFT)1&h*Ax^2%)c6<|W3={IR#! zKr><#jB;f#DmbjOUQ5#-K=pt562SYW%%m;da1&7S$B!RK;@HpT&9AE<=IZ8JCnbNx z3X=W}r?!g#d&$-^b6{s2px({f-Z`HETO?RWxHT7lb^Jy(2Jb}6f3^JfmTjzGleN-& zQP|9DQWFvu(cP7Sf*h=U28vU!$c2Y#5E%%aG`1X4m8q6a=CzB+1n{;Y)jl9Lu{YP2 zPB2yW^hB6mB%y^N12D$GzyL13d1@=ox`qa#F=~C^oiko*Zc0jD!VJAcj6abVN~x;>}Ww-a$4FHlBL(mSOVa*7?5~Zb^=lb)&yi(c1ek6 zg)c>DZDbK5=@6d*4Gm4kiCjef*dl?hZiN`@0WiiTgJZ zHjwFoncETLr%s{Oz^lk(dG?)7_N9QsNwZkW8lQi)>NV0v-MQcwtPS1Ww_tKb;kW{l z7!uHv$B#WcJ>xsziZYhGQPpOYn%!z6N8Au zU|lG82ikE|R8!Mo(B&XNq)G5RKO<2`MMWL>5*Y_qi^RjYIF?lvNr-n&PEKTGWH)+? zyAqTcOKC5Up|oNbI0@cChJ70!4<~Bt)868nk{b+tUp{=epst=B6Vs0ejiARS8t=@E z0|8c7zm0J8pToTEB5q>v+>^+>JXh=^JO&ab^pnPYtcN%}6AJNUATojW@?Kp?_4AVj z0`c{|gc`{f+|}7hDS@tNvnY{rV%+(2}Gt0+4fwXrbAA7dcG^8cbNmApm49#@pD~AmDr9Y~Mk~H{&RYe#F4w z2-6?}T%Z-z*JLj*W2LqQdG^DAmosYr{|14-yR5K(w&DKl!Z)5$Nz(!#k zg6!;X6B8k&mYq43nw~C>bp_f+!vx1-Gocjz34~mr(!|u%5n9@CNM;OdTL^)^e?z>j z7wZ{tL`;qZWqKJ}GV&m2)TLXePJ`(U1#Gm1R839RSK`jWK%Z^V$+obtfCc5{OHwW+|98%Xhhd@XzT zI8A+91}Fs!IO`arY)}kN#)zh2=U##kp|xfUsz^8b?JHhh8}NsNdhs4^2#1h6CI||N zO1`($Ga@1)B{sGhPC^*^5nw32P*(h|J0;t3b8}0`pf=*x!3UBuf#Re`rbH=*7g5UW zm^eD!rAGrNE7a$^mbip0T6~OXT&Ns~ga8Ppcvq<$1UuAeWOWUlt!D~el9{~U(Un9MkN8av&QAi>_HQNYE+U*&EY*~okq{w7PyYL0h)kJ z&t%q@NZ{q>q|=h1g7a| zYO=E@4g<*Fy0wCifK9CwX%GG_!9+kwT#Fr1qP~vOD)=Gfn7W{l5WGr`_-q($C1i|@ zen1#TJi;b1`s2q1qTe9%{rltG+^g%0eO(ti3`=euprkxcGS->NqAwx+arfT6W-JRR z2C4c*msbv^DHvA=0E>$vlcS&6O-4q-#2hq=Rbyge0(cyF8j$ej&Gucymt#XX{`x7j zV<1AMaDgGDc2u)@Q+McIPEPZ%C~bn10vsIQ-9PsI&z5aFYdjkJkZlbO4Oyu!Uc5N- znHa?AaNviF-z2;L5gN+h2U>Y9M^#OYXotqT5ai8%1YmijBvK}XrJ3Y9&;f!i`iyg3 zQ&V7+DC`5&3aS9FsAw?=EvS3we8?+0dwN>=pHjBON$-U|i=_4W#fdn42+R}MdgxIAZ~;A% z9Qxq8%ySxR0Z9es*2mWukYadb$XrJZHNls0L zrGJ=B{<$b@nE;(Wl;EI{g%@^gpd@ahFL`8QU_v@KJ3DHvOw%PQYS{NF{l2OnK3}VYZWfX_u10yGs7)c=#j;~TvQmg+;nQ{i2&gfSq?j2PqOf2G4jpnN z?I&fzM9ap;29!4?rOjVS%6F!9c1O?ZY@ql z{nMX~OiYG;{7~&GaSaHscbyry7$kH3#towISJ#4Gh#!m0#PkCQ%=&RE4e~0+4S3*C zLotPg7vYB@gzNu<@9U)fNy3D#7LLxWygYIHfl45rxw$#yHQb#rn(1)IgIft2`|pr3 z=5Hm$U_)CKVE}H^_QTyBDF5F}J?POMYz^A^E|DiN9~p z?-zQ=a3pru-+vHPwh?K!zppmJ-&U9Sv(UdphM&$;9KHR2{8sa?E?WrWk zM=6ppb$3^`z0Z~37M<6k791f@!nCqdSpz-+zxXII`(qoE4-M@;&-HFz3Xk625*9{r zDv5_l$C|&UrNYUgfo9Ct_!8G49R^736ctar1<^p3NJ()O#x0Te@=3pjQrPlba|sOJOk0_ zgz={}c#>QEP(vjpB!IGkVcpOa0ES_jK*KZ_>0|f70`Y$@Ir(FM|J9|L zxSX6n5QFvf^~X&3Ib-07RaSo5!Ifx5*r8wGz;^a5SomhN=~s(*U_ZZB`H<0jE%VKr z>u5sS^Zr0&MPe<||sCzMo_lt-i3j~=~>nFHhL$mr-2mRI*!yBWzA z(c5?5rKXZH5wn|;((|R7-rjRuT$Vs@?eE6`sxZM;jb8Ed=g+8!n07jbT zVGI?tB{rYYu`&HJukSrQSB_Ffir#bp`-3(z50doEjNikDfm1(|8v@Us*;qr)9W9$b zwt^&w63dxg4_tw6&9*b+2c9IcML|74us1{qH-7mt1${|Ci#Sj#d<=T9`dga6%bx&~ zn!MLtSkK@x?@%y0=LqTI{3(&_QX%Wk!1bR*@8R?hNkAV!RLCwrfBsyAbO`MVUUp!n z>|-LPH5UQOQEXG81}y$o4r@vn#XDi82_b#u|L7436Q5z}H~5*60ALu5g$bike6s-o ziCc>T6Aky&$MAm-1Kg^*ES<^`Jb|v{$Ujd^%*{tZI8IF|k<`}IkdTvuy_iI;gl&oW z+}hbi@*#Lzd3ksakli21TtN>*!UTUU?Bp+BZcb97$U?%9+$7E%V0W8+ewl-@9o*5C zYX`P%y9bmfbG)siLo1*B?^<-ACGAJ4n{9=t`*$r+6)>+s{RXt%*x0es43v0;D+c(G z3sH|jgqfquwak-`js{nU*R!QjxKdFU+1c424e6yDh{dYZ@IS6}b4CbZXB4{rel^bp z3l5zW$H9Zoz`Qx?p8fmf(g-up>Ha&B+ku);)P*i15aE(iX#$xA3PVR%muo%f$rD9v zUs5Klzvkp6BuwPs>lpF9eEHKF-=RZcnBhf>$QfAxS`kv53TInO3zebL@5Fk>g6+ib zIj0FKI7FNiCE9fza`-#Z=#$9uWaA)UWLRex7sEC<#l^*$m_DEpfWasE`zTTXh&lk( zuIleP*i=$qwdae$?dk&WN=y6mp(z(&l8Q38jq#<1NZErt$&(J{W_*ADVfux&Y}26U z;ub>UNoJPK9$|x0J^U*TDK;NOPTe`1uB;&dA z&iT1H%%SM(=+G94f6hw6?^*` z6afGpZYsagU~EFnLJ?Vju|9+2A|hRQ;zubx<~|E2ciyA3??#&EaEJ$zy>F>-)PwVh%6dF_vMa5{potk zwpJc190o>=^c+pmfeYOS+z_tl;8uD%C7pLQ;~b z+2V%5+4JZZ&L>2BS@sr#R=$b;PEJk^x=MET9KeU0i8)M&Wimt?nx7x~D0>%|=Ns>_ zDG+h^C)yT-$2-eS5~e}ycK}lspFwyPraD_%9I&2X>5^3P9KiWf&#_Z?F8Sfx80CA>0XByIWgZ!QbPfpgDiwrS_(Z=)K2A>@g;~bL6jF zDa!Jcm64f7f?Ql2Iq;}n#|laqz-~(l=zagNg;o_cHL894RJ#(udHMtbc{IXSy)t5bpB|6M6AdBjN9J5d;MJ7h%t|~L0&n$&5h`lvbL}&0G$f* z?4cAhxErKC`KKCx@!|L{$7^+ulX9qy;jY z2?DL0R~B+9z%Cpa2wCt%g&6=>oSZU$i!28WU0S|Wqu-a%xzwz^fAa?AP6|X7zTPJg zJ4zN4~nK_Gd4y{>DGNH*|U~E-S#1#B(KAVSqR0 z{81X5`G7iX6P9NB`Nd4%R~iO=?w-x185XANh>dSr9~j(vF?Svu6(t6?3XD+3?j2h{ zJlw|us85_1$3=57`oW)>ZHB%8lPE}oPIwBpZ{G&mkb6T)LXwYB8>D=25&0u}L%L9+ zEi5cNSLO>I?~^757@_Ui)2EFX#$`JwK)#=vIwUd@Mb1Q0vO@P5joqCK6K?K*iR=G{ zQ&45cd(K1|;6KdZNuonRD?e{WZ%>@9&NSYYJ{nc83y^|#7YAIBQPcnZ9?S2Dk~eX# zU(u3#FAs&iJid4OKH-%x>bpb@C=7%n+c_jrOg8D3+;SGODa^>2j`rRl?kPvdlfuHT zPEN-;IZyKl<unr^{RY=@V|Z{CmU9aWzx0v^@7Krx99A5+B7$e z5oO3CZEbCc(!I0-mEXUA@9NSSrnni30dMZ($LD8epcgUu;NS-?^pgDiD%aFbplS3I z&rfvVIg<|K*9IC-G^Vm7nR$89K)7&5E&V3*U;EE9JRj?An-SwT(kQJ zhlkNnXnR=lB&yr(GEnSwA;0RTi>0rjWMPbb_{uT&Mi`eg473mSz{HQD|6^v0@;m5J3c9Ly-gm{v5F!i+R z%wSrr2Jy0vbsrrag;0i09daFJ!%zo35gw#ax78gQ0{z!ubRTKN(8HhKebKzJ%FWW3 zE`hxQpBdnO`O(dViSV~?hh6(TiP%3@MTVpR_4vVq2N+XIN%@5mmr_Jf*=2zVkG(4@ zLp}?{%Tk#`zYD6L$d-zSCnZ^Y4%tOb%w$Nf8XDALA+Q&FixGc%(4f-6V2 zn&eUh5ew=+kvM%yoJWq1w!L=kbvKX0517$Npfsi|D{j*mZ;9{b-9ljUq1?UOVMNL1 z5c>ImnFaRV-W>ghjU52tL%XKofy}9-o{7dm1~|+hN1wzCCo|ZhlOpC33yY+AX*4TN zfeUzu$u4oAnvf$PxAI_Wa3jp$UmpE2PHE97x=4zxiK5@aqGoAnNhM)9lt%=M1VX zMG{hSa*fG@Z0JrmDIbw^;&q=Ty=e#LD$P^E6@qFPQWQydXJ4Z;by=(607 z!}uB-cylCTiH$o7C7Q&ES?pQFXjn*y0{XImnYR-2%QyYT1~`?KmG7LVq@}I(%&$R* z`WKtHYq3(<>s57k7lO1ya|%@~8bD=VM}03+=i9u#2)He7NMN0PXVw-JY4 z(V18epk*T6zLkT6BU}d{Z1?uNM2%$VenU+SSl(YK(10GXu|@!kh(QKMM!u8w|9Dgg zA|@aP!AIHHh@r0pD_u(e9sVZ?iMuT(>5e^HiMLG`16mFo9~h?_KrPVpdV71(CKh4r z3+Y>P;~;pd!B62ApmgHn*nTUK@2EZ?PygjJoq@*(o z3pgQ08i2XLS`gS6Q$>A!Wx!!nj1aOoMMd>)g+i2sB*U3;&*86KilBkY<>uywqfJy* zgD`=P{;T~OWj@|RJPapSehVTsOyfU+$voTi{|zhwcnl}SNdnL$wr<^edgt^bi?8o= zFcgnmju@t5V6cIz_~S?B_1fSxr@>F-F!yta`EG(ZfbCgLT^(mvu*^8hK7o1r&%y#& zcs#s3xH&zC?;5=TJwv*my&+O08y%^2pC=3#fI>ksf+(4w{e+>9P^uXi;IO05sPcz_ z2qEV0JtCSon-B?R6j()L!9q%i#l_NuHJS*fESa<5{XZ zJ#e#5kwb|31eTYdAKHyApKSkQD-jr-biHA7Xh(l*CWfH>uDBit^9`F@o6DBiG_W`S zg?P?R$2`}~vAjrv!KdWZt)gCQFDNBg97)j<;54X->~+Mv8>$Yf3siyl{YbfBBh;m( z&CtTkZ*dRDQ_IG^fYsA{epE;(2V&#bug@1>P4^unu2(URUP1ODuc%p@$G$`JDWu1` zbQo-8&ip{t?pa%!^xF_9@lY0V`Ut>bL&H0y2DG?EOMyN5D^PxXnVpk!6hwv4 zy~zC^DT8%FD+Hg9J|)sf}ESJU^<17R#} zWCVQPJVMon(%pR(kqZFz$e3uz&j;@hRzvw(Y+4#`-xFdAObmm)re0Y^Rn;CMpUAVc zZJe+HwpqZNLd{qaZS(>K8rc!&zTi9skWZ?jGq_+bcM93avNCTtDFESeZ+w>v1F!-b zo&jZqeG;Sk3l0dBSDa-aV>=u6{5g(RI*Sv8kW^p@p?sZ?fVSKjXGdWVf=q=;EBNmS zt(n;f7?d+-&$b3PJy?TrAE!YLQTv@+Q8HxEBB$ub@>v1b+S(FV0+Wj{&M`7ZqXpxN zv>MOLcX!xe^Cu3Wig=L}mmhA?G0 zFf&2az*o~DCxEm@_xOqTgpiO;Z}Bn)NZ~{nExv`$38pcM&8H=2pZeciW!$y#(xN$8 zzgBJd`Sqmt-;Z0c$T8~-{N%d6>O0uYm37~$pwLN@OY6E{esFxmbYH$PV|%PQ#INXX@(SO<{^}4ceQgrsh|DSX+q# zbZV-ioZO?QPcc*FzOi;whWM%hFP3Idl8p13toka7c)`-j zs!KjOITevv&kCJqe1i@?dlLo`96h+A4F`}@~J!+V%c zz#~Fqc~jxz{%4&NeS4gU29MKnpgvb2$$|k87ZjXdrRay1FrOa&2s6(`CYt;ARn)g> zBp)?CPeL#k5y*GOB_;V?in9+vVcM4V zop^baD|@hxHxE;D@bGv7UQIpT^=IGd+tMY$Z{DyHfFqseKY_!8++t%hiKDwSa^nm13l2C zD_7_VAhThQ!i1YM_R3V91{ZPEOM|N&XL7VA3}BM;p`V}q?@f+{9i!vpE@?VG#D%P^ z00mr%vm~bOxnp(~gENf14=9=1L{8tfl~z~ZpCkm%5x!)U$F$_+Ynn=miflnLFz2S8 z!Y9JQ+Uc0=3NPbcD!-7IFS{?_$1Z#(gPrjvZBi@a;STvIn(}A0*U_M3V?$U7;iq|w zg1FE2=m|d_78XayARr(p6F%>MC^Y@<1fB**xWdBpG;t5FZkdGv3R@R)F~BKHa4l#c z)c9w$gHW)Uyc9eJ$)!4g zfqdsZPNIwo8VE!A4<1NM_p$w5hc;e;aH3s>sK0e)-aD;(aU*PZzZ~w?N=BL5w0w~&msQSHbo}MKbK|v71 zc#q?CFpq>YR4_Q&ImD17kCPS&Ev>EL3hd(2)tR^;7}P=KsBuywlHh`Xoe#|^B<)XC zRXjRbmB6L2TA*-4tpJUT604=6;)a5PiKIu5>QEB>T+qtiyL%TWzkmzN0T)1a|MiBd05VC z+xGu$kc2cCLZwM%EEyVY*w0DQ0tB9Q%7NnI#lDx1DM3Vv4FEh3 z4OnpZ!DQx@@FjGR`ON8OBDF_cPj9!0R-OI(t=xv!gAQzhd)%LYMaODRd-uXWS_21$ zr!g#B3HJzl*;($)&70m(OIzeCTBz@d{5VeUq}yM&Z)G-%cfv6QE8E@tb~ z4!(W;dOac#g_3U%>6;0_*tobCi{0_A0B2?pw6T5r1LP=?p~UeG^#BW)o9q*s?f1fU z@#3S04$=G%q&4Y#=;(88K2!YSS8V2od}= z8&1Ob`tH`^B}=;t5!*;hD4N`9rEpmV<36HNV8PxZ-?6%jiB!RQ{F1*bD*?sp2{b!7 z|A#yZ)JyE?mVUmBHV!hIIBpzH8Sy8>tU{(GT^Ad;guhZ&<1}!+*rlyMIKLuhDeh*nUhM}M|~LUUW3Xzu4&A-{^wnPqkRXT0sWaeqY7wyq)$+u{AsGjD3U zD|YKvaK*h-#GQ(*Hgm=LX0>S|?kS2q75LHQaE2lAp*?)?VBMb}E7_Izy4NkYDhV8D zV9;%iMxLgb*{m5e>PUTzP5esFpOc-9Ec1JWc1Q6C$wuaT(rM>nsN|tz$m!|xa^|O) z+Pe~s#+v(&uQgk5A_VN%@gX}K+`|MuKMIfFim8}RvXPvq*Le2GAjJ_38IXPDY{IcY z^JVt!Y($09*=M_X^X8K2Xzes=_z5XOY}L6A4zD5|kb1uq7N#Y9m}_kEu(SaQCMx3d%FEO1?*9KV+;O~(&GL)$#H@6Z7QmhpJm2B5$%o-0^^{1HkjayD*D zm$?rXxR;+XZLs+nAaP{+gqu)#OrF2rs+!J@mx4vFCxujFr87 z{v7@|dDYjQiHW8@U!ksjf1SduHB?7OG<$*I_8vGOA6pOuUe7aIHXz={;$6vmL!av>w|-YqP5ZsgKAHu+Din=V zY00Daw17%KvrVT?pYHDF7Vk{K*%=tfyH#*`iOtQPUM;ve6s5dD*_=QK_6OF6 zGHSEUYMi}2q|DD(@g$^vP5-VY@LvMWa2yP;opSd4c~LE;wTch6kU`NYjQX(q;{Q1SC>q-W-6}RwrACI-Zams5I>c^V+ zm+SB!(a!*KNM8*LQz0BzKF^upW#YE@k{oMaUPZp1ky>eXY$v=N9BBX44|{=txM z5!z*?-v^YE;bgj^(Eq@JDR>9v3mbHyY03M zqKn1fXl^seL)Bu#!H3J=B9g&V=5<#pKDI(=nMfY5 z#7UrBlrgImaRX!Fs@!Ay_9ei?0YfE60vDLmVRW8;1P)z;?9{jCu*&bu9zNFIejoxE zQ}|Kl!-w}2plCCjG+T?J=G$d_q+Y<~Wl1w$2xLkH(kN)rW8bBe042v?Zr25{sP-^-~q%aMetI_#y6;-UQPm& zGdcrVMt@txds~j1*rqpjAMog_$$vj1*$IdHuZM`Cy(AZi&VN2$M815MC4-%#c5JVg z%av-GNLiN9Adup*+qyNu_0Y+HCtj={AT+!v2wq%sMhDCr9L6G(5tY&JIH7o7?i^+(?kB9R9tr5ma_*5H*Eto7e{^rRt(4m zaEYkO7GJlmBdqCjad8h-)!f86JzKZ1#YA*euo~JDbEgmX^m;kTbGF{q;5DksNG zQ*#~wY)nqtNZ!K+YU?uT0)~CC;+`tJ(x9a6pi;wiP&yLAcrfB2SM?OBTn>NtWaxR&m zc6PBTDdBcyigRPc2na$W;C6vj;=yuz>HEv_*BqRk<6>h~)zwF!l9elK12W`q`E(2X z?V1(0ZT>^C*UuY(-2iXO#gI$}7LYI(xVhc3>>DuH-|)jfyZ}9V_GAD6I9+G?HrA$t zibB18V7nRyCsxkAeC^s$V`Fi8BD$yhiJFIRSgxvyssjyP8=679 z`p2@ee2aZ2)uSUn{*2z|?wg?ArftQhIn`ay9 z+37kDoOwCGTI=h#Ze`$jd9BWh$3!6TX%HyywKjt+xsTA6AB&sbKABt;3k_X)CAF6L@Hxw zXav4F&^0yJR)@}8sij;+0Bmw<_XxfYaVejdy*1{-*4ySDOWK>szb)F-DEsS|hCwHb z;Td{XvTH9W>!ma=ZTxwu>_-KN_Tr0!6>}w;;?2!de0!7^bX%j}cvolLraZ_K(%Z5; zufc+0)%FaGULr<_SViLHf%C(~#`M(-7~9Nt>znhi$k8!T>hbJYKjw&zwmb5dlhYD6 zH=VwH>)G9)3HmNt@%#&)kR0$R$_s4QZinhUVeTppiDCFrTqUUI$0|Cni1JlI*|PNFrhs4DNaS5VZ#nb zLHpGB)V2~b>3Y5k-}%&j8}&A{P-#QeR3;?q|0%7VTH^7ImFmlY9zJ~VIxKaJbRFijA+ElA>pu?KqzLZ zowE8soG=7is2>Ysgi$oENlQdCm5ZQ3*t)lW?xw5u*)r;T&yRw7(<6vuU?RowzH(em+LTdjT0JL0{VNcb<*#lf)p zoz9!Lshb+Q3O9>B46mAfg2MVV*(C*9;vWw&nsK}OhKAoUhHj4(m<96O)i!eZ<_X_l z?^(+FW~f?I_kwAMp2O@WOlU8R@N3S^D!mx~>A{K6IM(Ck%lo6^PoK87wT)T5EBk#C z+`1xa(9od^u7BeT5l)^zFDK+?G??riEA9sn9`+>9pM8(mjaXL_7H{}s$*FvawiVxP zhLQDQc0yfM_1UI#|75t1mBtUE_i!#^_itRchWL(}Pd>?z8fiq=jq3n>_v`Ns=+lSqQTJDx z*W)Ro(|K;n#v{YMJPG`tjEGnE{X0X^(1i- zkQG4UtYi>fb8Tu1U=PpMZp1atZ2&zWrwf+YwIdCj`&q^ITbQhKSh?uS7tk(6!IIDF z*V4RYC!qi@^7B(7BS+Ej5)*pIh4-k&^u39R*#4_7@kVA!g<2!eO`v+9Q~3fbAXTW7 z1eSLv+soA z1;?;O(AXoupq!$~jEZz%t_>;S*YDrmJ8VazWu7DODD@G05?S7u?o$pQhPifxR=;&? z14T0_8HJ&Px_LI!=Nt&u);bmz$tfw~Kyqg0wF%*_?=LT4jqw83fHHxKAjmalSa>$k z+*+T&Xa=}~qr|u(TD)1IpiF83omO+rG@f@%7xHL;9@1)xRwrKf zb1!Vi18BFDLk3&%K5`Eu9q4_rh4+g|>)Wp%WB9K)wN+H=;I%mEAqJTgv9Y$^`}hm8 z4HUutX@8K2P`aPId^wkUB%q97zauPs90?@fzu#!pmq#28*rc-Fy}Oaw?Z9KQ`L}Y) zVY&I+_Kf9-^)U<)*YRf&F7%`%zt2*{buUHC>)G?iFjm4QxKWINaFcY8gv<@bdjJtA zrd0E`Vw>!NF<6)Yi6~rRkGFVn@u@Mp>KZ#kMUa8Y;8qRC5r6nPGt+`Oa4^G+KSimE zN9EaT}=(Q{V1aB`-B zDRT~zX>=G#hUTt6k`5eDu06wHAmL9uOyy+`e{2%Mikgy{W#XR3*&-C;<8qt}$sq`? zr^596^zBQmRcGNi+CbE*2@|-apk2cE4Om!Ccwglkzm=GXmmsjN0#~)yseR#>z!axW zZF%{GN5R=vFjU=_hMRr5vNQh%YQf>$TTgi?)(*nmd-swO3tGy{Q;&oi3|^kAFhh`4 z?9n5Pe=wN4P*+#Ztn=HV`{{-fVZyU(OWLT(6*El*kix0jbHfs}#Ov2R*Qyc`dn`OW zzvG~j;Xf-sUy69}Yt`neNpA7zNS|5`JKqjS89=Ggc-8nJU3&N+qauQEdnzm6JF3XF zNogQF27PeKbt`)U#~>;@gIv=o#h7~PGbUNCeAf=S!k;n^$7mh{D3c91V~bhMSm(Rv$*JK71Nwv1_x0ii)gR zV91aA6TW|76BhC-nM0nq*Blj2IoVZ z1q}m(J;@dL8Ts_MTdrTbwyfO3V+t@Kcx=>b4|CVCk_2;V_vw>J+X4*>Z~Xl6<3*5X zz`Ckmza;%(7J7_Wv5`w6SmYb7VYROqApt_HO)s7kuwhrPWil!MjfhMy{XbKUI>ob@ z=Y|B=QCfuR$VP=3>Amo}DEw$e{Gmnc(|J71E{;NwKUQ9r=}o;aRCp*m109{yQBn7_ zb!Zg?kDuo8tZO5c4k7&)@I%@NHQgI%K~VIu!r`mBd2hK~&#bd$aXERxx1K;hWW0HU zQA1fx4ZF7~g@X^w@3Uc)S`fo$aOAA(IWHoui0|hCGScwwL&OjLs`lXCy(3GKzka0A z!Ec+V+{vmSu3M+Vb5r{^R4%vEy#m2zY&;z-3RHz$EjdJZ6rpP`1`>-w^Nb)SPF{?s zd@|Jm>xHEzaPm)19C~@Q%u#l~Fi~Iz8o{>K({rb63mO9l`nEK0Vit;{X$(E@*s+rS zd^n0Z*3d(Tx+u0wc;rV-pb;{+>M>%YiJ)+7XJYpi1O9L?m=heRpwQAg*69W}nCQd! zSXrF{A?4LdRF+enhxC~EYO)|;vNvNEGjjrXo>xIs28#}BVQ|!5+wdJC|Ex2EZL;Ks zJ;a2u^%jTeKkiF;gN%Cid^(3hTdWfE7)boqKf=x2C8~7FAW)s3oXumMx8gErU*F-0X?* z0$i^x^9E4_qc{XH5rS)1u7oF(uk11sqa-HYJ>$H!daF0wkh)0V#hTTt`71nJ%x-gT zdk>o2OmSm@GG1DFWlN99kfY=UQISmLpm7Kcl~(E`E>4A~qWpYX-pazpKs{|WYXf~8 zjkKej+)mWiwQEZ~+7Icm452{0ohl|q5HJ#=0J@GIe&GdD2vMyqU^b#~6r7&W=ZQFI z&5yra&4?DULaEO3`|SexaWg52jtor!wosJGar}Fjg5F=fioduwuwyB$t+}hHcvD5k z>K-s&nq630I&rCwE|?CM6k3uyOZ@dUb$_z}0y;}%w zKB~ifNKwn8#F!T|#gj@k{r;iJf97}2y~xsupKlLf&j3ikg%ie&J9qISKPfmQgc}2O zeAIYCG)eR*V!y&lhj4(Eq>MAmr8jxr-%Z3KPtR|j;^u+H5Gwxsb{A&cT%jqHFr#wO z8??i_qY2D0s|$YYhAnIj-yR>3)1pos2)8Nk&ljsAO5b3<84 z$qX)Y&wvZ?!zXYeduftcZ>svckhMwTwoAFcd|PP5^KyXOiaR(c0s5DJ!uU&5rvAXs;N_^a7#@V zV*-i&rks1r=bv(JDg^lTVYAxG$b^H%G2k-1z_Fg&#W8O7<3k|)^CNa=Gk#FrSti!)w%#!T z<@4>&Ts&o!KhDZPax?9djI(ahf&Yej7%|O`n z&8s=YQTyDC*5f$E_BZchkCPccIG`zX6rrp)ZwOCRm<&%`M==o-YFFi`k&ZBRY85#C z?p@2bp0X0$5Z5LDr&4@E`qCrm=bJM|Fs} zj#&+N)j&oM*xX=zT7f4|`V#2@t?+1au!F%bsgU}A5yQV$uTe$R3dAkXOJ~juwjM)PKyU$~X%8!e)t}%xu z)~U{NV_3m>O)M>GRj`q({do-id zz)g-wI$5>)4>~UIE{&ehJ}~Ic?(SRU+f*-`+E-!M6`2k~TxvBK$|l*jW4fk8eSJm7 zB=f#+epK;A!Q!E$CAdeI1u(9Da~-?g?%N@a#ar=gf{gHOIApbojrd1`OFJ! zlXTn9q^#TN4({E%jliXaP8W}dg~h)ChbPeE-PUL+m$| z3-WtjuEyWAGVPA&RQU9c=GGGBS>VqaDh1~z2V`ArLl<5Gq} zeB*JoY*?$`bBo*m26w4_U$6D>*`X^z)~pI`{wjW8+^o$-z-#AS1&j;`?mM% z=g*fhBb9DBAXmy;YtEJM>YxwS z#s#Z0o}QV`842z4!;QnXNO=dO+{N!^xAC6+o_^3D78p4e{k zg??!k6|$T3c+M3Cr?<1tJIcyp#$ELDF#lh|f5(otKVwH=cM=Kit5?Olt|IJ%a^>>Y z89D*PaDMSO`f2~F`AlIPe2u7wd@FQ~&vs(Cp7hGLtHbeK%*Pc)Gcz_vM7^0s-#e;Id$}o2hT3$;$RV zAAufGr%qAn>e{J@>`6=p-Yf!H=c{+IKW;L4)~uXml^Sm|8vVzWIP4H-4E|l0-|oFZ zLuMg!=chKNICBu7Dip%!Xf$YodygMX%9AE@7^ zrY2LlpiAvqk0!J8Oyx`{)~JeN#amr;u^cNe;02_grbp)rBZ?KW^vDq(&JhfZ*Ael0 zo7JFU!_fA*1C@*pEaG(xM7>`^L8U&Gbp?S1t*w*(+YoTsPmPvvQltaA|IgxLq!Bn2 z><2jZ&rLm#lVea*8H5s{Pu$gztHN9dE+lRb2}udO*PaQbZVC!3xD?99#)cRo4jWiq z4vg9GhPX{%w#C~Gj*$LzTRp!ncSqo>PVL%O$X>hq=FKl;%97qgdORodj9Cka+;I~p ze!Zdwf5vyRjDC~E+;q!fe5DM%)mBxhGAk{z^XF05ra3u1^<9pFAjba1%{C>Xl#c6D z9YU1&(mgN}Gba8X0238gS5NOs0nx%$U|PgrD!3lA(z|wD;_?Jm95~2YKs$xq$^HE$ z*3YP=?sF%GAwRW*_Mb@)eVdS4QZ|Ve-Tb*LK0Zufv_s?1C>>~Qg?MVG7zOb>0XX*> zts`4)7nUxsnL;*!sKg-#(Bc#g?&U*;LaJhGEUA(g&uJWPLR#{#<6GIWjLPzDK<-lQ z0j`OYMt}ZMs^G_G zH4WHCW_sHzr6*H5ut+L*-EqN(CL@Rnrf;$6R|D$dEI=JE`HIIzFysa%-yZuw0g&lE z1a8CHxqCMU@d#vVEZJ~sfo3H(s8GN(u4SQxhmREeHwkoiiU@2~rp<DZ*P{0ysX4OmZ!qn;c8L2Fx{`|{Y|%V7v2He`P%%7 z-}WJF!L@tT&6{=DnVX?${QUerP1g>%wLPNX-K5WTm0RSu%?(R0v&>$-C&S|^JjPkZ z<)fp)HO!){&aFnIB8P-d*)+>gO29fy*U_=#CS0%_^27we_Oc>O&a-}w96fs38FvsJ z7(MlWBlqXj2bO-Wbbzr(X8f8W>K7aB$Jch{zbe^rivyiO2t?NLwzdinFa8$OPw9{_ zPEh0_ndn)>H}=;#@pQQAp=db(C!gfV4I9i3JVsuox5u7&+Cd+EjBQE(iMucU>Q$6Y zCt?Da0Emp#6fmvqwLQ&yn>k}f{EOr(moJ-bsvi=6F@mrstzwD@fenH`&Ljtiy>xT{ z2JS2ivfjYB{rve+p`qPsqi+=5J+wAvhsFUU&sU=~0vx*Wi}2SU+P9ArzAo!}ef8EF z`LA7+lxD$@%)iy6^dDXT_>M(GW)ZZm+T4FkK~R7+z9i_yI}(k4D~i-7+1rcTbjFNq z2IjecE!%)^goYy_b6uDnNp^#oA?$5nu$(M%9K6&)GBFvfTFQh|$xu87^sOeI1TmJ< zZ6W(GHR4m4wmHt*$hXp4U%=vv)*Z;cvoU>m_(!jil#L}HOohF+IxIr4LkoGO>BGE7 zASBTXf@4Uo`3y@)k%B;EA##*&yzb)SGE!?F-qv;S*fgksOZo0bI{o{Lwp+SWWD5L> zWX?Agv@|1Di+NfKQmZJAnA4!p687Ap6Wmx|wTMVU$cta1zAb&wL%28hQ4*j;HaZ@R0BmVUh6sJ_ie{O}T7STjfC*pa*MdNeWcw zn+AzVNmBkG^$X$!!@PCOzgqeC3JYCAoG>6uq&<69f_7kyp)Q2K9~k(ELnlzlb>cNb z5-(H&m1M+DB&qOyT}Ihxs`|diZl5{~4)E4UX^`#I2|p@tthtLaxLnfkZ~XlZGupBN zD!79+_g8BLq_jCSzK#FMlN!y-?^slnPMJP^N6WW%V)`s|z0kx?Hx$OD;vR;s4^sM1 zJi92LX`JPY$vx((kg6vLA0zi4*Zm`A*=aG}Vzttg!^Y0?hA zNx!xJ-6`R?T=Vcj5>$ecE5!MOw3Vl3IB}2_7R)pMpGj;~N6oldPEH4Gb+o2#*|n>E zkTrd&>mf=sVuHTDe!S7)geA3+fzlZl($s`GL2{mlV%+MKIE3S|I%tI0V?!SJqywE~V{&fyWkVyXv$4f(yQ+n&) zDQUg&{0e*wsBkvw zSy^TvkBW0M)juI5;rb*_f+;aDjTv(W*D6=YknvDz7NVIyn!EJILzcWc^*^3Q++fo#RfPJeg;PmpD(MomHTkd|}JhCKXe` z!_)Hxxc14Dqh@OtySaT~Aob7E=#&&+MklZewAy`cGXF*chy|be4DwrWX@VO8@8Ndzd$^Q@_ z$#ouCo4o>_L(uY1Fp%+x*hWV>2(WioZrosA1@&X?iWT2yUugw$G0`90{f3uqwux!@ zC^TE%+_R5n1Qwh#R`j&;t0GFdtA*^zB`}SghI)>t*$Li9ZGYh`n||4{ z0S(EV^RNRm5?6ht0b7tF&vdtoXao%Ya zdDW>%Gyrb5Rj?{C44N|>-v(He8y*UI>&ixae4@L>X1F#ZpW@4~sIoy4yg!e&o! zaPMJh$_+(966=7-gF1;$BHs-~4_plSnYh1f5^*6HhP%JbD9LT-bmJ~VA0blJ>*uDV zWnGM4+fTY}d$Z28E-LtUkkBh*41t683*#q@`%`~~+bis4b~sEY$?IoyWvSDs9d`|8 zTNR9u**fa@$p=M7ku(E%v^lRYCng@TSfDm&qQ(CXR{Q&?)kOVh^^xY})QhRoakC|a z8VSh5jYJ_3fgC+)r9q!Q-622`!T98NobCI6ewUe9%F5l;&96~n=upEI8s7M|I={V< znRRzFbH$F1g~ffpdq4!t7pFl*J6`FT0FpUS+qPM2tv#EE2dH`J)ag4S{F<+;DAo^a zX_Sh#mk_dZ?#9pC60+TZc@KHB6J?)2{{|dz-2w~R*Hf`emlGV<%%>eY<}`o4_GD4^ zZ)r$vk@Cl>^D9HPQfl9SpRf8CZoTqyCzTXeEowRW-p^XienW=PY={e*C6iU<^H0?J zrg(G3#U4g(kBHYKvcsz+`;LoY;9W=~jJGhaOuARRw=bVIXAXI3>$vKisj5dL1^@iX zI67xQ{QqWk;l_p+bFScadfS8U1!)J|IDOhQ#i3B`vo1akvAwjSx_DaI1Qs~9Jvh)< z%Mq%r!9D&4^xnBL7pJm;|loXJ6M6bR>hOA-k zn{qM&69u>6LZ?ByJaI9E;rw;)Wg4M&{pZ{w?I*xamtz}9!KJX4^ikkMPSTn2E)qUp zDH|vrVJ0)i&@H1@(2I%U5X3p784zTsdL}uHQ;PnoWI9n=_b0%=XU{rx>cmizcm)ol z*)tx>Nv83mFm?~d(p9sK+{m2R7I(|PHjj>4?0u&rP?{%V4Uw;{grp zIT8imDb2mvp8?!Bs~K?1YVF!sCFG0pes<^3!+kx(S4&BpM7IHVgxh9|=-m6M)_2>(@he@BV@;29&sXeKryF zyF;0p7(KP7x>{|JD{CMC7@w5n!(0^&6f-{5K7M`Lt$ktM1&OQmE_`8PNYK#M&dANR zJBR^br*|3*q`bvcLW39&qO$>3>381AL^^_}Q*et7J}iA59c$eKAY86>7~L6ysD$Zo z7$oLU`}Ny3?GFr&b(wg#8y=x>eFC9)Mw;6*m{?=*e_F)DhyI76xk2iA?sSp95EvTO zuI>HlUdfj)>66Jjw_p(p;v7xoZPvfoi3__`2HpKT3q&X^D|_*|tGspDb^_p=m;Z1z zGO`oCrEQjMFKFIvsI?Pxg^VZTUqzlAVW9i%XY|U_Sq$lzeWL+E+)j_Pqocx!3I=X( z7PI_wQEhdG_osl9qepGZ-`QoZW$?Ihl0PEGpOGBNZJI4Nn2ObO2JkW4DdFGbq;wdO zP%;fv9u&$7Pk&X*L&`lwZUMkeNPGHp*R)3sJ{-U=1b>ElYR}krC`5O{1S8bd*I&<3 zJMj4QYY%i2HVI9G^*EGa0!)O8mIWO}E}A>!Vv0Ce4BnF4N$czAUWnffvPD|W#T`#$ zwQ4dfvQMGnr`}pxr{d!=Glk7RVLp%J7vO^ep=YFsrLnN|!wtHTbmuklf4fb}-(4!8 z%m=lpDb)(G)Hg6_xxS;WCD1_Ixc zo^0}pa>JAfTswR(bw}sx#b79*5OCpa!anC`k!utuNARkG)otd{j+?C9VzZ6liAGPg z$Puy!vNhA&5BjuVlKi{FOlRY)YTvFM;j0xf3te0Uf#O&?3o)t3Ln zE6naEF^h>wc;fRoJZkal7o?TtQ1fVdoM9Dq!uX802 zdl?>i299F?&z$+5L8ExRh$1nw;ordXQ?p2aYV$o#3GQUM3>JpDyZnUYFY>NT&wg#k z`_fX9h*!1^na!8--RADg60;X++Hc#k5;UCy4N_;iNBn}Bk~o=nB`ffw#Y3-RL{>=S z%qP_3Mw_Q0{|m59T+XG7f@pYVW{f`i837I4&rEnIj4(Un9e(JHjGwa&MW|V<;TaL8D?zEjj3Xe#=pD)u6Gh45Pc&5MwmY1{(}I$ zEheZA!RYlA6U^mMEbd$~!smZ+WU$`Qp@$l}y6Ra9jo9cBztdX`W?nwcSQQs=fp2v} zbli+N#<&TWdw36Y@7C?zYyYJE;p%TQH=jDyI-GB9otDOhRzHnqY6R2=ULSTT;j{ZT zmr18%8>`);_U~`q?XM!)?QhgXB82r%v^ zr;fBHtyA^hwOGoFN=lAHD_|bR>ea*EuRVPfcupJ~fj$tgTY3?!hkr%)06n@*$}J-A zkWY)D9CDY1;CI79q`FNM0@tsVJP@Y;C|}XFJMjvZUDqgpiyt#j45v|=^&{NnR`!-Q zuW~+)kZtFG!&n4Qa3}q%WGlIKw7mdDkS@1g9+rrGKp_zCK@bs+WE!5I4~s8CesS#L zx3%eEx-R{OjB3wsscm>i4@x<(a;MX9h_{;P9x%-+onUL5mg*xdviWa2qPOCp^`07L zx>|Q%_imbRqg(4Cq#yo-UzEPRdlkwqaPmUuN0_X1<d5$Oqa%<;~;Xh@u_*@^Ij2h*JyYPJy4I##gy z9K7JD);P5nAQKyy4P3k0TsAUXXj|bhYgRGwT=aS{4J7)VIm5I@4aS?YA9>tIVUsf$ zqU0|h;!#5Ft0r8{EgtKUj=oR=k&JZ<(=7LTF-E5QgyI_5^o4cbK+79s#nA&n$S^xM z&5+a{zwpJ6H5<@Gh$y6}!b%ZGo$g+q?jChPrUK{c!-qxq*|0XH>o$VGAb8Bz{|Y!X zb@{(Y%=GL3PGXkrHx$3z^iI?Tz$9X}()x9>G_b@Y6tQ+74y9EHK|@(quS3!xi-mb^ z;4E`LGF$hBhI(O;r+Y>{TsCa)w2-6vMt_q1^~Zf;IGJ1b`+A1&e1!7y{uNFs2cZR|_wp zOn)yaQB@FMhFng&GPZ1IZf}W7RniFX)qggkgzgf8-_6LBu{Qf?WtuS`Tq3Bx>dvtK&{p9B}4Q0#tA3aOFf$IG<@^BpO>hv7lDBXt*umHu%tdZ$`& zv@w+4S}(5%ZZ+ctX%-apn8pV^>D}V5;6YF&H+aAuuy=@tKz+0{Gdr5JkcLBG82nm} z{rdH$m3yi{rzQg{>kP&5>z0X7+5j!s30Q~unH#wxYUQx`du!R6 zz(&}!sp`;5J9f*`45*JCVd3A4Bv66-!$KZCeQwX}CewRh*z~7tY?dCTT;{At z^Lgp^($jTJOjHDQiw$C`7Y_rEMb3v0tB2foG4yR|^1>X=%97hA2GnEwQ`ek)?k($^ zAHzzmXwkUsb3~k?xBS->edCR1p3pADaj4E+tWXr3nU%FJZlburBU4IXs9-LZ%~@b{ z1pk7|*P~-(BS$0$_@cT1nopi|;hlC55`X@g+!f3t?#?0*R>LT&lfc#)lLFzf1fVn0a9p+M>hB>Ye; z7>@kK&Se%z@Ml|prU4@j-h|-1gfZl}YNk4w0zue26e1@Xa909%MYQiW5RVs{^?Gk_OiVbiwgm*(9WlDkk+e3%Sd9J` zht~lW5+liE8#-;EuI|_`O|E$)H_sb4?lDiwaf>mHH|bR0zAemp{4s#%$&?wew3O?> zMn~1kSHGDCBTNN@TX{``3CaKv`|WX7sP`+$^D&?LqeZBA+2KL&uj=PwW}bRFz3;{@ z!)|mwH8o{Iw;R^iwK5$&mLz?5?%PK$>5%O>r&HJUtrFLan%wS8XU&7T4|e})T1nE> z@U7e39u+m&T>57Ea{Y^<8T}$whZp@`6A`KDvFJ|h%*GI@j^2k3ojlWK)~v#hcgh_I zw3te*-&6Ht(y3F;&F{S{wNgiqk_u04DJTfuqh2|@vvbGq#ufcRcnByg>njo`ISS0o zHqbaD*(3hbp3h%9-_M<|L`L8frY~JzGuDcOkHdn5LcBK(*QiABO^++Du0<3Q;j2I7 zz`!y2XD(EA21$cB#38cnU=2n>#_yvmX5#FadSS33tdw1vH6Y~;iGUcGyt$!~Wyl);?Zmk-YO_1&>W=JvZwEzO=K zmieYqNgouYE@WTvl4l=E2w6RS z4%3542@fxS6j@p(L1vU_5UsQc1;UtGbrpXVQLB}PJ^If13iMssEpDJA9a`LYwE2GRmI z_pQFFJRp7YVVXF`TfabUB8jsgNxE$6I{i-%K!K65aVJ^XLJvL1hR^*swALoi6%0q^ zC#^}($WY!z;K&S_HIkN#-sr#{mdHFL5Dq$hq?MH`2G6{n8yV!J>b`&fUiI;SL3$!l zQ4-8%7F;-uJUyE!PfQ$a+I3-LN9JS+{@^;FolzE+mc0lO>s2tNo7itE^f19P*cowQ z^3D;+6>QqtRkl>gr6ct!m`-;ydjH{r538lbAQ?L@HhcQ>!vp7x*Y#?d@TIhrE8SBW z2LLpk`pWkW&Wm)=rvqDBdywQL@n$tJwKzLbd4ZuruUbd3xU$R8CwMHPDPcbD5K`A+ zVF;AJVN+(yonPH-Ftl5on^F=zed<(iA0IA5r0g>5G-Kk#WwhT&bPIbK>gWWRtmHdY zo3jQQ#yaBJGrRoddj0$Fw$@@^kyG+$gBW%*PUo+J{)S@MOi0QcaWtW-nu|3Ez4Mqq z|6a+pSO1?FYoAeE;bj++o=T=MZ^QkI0JU-L$sA)Y&OFp+Tw zh3h>lUs3y!mmk=_KfM%=;MMdp>(+gXD<6sINOW7T1c%msyg>HQcz{6fVfBCLXkgel z*M^@X=CVgT3$v2|5lOX&i=>7lyz&AWLPYXR#K9SxnH~24zc3W9MjvKuxvFXne-l24 zVnKw)+Es_SyPfuo%N-Z^3SbckTGiCm-JayPa%Dnj z==Ac3K@^9M`uq?`)s!_qloI^*k|>6pL(+*JVqEzv%0wsS$PqsPuYw_*i+w$Zm5|1_ zXx6J3y-!*o_Ni<%GN!aZJ^M5tcdek%Q?40#JhzEz!C@A-zX6ukyrAO&{cDCxvidWt zLriXc{f3$-zHEWHvX>41d4&146S)2ZQM1cyEM?>0<|Gdq{|_&K0nfDPdu~q7d2C-x zC&k3Y<)3L!2cs@<&99GcndjcUh|4=Ves*F|>&cTa!A>|E)J{B4@`HQ&`5DK}x?k?_ zD%G5^$-GlzC=u(qw>CAZVVI<3bF-(p@9~1jlM*kVmzI}5IM_L5cIvrv?F9R9^T!Q+ zq&9Rk@1X&kEGJMPzm32k$OX72BDMQ~Qx=f7D)k@@i@mKaXoum|vhTAPS+$FL<>_|A4pTXehYVr5AY%Sru*)H9Ex?~E9!JUH zMF!U7qIqmY^0R4jQ0Xw^t+aITp!{|ug=|5{c`8Uj{V{%;K<@FLV#p9S1hCGBab~JQVkKn_6&Bu>piR=4mo2iI^ zX(}N+82%-P=NhP*dP(6wk;^uiN(7+IAkl#*nZ_N#X^a2R0bz=dnOY2!GrW5+VK392 zonN$GRA3NZx6IUZ)D-2yxWvG6nU0di#)1$l9i*_hQ^Ku_%0L=!D0@}w_`J-r8bWT$rVre=5XJcX z<=$mI^XFum2tag$QwseWLut-VMxqhJ{rOmkkgEmrBu(}gcqtMG{_>m=6|mzHiS%QdYT zO^hZ;%+YZeSDYuG$i6vHPp_@OpaxDZ(NJ{>M%V}|?5QulMHok>$IjRn9zL*lZ$3pI zTA@=-G&mGK=#1O3=QTR?8j(xO5;b|`$dh@~WJFZvN_Z)ovH12gg(G&3Q>T_(+sk>< zOSj^CL$_8a{3xON7PfjOv$?!WOqrdV>O6UJB!e^gAGv#66+xI~%MHTaJ3N4&AT`FM zKK|$FA)AtrjtQ|LVU*2H#8cX0oLmEf$M!QY5Yy0VXF}ZzBM(0O>|2mO&Rg2-M2a}D zk>rJw6oyW8o$pX1YG=w6z=!Md<&&;5e4wR+b5`J-VItMA!5`?vOLaOv6P=o(R)>p? ze&;89ESt0cXfFpJ5i#W4zMbaV+Ifz$pM{Kk zWZb|16}^&tUliL94=LFaUsvd@5gnHbj|b&9eWO26P`vIbizBD&+7I! zWz;vda6MDHiy@Y-#7^Qq>fD*pd-4VjH|SU9nCj|&!~F%(2?1cyGYrCt`EigCz3!dG zd?yZO%mA#0j@%72LsI)GTt6aFSfeE5WpK;?HtG zhHx@2&VJ*;ef$1Aaca$@c#3n@Y`sN1S4S{XnZLVj>zCPLtTp;G@*)p+H52}@IU)9x z9S)%H54td%a`Td{);=}^fgXv#VV2*eo00kP{9o*^zlQHLAiz=cfaqF5x^TGOp6B1>XhO!vsFIbLsW^ZGLA0XC z%j+&KgsTx9+0&g^WUpLOLbFOPHkJvc;rYMpQ(U z`5sqtcyQrWg0ZMdiwg;m8nFdwXil9^V`>L35Y4q5{uefOiWXiaUf?Rw7>JGD5Q7r3 zlu6vC{_F-$^-0`QN`?@1jQ|dwcl`N-S7c>nRpPJrl6EmV!V{*)f?STXBSveCXT)-?!cW}qWd;R)^z7LvyJvG2l#IbH?Ya3=b&kBuV;>2J;0|u9b z3?C@r!-u;H=&D4+5ekTYzuPJ@-Y+!)N9l1W0;gOJv4oo4pdaDFgdenWAOd)c6 zF(*V}akplVx^CF7Tz48xAR>XRc#0f)JBF+5PS>tqk7Ir~ZzTp&zIMiwI4c-nCX`B~ z#c+<|u#cT}ZD(>c+M`#SYED}Y%)x2CGSwu&9twOhC4#^J4GJMYY=FyH$>y8$yM3&q;} z&mQ2}*M%2D#wPcN`0CwzThwHjBvNpwLk8TA@LzqwpPn+1A1z*=Wt9EfrOm#!vmmm= zY_{tXFZEpZCUGBk%D*dEZ5-M8s@eKqI_1%YJ?ad!9eXD@YPUu)5p4pP9&WZRrdJtA zCTH~$D2o=(YD}Nyc}WkSj^R0eoG|9Tk3wa-CU;gK&3k}g#Ccd@wm6aVoA7*SHvskq zyxhF~*UB|?#2++FhKp9S zD@^S_oWMfy8n4B;P9jO@Guy5x8fMTohw^EmWz7LJzkw;c|(LS(IRS(@JwQaZgurnFON*l!OTW2sxB31AWy^HLYDcuhs{lwwve~A7r0{V=3&jV=tSIMnsRoM*X(^q}O-;KC z5Gs$34(DoMHSjR@PPKL5{Dlj3CpYdEnIVD8lP%+Ck;8PGh>gC7#G7Ue^4rv(4`^@VTP@UTO<7?YW*+}2E%5{G83K;P67%~eCj;sKl zq3JYVnr*255Q6~|>Z3`0Iy64>^=rDR)yO`pR{g>eiU#*6|G*uWt4^a%SVb!Qu4qRW zMq^U4M+#Fo{$`3fHIX<>o);P^36`j|;w0F+ay}~ZAHY}3{`T6Rhq=>~vY(>T!uU9r zIQ~l%-)@d~{jh^F;Jyjor=_XfZ+)X#>o`#)UoVrb2J0F)Yz?HhDipsn+}zTwY}prv zULqn2&=H6T+8ZAJ;t?)-WNl!Y7hRrpV@67eH^gwLne^z> zS#D5Xt9eF14xbq5z*8y8^Y)uAQe%8ZNkT~wD#_vya}L;8CDXo|ky+kFO^p`h(UW`$ zv3Jnd_W-5Q1(vikH>PqRM1mjKsQEWn-UDR{-`CWmRRKZBqi-VsZ8$Qg_C1uHdu*gm z1uM~7lD=rFqM{Vxzq~X-4Es3NbO)cF+5z|X8wW&y_Z~UD?)-tZX#{QLVQ0i0>T}rb@iR- z$(a(C=GUFx1b_enjfpAjy_p?tap3XPY16*Obcv3OlNaz>+@5_=m9yV%gbN2tRkmw&tgRUAAgr zL3Q@q|8^ADyv7^c{F<#ZRK7onn1V#(+_HX9i%{8m}Hn&@%e!C|LsMAjXO7|#Yj zHTDJa5jysxM=^PkuvQ#}4IzTX8LkTAl3@6*v11oM z(ug%9UaQO&#L7giroo(a+~iJWY!k4Q4a2aN7|Ucy2L#W|8{~yB-nLB}-sxK3L{>Dl zNi^Cb8enkXOJA{Sm6p29+R^`Ld-NN!I*5!yu{v&G`VdIx=+md6Ll_;ONZ>X%8DHSf zy?3;0Oa=XgUn@}+&|)rM{>36&M@Z+>Vy~`XYQA3X#zfg6xtE~b+_W?ogcxeHd59q- z6+fJo9XbqH1`_Zlm5REAv4v3r0x+_fjNq5i7c+Xk2--mB3+0SG$z$O^a__ic@!}rp z>H~2TGOJv6EpS`akRBoi$hDa{xTc{$8WDJM^$>jXgxBIm=894Aj`xl2V$Ys^ke{D| z|5HaNJu~x=_hm3QZ3+}oNm*H3RMcRiM@})RvV{=bt#@Yd6HuGBcj_fCVBZ@&IOF;A z0W|1X4493a;q*EVp_I0q{)A_X+@i@94P-bQ8`o0&^JG&HUJw%VZY^iQdbluePxrKx z647e1*-d5{pD}xv#1&=S@Qm6Te5lt7a2OsYTkVuC*9PKa-JWKAc7ltChwVm^Dd)F5 z+N}S}eevR)tsfPq6qJ^f-0W1Eo2V=h3mC|xLNFjmMvN+3?d9p=K?Gb|VeZ_5khn3? z84O`FP{vF^&|y5&$_J`&D;J!JhnI1ToiWOMl;F>P7C`eyUr zPr9VE@mGjU*eCu&w`55_ zp9ruWu1Q7hu^o^yQCJC$`pH(DfyDN=c%Zp%kc;uZw1YYoMMVh#bWy4w24R71g=`1c zj1itR08#=Ku!fwF51f7M!|>%j1PwjC9rn@0-`iu^z=4M^l7y+mD_)Fl0|vfi59Z&d zD2ZQeG!#7YEJItd&dIlWM!y4?FIj@4mfUoJFSr&G34HdA${4$9JEw~1^|RG^gY_4| zp^={QZ?U8i?mB%{?f<9{1T<`GgqCLp9{kU|zgfE=?_GqGzAk%>CxH7|&Yu@e1mHxV z7Tbed?pZTuCSIr=$PFfy-Nf^EB?_q+<$iiJwqH?LtMpdmGstkcM*)qQYr$~;$8Mb5 zv;wpL`s){#cm}pgP7p`6{@j!Q9fJoxS_%;DtD{r(<+1Xo-j=~*Y0zd-|G`=ipu))i zAoJPiMuM2I{7*VRFd*y;X-^(<+un?`MIvI7Mr&7p_88*`Jxo`9f#aoDdb${rrX%-r zoJ}>R6Mg(&-1@H%a}>ogsx2Ot_eZef9!jfgzTIlL*``T->m4qP{^AK&z~Q1AjOqeX z%RRvv0alpN3wf1^W`ve|i&424EapW=qq{g0It`87miu&F3GqQcr0SPSQP`EZ{sR|i5IzW*PbqcRpEDBR`goDbg8sIi73)-+Hm%} zaRPRh>rKi$O$)d@b#yAFb02l)~ z_Wgk@Z9iWH2MY_QG;UnG|BtZuj_Y~<|Nozf>@i0lN4%ZMYY`c1l%FqD)iB>DCz6VN2gzBIo{ zC;Ilcso>SkCD84XNiY=x+0opRdc_YwNg7MUSkX$!v}?C+XL9cvTs%faJ&i65R z$xI6F-mx{7GtZ3es<&9XVKSc>xq#q`kXlgNa&N+ylY9O!%b4@<-aU~qkJ`Iw_Gj>) zf4+SEx{|xsXdiXx5Fjpwd-;fEj)7G|B`+%tUVd9a62nQo^L8+Z#ok`m)993rRgbDU zY#pML7mqP(j2-M_lPg zBog|F9n@Z&hy-UTW43&kemt6G@tEum#J{3D+H7eV&m(1Z%O;A;Y8-K|=oT>sXB@{R z1vm}r-SgAg+Ujbgj-34zRL5er&6{_GiC6q@P|)wjF?qC=jZCW&i_nW^Uq)Kq6vyDy zmJKH&uAH-Th+QLbcRiJqsdpQV?@src$5&wm!-bD8AZyl7!PxayGG6$@i~aySnvE2% zFvF+kBk)1gFE`3qGe2W8B}Pkn|WP?{CtQs0vTfii2CHZ9X&MFV}S+)BZyk z(>)ms0qrQz5l*S2Y1Sy82cz$tAyVM%!4txe2m=D6j)u#E`=Hw~KKKugfnAB# z*)si4_h}cfbfGJVrvwiTeVUZChWhO40d5C;A5?{CkNIg&SO-!{GR#7>2)A}du9D|1 zog*d?Xhfof_4uQjs+Ri-b=GSN7<}%Br_#*RrvO;7YfA&dEE*4=Zns^pRogwTGNN=@ zHodLF{b7)k-_|%A?@_4f3#Rm)>kd#0suUmrbfu8SrKrg6i=B__$I6ZU2REl7+o#y8 zTCIJzv@_$}Bduhl8#m6K-Q;$#wPPvH0WZM){rlS_$mTxc=w&Z?s`_R}Y<~q1$dyV} z2IEmo*LGnW`<{^`$z&cN_9D6sYu2XBXr`)}QGIYA--wKSOGF(l7S|LNJ{=}>-+2az z6&J^Wc>|7Je*h8i;_cfG0Ql3Uk^RXJ^4>q$V7E4VeIxRHA5KsBFz$Q@V&MRJ$YWrhOG;dRJ5M9vAb#?vyVcLyG}zuj z7PwUY$?*#PZrb5$dd>TpNF)?b7(ZZ)Cy#B;f(6AEG9wFnum?>B-T-T5RYr{C(c8S- zK^XQ|V|q?VTYl1N`J5REyUtb;WdYvDPiRF?#;)9}ouojSO!G^}8&zRRD_NW+=q_`G zbi-LW4NaRt)_CpO3)inx)i-kpB0dFqH7OJbvlI;-T{q_Fr&21-o3!QYTyIV@FyKGI zP@p2Vttpifo1Be*qTtB*&_W}r%ZbFs0~9M9Rz!7@^+dpjBEKI|RyhTK#&{lT5Fd_Z zzh>=PuY(6UCewUss;fCxL;xz$KhrLtk(CmO@{V4b&V`V96gYY`LxnQEV&Jze7d?55AV4pe=@IgC(^hjM)PM5me5oW?!2f3Fv(aeHlA zALI+ApDnnFs!Eq)7HO;HS}@<#R4DeiaG@6{teA@#U9ko%G`WP>gfF8XQ=Mr z(@|fs$W^*^LlQ;LP4JC5=AdHJ7xbs^-*=ZdNztE#UAgkaK`W%gyM$c{y*pf69(A{L zswg-bf?j<|Xl!sOa57OSGFLPVvCHjdZvsCA+)XE}X*w}sM+Lun4Bes^!@#VqB^S<` zz3%RS%!7!(#4sRnW5en2N$KfxuyR;-0^T9&$d|B!t!U{oImOtmbZxlx z9@?|tC`Yl4@&#rbTmo$!5WpK&Y|>dIZkdcrcA#%JOcr>!Q3HJI(XP-hK6Aql{12oW zTWb^2UA=61TT%I`@nFI(UHTH60;ac^aSz( ztO)GbV^dcNmFpHd9Vy3taSYm!uoPxNKue8pnAcG({s#}_gmhqsk1;BFUEQ>Y5BH6_ zNce*9w9OV4t2WzY^}2J;buSLsyqC|PCzjq87j#Lj*$;V<>%-EFQ)p+{D&n3_S@Eh} z2S@-D7-1!X$eY=LZ<2P|X6qPb&^0<9dS@%D6 z-F!2O4TU20_G-ea>E*a?*rr0R8 z>*fM>%g>l@?2j#D$OH&z*vJ$wI3YIb=kpy(YP=Ql+MYH{VU~}(LslxAgq8)-$YnfA zJ$p`wefnwPiWN_tJDE8+{rKzWX%4Tw`6A`Yb42{|Z?FMA|yW>NsfQSnp6#vU%M z9raOca6inbtLNcRy+Rfy-P$09|4pp_sg%Q3pu=m~vLz#2DxGhvJh+cU8kK`=)rE1< zaQ-l@xIRUAQt2A&tIu}VTsW=Tf2iEm4hO4EOndA<5O7;X^z(>=u8})8YsQSz<9CfS z)^|5dryeHfW@TWFiLQQQ{q-%mhC+xvc2{FULU)J2@AjpMqsmUxPO+c^*uSLd_U?VO zDQa{T6W$98r)^&xy?s5~artsF0)-F`fS4vRY}vPOc)yG5T@q9X10*t1OiJ^eHfqEO z!b_r<7l@dZE*xPiw;5htv`xBu``9)+;N{gxK|v($UinsMCnk}R6e4OS)(b_aGu$eV z2>m|2_7;JV=)##(W%8DIySTehDZF!1%I0lb?&vPgb?53kG%W0~H2p-1RL*$+mQk2F z&|Q#4x#iC87OMN;MPP0B!4MC@`X1cbG8}VLd_)9F)F1=>uaU2_cImoRPnfL`GT*tS zt3qL4B8EtI2eRSV0C*ze&8NH0vj-1E#A%&;=-DHOs3OI`DoM$YcV8Wxu;+8P898H^ zAx9s>fNkIr+~6CSoQ2j!B;0=X95GFcT`-Ai!-omHtWJ%8VE{He#Q(;*|m;^o|~8V4cLFgNszO? z3^`>43tvkJ);K}KBO}+9!Wgb-*>YcAo|$y$_;Ga>F=ZETk{|8~CQL2%`x&7yxy@pA z&v$g2|Dlv1nQ=c{+Lc)Vdw_Oi(+mE4p&014WEbpS|0`}X{wC;MQvh0@JrkY5$zgGy zQC0k}Ah{&u#zcGjYUFDO7xdMY#UUJw%h=2;4?37T54=O1TkYGYpWTbXgP*eDhO}14 zZ4aDnzZg`HM!e3uS>+kx!AR9(TuEtZBV)S*k^60-f<{2ab&i+j>NChE_+2R+s|y;_ zzzD!XQlh2?Uz#t-u_g7MEn3mlWxQp82?}Ki&CJe{prrTJ^juriNzaxMYF_Uj5RnSY zY5)kY1o^EEZO%2rM2TnJbH3LxSF_# zS)q>$4?94#^ep@cG9DQ;jz3Nc+x$!iT8nYt&fUD}n|;{1fah--xAQ_!(7oZa z&g6Xh)VF8PGMEh|n+74T|Mqb@;30G1tnE50E3*(!gol>_?0dHUvC?SlH;C)HXus-R zN&D+fMt9M*DeNeQuX0}~524Bep_6gJ1HNT@R>bcR6H_RzX1R-~`bssb2v(nVx6sTW z@E_=aYCjdjkPhPGQOOK@w1?)WO#fvmCz+~*=<=3>m`ZFC3?DpkakA!#9$_SR#EQz}yWMd+}X6(yAV>D>V`B1v*Y)XCR7 z)24%1+4@vW-#GeA^gv$F%v^sf5Wya+6=QZG+WG9b>}HQ#jQ9lwRiR2xIB`ACC~zv%~~5$1RZ6|AGon71+NAEBwK81LB1K0cqI5FHoyINQ~;njmn)n zn_DsAKtl>&^rZIRg}4d!m7Gj$@h#d)SIVj70>%v*GNkx`6A_^06Gt0{gxzW0uySXa zP5;7Lk1s_uMW5pOxf^~t|DGTb$)$hp1HgI#CA=XLngc=b(x`HToVLr^0#cw^So#lN zgaiZ}K5-)X@Y(CV&I}75)HG21|6tCi7aRtVWVG!up>_RsAW{^^<-&m3r54h$(y%v$ zai0^3L9XOOO46|I!2}IUpDn^hb=HjQw|8yAG!|QoKeBpzpJQsZqqmCjlDrOLKd3&% zs8fTh!UICYe=m(j!+vNr3OG*oQ5NnGFA51(8&U%&o~sYi2kr_Gh^wXJD( zoN)iq{07}LSu54hRh$h=MFt)(V7Wn z22t0pSr)wY{o{|V{O8uz7R-ra+D)WcL2v3Kp<3@X1t#dYgRyF7G@_gv@Z_j+1nJ5N z=Nl(GfxW|Q0VYsIMn>{QZ{F-vSiwZEW7Wy!y#q^YignU%E7sNjRBPF-Y@E|>ukNe! zr?hJSQPd^7IG>Roe>uMgGG?etRrGLwjrS=2NG0LvqqaHnRe`ErbB7<&A{zs@oy(jI zzNX8HzkAWfO<@;fYtfE2jiIpmTRlqHuY1fMqEITbi3FCJfLO6Q?dKCds$qyagZ~)U z_rbK?FcLX1Q(u3G?cTua3Bn(dS(q@zk6YkKPQNdeT2h^cA8 z={CBy*JWr`styol4^PjCY2TRHM(5r165ZU4IPmyQqy)LT%2c_){1iVMJb_awek7*C zX-tc&E)U|?LCA6Oq6p%l5qT!MMvs0-Hn!n&<4zaFhBhl7tQmnXuDgN)9Z?7(0!__7PM(ZH1xaU1EogaG z=v6@oemzjYLj0SB&V13lK?r>aza;Y^cN{?rSr;VH2|M>2KR%lpi*Yh>b7svdr8EM{ z|F~%WughT9GR|Ty^EFy3^b4j!Nwk8OF>BT^eSHUteZJv)rV;Eq8+HO^e-soqodkd- zMTBf3C_id`5C407*q>^vs%Tp&VLcu`3yabTH5F6-d~k;f(brbL6I<@)FBT(HS?EJ>qxv-{5o}9I)RJw0oKty0eEQ`7GCIxZ>*L`exln}Kc6?7T9pV9U z^|k~uBf`_@F)9ojAyYU!6#>B2W7yd^Fgdt!xf(T~@T7l3k%~(M7#y`jLS2=~Uak+s z4dB6tjvi&nY0NFZ2D0|wT1(sCC-994b15UeglBj4h&<&dNaELKc@Q|)q`<22$D&uTm?2%dU5gLf+UzqQ+ZJ`R6>`a_-qenykv90+h%ZUu26^ytB z#-4_o3)Gy_)z}zqT-u{Ym%94}0YLDiuyIf33k+^t}^@`8H5GCoCYYRNddXO;j(!Lu_40%{hL8KmjAz*rGjLgrmrhg{g% zd0a#bVcg^hr*O;_#SyMW>3K#5qi4(6$NU4h9oa-W09Z@&r>8n~?fTo%!@~v*A_%!n zyLQ;agk=2c)#fe$pJ;HftWh7c|iBzkA7Z(1pZv9MG{dq=h@zSNhIz+|4{_C&7W5z6jfn_cT zM5s}-l@u?`+aj9i$1Zc-Hy5s#PCb71YzKzbyn+4u>V#h**fOm0@zbX(BFrYU0=SC- z+6hyN){(D~=TAm@Ypsp>q+-W{$tLpS!@Ly^#Ex~eah>b-{H-4XET8Wa4eq6Pt*I!P z{5dACw1boLFfI9dUDty99P=(ibj&qI|Go=%twXP>D_ehj^}okqLBKWvpumDrK1yp% zn#$)5sIs8)!M%(pDLzRC@ALFAYIgR-iK)HIcpFUSVETfXG~DErZiA)DKA+<#^S9Fk z{-6EHL8+&AK^c}>#2PXg`^Y1(pz?}}q7N@EdY+rzKcho1#oSLN@LrA7YqU>jWpAOJ z4U&iJPBNU#^^spw-f^d?g6E*&Cr_)rxaG4i6Kyqk*~rB4N+t!v zI*xKBRaJz+k6)05Vaq|kyaVoxVeu8sdq}ZyaTr044_Wr+`SS@k#u9@DBnTD`sk?II zHw?4mood!>-1y|wVW!TFL3K#-_nSW)5C{;Zhx8U)k!|s3o1Eb)*ksyqW-u&{qmNvM z2p^IfF@R7&G9ns*maGI|Mb%G|0JEh&)K}_DOw~laj`NxsAXflPEXHze!A!k)U2EW2 zt>tdWxKg)sIaRm51%iR6o}tQOp8{x~ak^_rTzylj_6EBUu6Fc!m7|)C`J4In)~jQb zTW=*sW?Wbo)>fj_X?)x`Ph6hyiJ6&kO$s|;QzRkpQNGitbJPN+U``MwxzZuZ`L}r1 z+)>O=5fh=g%31H=9_{4v!Dv_h?6v~~H}n8Md@Dd7>g%LruUgVuaph3%u{!yo zmZ#eND*I$X!(DX$YRQ}ZLrGsVM(W2y)iZ$!1SJp7!C?>$kGo*MNdjS_$Pkxjm=Gsj6MKi zP(g`lU#Q0^PIPn#!iqx(xX7D~Q4(jj0_%cwkeK$zqcy;>9MNTJf7z zlPo4^T)qh37U^(wvE{!>95sYNgz0GxqYcfj?}6LO>lHC8mtVC+4Z~)0iKSp*bN|g7 z2%8mV!#$X9eEeCTWBWlytL6)~DgMpBBcl#{w5Ui;O~zM`cdk2;Eu-ls7Y&##={8xB z92++h?m5lK>CWTF)0|tryh29;n!tGPyQLGv0x!Yi2XrFrOjQ=xD}Ssx-S|;7S_4 zVuC3s3c0Gs*MC=z_z`dgb??9MKg-jCr7q6|Sk)WQ&_<%c(YVz|v^F1VarWy)l1*;* z!$v@*u=3e$%fF9;eBlOSz)sJ;5q4rAGPD~$B|Ls!Q>eo6rS)eyHq_9r)st#WmA`0#uVG$9IeHd>(aMO*8i;dQBMf^tV}(X z7P$*i|9^XM9K@Jz&Z_&v(axxlxWgw!qmArGLLBt(wWFL+w?a|Onw7%gp}Y=9Cip*b zBLc4McaP6Lf8eN|Jy*Rv{~L$Y+VL0&*`41ZIhw(Yfw76u;N)b=>reGXIbXhzPR=kY zG(>N}PInZDyRUEGtxdih=O`<)lI3K0u3zur{b^fo3zsX`R_G^RdPCb-!d1HRFGjjP3FG<}TIhb>;_;K7Q^od%gTSlm1T* z&t0OlMDz5qU=tJ1nv3W4+71l9F}8m0z%Bg?F9l7u2rziO(?ed-&IVE+=xrt$yT6e@->i zv*uV`9YdZUPn)w(bMOpy?*%{%s#S-$L2}M)lfb(Yoff8; zUkAbcyj?Hb+i6B$>=--ZS-xN+`|j}ziYefj%~nr?#Rf51-mG-o59xWp;R;f_#y6tE zC0eM}$Sb?USKVpG;S+zCyJ~&?ht7T3f3DM3tf=?10d(G}p~Uep za{n6}nGQ@%FOF3DM{D9yKfV50k>S^3aOWpvRq`7K4;$7}qM~8n$?bXJS;_kTptrM4 z7<3_gRdwUWJnCxv;Ax~r_Dpc@K>_NrzYY_m8b{2IRI$`7jX1Ztb)AUoa zUw!f8u6gWusst;>YqgKq>U`xuq1d}lhi=^X&hUAcsPUlY)!5Ww4wz`V4;E-7m`FY$Ea z>$EgRF7}mGbcAQ?kdZXOefICY^N%TU$_&0&?HzyuF37Y_vN!nC3y^x@%$XbA+~H;Onm$}P_U=wF-#UXaYB-Or(srW zCogZVrNYUNX&5XD+5skvnrwVyT?LPt>*43AK79j;M?Yy8faKwH%(t<;6zycBd<|gX z{09&iT#EAt3Yz)t+eN8cU_h!=QfK7=0>>hiz?71clOxgxiS1(+I?@I1Tav@@O^hGE z@`j>iT6nIE7@Q_827t2)2o5gLdB5Yw*REbuYEfmz^tsFpNv~%!eO~=;E-}U+@i@R2 z^moF0{}S=91ttJj3VZBd&-Z%PX~*kW9ZAzRHzVfGTazo_mPsXeAKW(PK?k>t@)>#&2SM z^KooCOtjRp5QZ6sN}g-ht*Zi3=8xn{1GIT)-HjLd57aQ=7PNDnYzAkpr=vc7i`Xt- zUk0J&#-B#btM5w{J;**aJ^f_W$i8VYh`kx}WJP9kDpl0&VfA%&_S>ALG&(;%dekr{ zK8mAb^-|lW8hZVem8)+wJ`++;x*F8nLfdrv;DHMkFHW|bI%!fqZHDMhO-s@u_B0{4RO*bfpG$2DuG$+* zHKIWx+9AEaY>$RXUpbG*LiFV+eYtU3`5*@+a)cdLEFI zgTc_H?Sh`EN5o7^cxsatL<^UgMNIvkni}t{^KEdU+aU{!^-lHLNFDV$u5Mqb@f{9= z%|VwajNaJs*nYrBS2}!X4QkGhaGoA{6l+_&l!KCko)VCqL^d{G74#07V-phJrYY{| z)F~5JjG23@$p%hT5fL%hxgS8%kzuF#37zKEf3CbWIOx@ z|DBPN?$HxH_-CBD#U&-q;Qyj~ zi?MAl;XQ{1y4ZofaXp51})PcoB#xh0rR z!MJh6j$Cj1_USEMuupf0a39;kwG1CJj%bONE1WS#P@vJ#^YvXMUD zHb@AJ(}_Ag@(7iMuGJIHL(pMJ5-2#e$65NRZN&}sJh9hbL!&Zp9vN!b%Ja=R=VmEl z03tUsKSE6c7}J-`3~rl;KxeNg+CBbIFG95ZzEPn_=Gn@C7HT==NR4W({^S|U9Q zj;EsYP~wM56B^}QXc6QmX9bul6xy=LlI)dDp-I^Lnx1$Bp7+#7P5?0bqlm=hn}W#= z=rJnfY$C!21Qfnuv$>vtJJH+oYpGsAo@J{PvORWM*bUSjKKDRv(wXTHg%ZU7y=6>p z%xC2?sZ7Qp0Yh|O~&1>`$Df_zuXF`ZEuRA;YoMF%V;dZ!fFFVtW#}~tAa{q!iEk&K zr(6$~3m%gjHb)Huz(Z%04F}VzG-ieJN9p-J?Q6Ryf8K%xzQ>P~Av%h0{%q7ZEDh+a zfKlR?Nl7Q_2F$xy))`<=5(6TD<>A^8Yo;m3HF?k5Ph~l49@ESl38amDDe_2GFSpr^ zoM-l^E>HrMlu)fXXYI>k_y2kG=4KKjuA8?%nej6+nJ${?)O=z94Wr-8%`ZY=Q|-`Z zT?u9eG+z__FUg799fq-O{Np;N_Q6k2;JcCL4hM(G1?$j#8~ForDfQt%=`BM;0WXVC z>4UYdqp<$F8fns(x9z%s{R$vbaE(WzP&kh~x*c2**mPM|TwPR}=tdYZCwTwmQFBo+ zy3LO4n%X)R(2c8kjH)-SKl3`7gTtSWV+9!mG#ekPgR1Ux-ye9uFH+NkR`H$yr~f)N zihC=Jkq00&piQA?0a z5fSjI{y0^Jgg{O#Gi?79>Hglmk#pfF7&U4^*&)v794}dXvjDhXN_g7=J?0_@q~1Ms z3KV6tl@(d8^Oi2HL1sbAAiSbnQi1Xc6qv8hndHc)46Ml~q)15tUZlq12mvHR zIMc81n+pqS_$-V)=WA-=y@TxpsRA|P-=kZN+;)smStR2?BG$0hC57$;Y_b^kN`Z3AyK~2m zSbjRm%pZ7jTc)@=4RTq29I0_|l~5#B9bMyeog@DWW zHZ&7dSBZ(|?sa)22E|AUJ$hvMPT^tO1jpEokyNE;54-~9FF0^EM%Fx8$fOvOkHzvi zG#kEHa#86t^!%NM<~;&TgD`5HJ4a^BqeTQ&+gE&=iOP?jPs0xuT+{jX*X)FZNyEQl zyz1E#m&T3IHtZM3=sEM|70tfxB=05HTdCEiFpt?*gNC$FYCW~L)^J5~=i2utqym9S zs3j#Iss(Rcg|!B+d8(Qe!qOjAY}xg%T5r-6f-e4sPM zPwVWC%ol%Q!PezD6HK7^ZEzd+yHzdK&1(0cQKsNBGjODrB4rnq1JQNt{}x3wG~Xy&MQa}#BjjRk z)hGxSp3qa3-)E#*X~=lQR6pxh28MBHgh5oQVY|TndQW4$1N!g?^j|EURW}q{7+UZ& zc&i#zVjKu-xdfR+G++Q~DGIaAb!bTA`L6fie-YLoJ0q>1?s)h}dQ3aJ(%GkZ%Cl2`;%sM;Mw3dHcXkd?A;>#gj`2Ib8L^_9uCG~LW4GlX zofq1bKKt(RZ4sP3dG-t~Zr7|uUT=mtn^bL&xoin{*#O+uRiYJEHSata~d2T_H};~b@=GWvY66%F{(u7TvXJO z6BoWH8d^vyv90SsD-a?jE~>7n+{mdLSfZW(~ezEO4M@p%kD5{K_H9l=!#(jhUF5@`OCF=~hP&V(BHgn_<#bd{#g@*=^J(**Lx@6;)d4RrL1%GKkZaG2h| z?;e>%U1HtnhgQhic!4CQN!B`iDC5W(Rr&;3*R5^QO`Y(fEBi2S6z1pma!hbK926AN zWbp6Z=T7>P)QLS)S1wq%kn$e+_QP0ru2UEsp1SxzSGMKM8Lzdu+YGg3=}t%1 z(c(}vhI;R23dj*1%wh`($ZZR-3G=of_{`}<&hpfbS>1aL; zf=7Q7#)*-a`e7q=9-JiBA7)6?V-rjghGKz=#ql*51$l8CYwftK$*X|*blr-c4s^0*^&`uu2;n?AWmv_rzPw|YoL`DjJepjGgdHMH+J-ETj-l+0@C3t* z6X%Of9BCL}0JS+V3qUHvj)^se$)E$m=leka?I1n9Xm0CAj|5~Q0jYpicj?i?(#k3& z^wsm{t2S&nb^7#Jd<#fFK7ITMOpl$ge8q8aG2-#Oro4LdhD;aCov0-dD~~1Z<89V- z?f%H7aGdytg|l&c-{E@crp2#)7xo-B6BBfXMhgw?w02p|;{yU*V{Yq6*1E#7f^G%o zjG`Axy!s%b&yye+6dx-;vNvHjFt-ZD6fO@5JJf0lcBUkeD!)qW z_9&jyFT1Ri!zw_$q>Brj2TKVkBk`u$g=mv_4WOZUXD0u3)Rf&26xd== zYfnSmcaS2~=Y%5?UGVZ{9+^VNj~T;q@7+rny8rlHrqq!_XUsiD)($)=;V$}BS%G(Y z>F6Lkr8b!o@L2M}eso?7AX}Og6Z{ zsRP=`MW17dD?-Wn~`xzV9R77sDR}{)WpPA8DUDtXQ)lO`jU?rzrzyv6ggegQ? z$jLQJq=<0e(OsAd-J;b_))i-m7({fZL$BPjr>eCGxPS+>pH7K}X>$cpZpFoXg)x>H zy7BY=??UC<0&;J|LPE5(wLdtFumaF2EPSkU;7rx}u@NUY(*~AW?6}iuAs0GMHl7QA zT4WhlT2oALp!h4)LY!=LARpcwK6L2$+qdM84J`lTsd>T2k1xJ_M=g}~!?V7OwIu~u zous)f-__C-V%Taf5+jXN4bb0AouZH*XE&dv!H!`?nhF3OHz{ZWIqEy$pYa#Ox8cEc zHQ2eG<2N|CpWoAXYF|`N^ejIw1Lny~w^Lq6QTWK@u!UpYckB4`IAg# z-y$AA?@@3-^B+{js!8@iT;q(uAvnCt>9P)zqn*yXcZaS{sy!XxYRu_GB4gMgE9I6f znvfvwQ?h_EOk;ZQL1+<_EO^5lPG)SVUn>1#i17 z+c+=QLn+T9*a?FHX>wDhTm+r2NB}+KbO0a7Nr>!#`|+nq!PBdJnO~(r@F*Uu(M^Fo zP9V7KO1XlLV)J>rd=ybFVPyGp?UQ$xsF(I~9f)uOja1`R%~E_+wlQ@(vv3Z@k;E)* z{0)c<0r@ r;i6;2;{v@?+W2Hf^PgGfuwrEkoIuw&@n0(i19;pId95Kt(C3z$>$w zFd8Puj2V065kWoq@tl$5juF-PDJG4LhNwh2<);jAyg9ir{HylgKObH-HtEbZAs2}1 zFFvfsI7oQy5hFHKV#Ut{H+2}(gHB(#ca0COw;JSnmKX+qlLUH99tEeVXYi}t8JU?Z z<2Tn;(%Z9|h;5KIX_NH_6G)`S#HLpIU%un?VvoDDOXbuvGxcnHd>W zha=cGS?SdlJzHZleey)vrlZ<%-xfaV_g)1DGLdHI)2C(C!^b+eYg|#^QKR=*Kst&w zxt1+?!2XM0c^d|BvvE2OMcwkc&%Qa0vlsrTjG43QYJbDH(A(8T!4bC>rUtZX%U!x% zPffztxzs;%=D|P`a3AsEUv20-6RV~l)7*J9#5t~7y?Qt!5DX0BxYrOEp_kjPcZRyn6L}1k;-4NM%okC2-L_%+6j3)k_h^pgg3BNrqKPCFN2$v3P(` z^g3SZ<3;Psj2rqkN(xTxk;8}Q-ilrSsxOgzw4l@-yP$Jm)gb58K*Ly=tW~n=dNa%Q z%Ykkmc;&=J?Pxjed&UwqP%CJ@-nXARjMuX2VX<+~$&&)5HeJ${zrHoPF1yi_0n#;k zeUJQP`MztcZ%=|C;&n<I&iluM zeIQs8KeA*g<6^$z_Twt`LnH*>uR7nED50hR_gNhO39G ztNf-To_?+-cH5FA>3}&X>{3YoCHDbFWqe)Pq(wtF9Af^^KX@L8+^h2IEiJQdZC;jg z(}(S$NMaTDD#7S|2sr~$MHIw7iOkJ{#!UE3c~`Te1pK4E!*bEe|cN z)Q7YM0yznFYAMdH5>W6z5f_&3~ z6_)zfUz=EasQClsH(T?^63{;zpX|}2r$?-PjL)2$BSTfL7u0dhU1-qU zp}%Q)n1Rc15b6fB_Zumj8wZOxU}!SRZjz@2*4#rzjb@q8vUo7(PE7RHTv0CS^LG@q z?=Nw9;cfb9dH^80rbR<&@^hEr;Py~CI1Pa(5WX#8i*dF*eAu$f>7tn!>`|Pf&St;( zGxHF4Fnlc^0g3&jzM@^CVJHOsXG6mTfE`F7SFfUyNAV5#;SXmIEUYav3Ai}dSfOh%`4V#Y-t9#5Hg zz;BfnJ>A7wXHCAoZYgAh=oK+f=;7X(^X+HFI`n3|7V0xI_2zf3vq^{@U>X+Z#;_qn z+M~$tL(ksO&;UV%Xw_i5D;l44d@d_BA{J_jGQgYv#_A2Bv0vS%a^I@o(fHn~@*GVo z-6&va-i6z@tLfQMauY=HPH!?i8&gH@-P^MaxPfw$VsgX#taDr0dVCKYMM9y$*4NTf zkO(TtH0UDc#M!8i_N#xY$0lkLI9K+n1_JEyfts7q+%|=&{07wCTsy}ZsIGF*)&vtM zKRMRAOz3ffe1c`=qB{X&`E0+2QUB$xYUKdYFulWkeHVXGx}Cgd4Y{~9=mkjyjL?9y=nsv%}@MYHUcfjkLAHE zU^y4gDxma53m4v+7hG`Bg*83iebQ&e!ils3d>52>kbI<1Tm+w?-T_wQKz^_H5$*pw zoUdf3;CNzX^D*(f8mxVM)OP1Dg+xeZZycN&qo~2=55O)6` zYphk}Q5GaP?AbBfc@6$=#l#y?^nauFwAEAkXT<>+{%J@G zDoT_roN>_wJ8KSK9o&E5?$r5n9=ggIj2XjU2WnOq4V$xX_w1E7u;cO27It7eF@}^6 zcOE)7F1O%pg0s%hl|u_>KR*{~SNe8V(6wtJlN1+X{AzN0{lU!LE5$_%?#hJj#@#INx0ZLbs%G@au9`3X%wjsi zDsq*=3(z#cjy^%_i|sk*nrhZcZhN*Nefo{@HyjS}3vAi)RaGL#mI4LgHl+i0YL+XU z%aqivVh9|4@GnV)BfuFV24Meoa`$M*xu3b{AcT{X`y-cNH!zVT7>*@p334}tJN$GV z?+oi=3vz+n!|$nWQ%$1yF-B;CZWb}&LriNXy@HOO#W`;E-R2{rR*qXO5JQ)2AA=H9 zdo&EZ|D}u!r!?bVqL)C;>qj@uI;Ll_*tqfS>(`!of5}@|T7LR;HpGd430)+&xPand zWdRu&L7{H2ldz&0^Enc@g{TUEI_fC(q#Uj~al12FnPM1m9zp}c!f=e8Bm5r`13mx3 z6wM<{J$=EKr&!^J;N%p{W0Mn1IrFtJ?rlb|cq=mUI3|I^QxWqu^3}k^yS9@9Xx2zQ zvv5&dVLnHn%qqys&>q-zT1tR!rrwtqK({2x_ow>lG1~zTx*e)w$SeP;Uh<) zckg7goewcx@Fv1{&!u0b`*Rd?ztOTU+KBYm9-%rea{>g@57QN=u0$`}WsjySp2`1$kJ^{F zJG+r1hP96Bh3iB>n#=*%Da=z6A=;KiXyB0venoi)z5KHqJmj(^C1yw#gwKsADg8Hr%%DdPuLyNQx3+)DWOY&ePD; z%;QonX)RNpujkEjY|3g2K8ydxqio#kc4ZoOq_ii4#8-ctY z^gp3^h{KgNbNKMX_svfF`E9#LjBOFmffy)2xZ|f!JA&5GW->mNds<@9%ZSmV zk-4Gz;oKxv7Vk8i+1Dh$N5zM0TNa9WJc62kx`CI0mrHF!6mNk)(9xX-ptb=s`STnR zOaVu8Vdv@+tC25~yhNB(g&?$i{-_ zXL3K1nj`xU-dKXO8K|vImHCwuKWW6b|Eg7>q$Dj)7f@|mO|sx*C9`+o z?(X+FUwGg6-Mr3(PrAm1fd``?Pp8HvsIzM~!OX z0#-=5Olk)C_sWM60dO;hPAVN;_!jJ(pPhjpK~;b@zI9TvJH@f5F_FhoXYLP1_r1yM zuU?t2K}_&w(~aDrJFZ|kYfvXzo+<>oOB2PhN|XpMRdTQ!Xjr zPV;2KuEue5h3Zp1Y!zJ-3` zNbx%{!#pyTmwV@u`gqs3si}@-Ij*aa7TtxT@koFc;e1D>!YkNO1bcrwI-1DT(~*a& z*4F`jNE6UU*j?3~Gj-MVbO2W-=biZYY;xTZ<^;Eps9VI4fCQ#Z4B8O4lf-09a#Cz-^rHcv|4VMuExEnc>4-lh3jderkG zr)QalMsK>ro3uFPown+#nw@UNcS%|Y1d@GqBta!jkq9+G&ZiUG?n%?+HrS@vJ)rz) zW+%t_S3CMkv zs)2q1%2m2{Wo#H22GobOu4;VOuPmtIq}BrXbo`j%l&n~|AKRCSzaFSB7go|XZEscA zi+xqbsgB;HuvVqj>(mLWdP<4a<>A{eg#=9unYB24m5jTghFp(Z?kcT3<*pk0xZHk` zuu7(`GT=IJAAq#(+*oMOn(x@=K0N&E z%%5x{j}7q1EhV$gPFL{CIWX%>$@2z5bAd^OWwU8HT9TUEn`yf;yhp;u?qV-*1=Y0X zbdr*h1{ zI{~KCq3j&eqj$4MkEm{5y)+Wt?6u|4>UG%$u{D3noJqtGzI4izzP)X83$^F#&ts!#(hG0!O9 zT!;04j1MU55)}q)ByHR}=-0##-syR2DF>r>D^;hu~ zezB>y-pwa|(9@{!$EaphN!*~U!)2Y|Q-S2fFN?%dg6Ej~aWKQgDTk6aOmrjDmO)8E zy%W1p3H?ak$ixD~$z+lV=h`o&4rdqN7e`@u`qxSOBydvlH8U( zC68d-IA`(*uyOFiK(ho z!ifAcU$rU+tc}Bzmq*k>jM@D*@gJ)chWFcD`^SkkG(HT3WQ98#JB;RlT8`ipp3_p~8X| z9Sxtr7p83z2Ne`4=Sz#=JR;KIz$M9Uo37N;vJI`t(=!G!lZ1T=={F^=w@EMxDwxzl z+AfMz|ENzgn-O1kuqTF`3Iif!H^&pA3hT&iiaY;>Wd)X_j~wWGS<}U;mn<)OstS?N zD@p4_6Gxjz0_hD9`b}n!`b#5DQgM@ep-e6ESC*pT)c&E@?(BVj?xoPeQ}0?;_8*=p zYTKkIplMmh9T}e`lZe0Dp;zw`9l{8dhj}`+!JQD*>6TTtyhI(a;;R_gG^20iO}(H) z9+x!feO9!)SaJTmu5^0%??#;^L$^Pa z^o+~JqtCm)8}FibLOt9duUviST9aTmqeYoq0B)UX zt8Uq2{*#>~r}U37Lvqi7nvjP47W86@mzXs9v7q4X8wVgVB)_dC3if`7r#fEO0PkRZ zpt0J$`z{otzytzjQ}4>G;&N8g6N1saBZ$LQRMJeuobdQiM?RsGa^JE&{sd&rY(+B? z=sjN>t_y*6|BlmwyUZkvU@0y}it`%??o9j{5jCSR*y2o8EXvhh${+k z6HRaW?Jd7wX%A%aE;Cb2!s7n1sOSoal);D6QZW)6k3R~>@Wog0%u(AaJ?Yct(z$bz z7`D!F%a}tEd4b4DS-;yY!8EO$U|iZw@RatL9FZivyEJ>n3IVz_!ESPUT@%_EY&hFQ zl^+kmLq$VkAGs^vT9;!HX%ER59LW6Z`Jt-n>a#Qt$ETa4!LzUkIe9XjU&9lX!RC`h z#h#s=O^NdET{j6CGiL=ti0!z?^R5a<%9SesIs_@UDsd+@tQVR_kf{AKsvX1N29AFJ5zgqz1P)Hcqm-QSy`VHHUo@sX_Vu_x&W7WN;DF3O? zW|3Xs?A)MJ^x@N|AEJ`eW&*L#^F<&^gdK#F8?@Y7#+F2_gTEIb37ULW%Q)@&x(>e6 z+7rkP^$7e)gh1-sx43V$4<|B7np$_r(ir zSlU4y;6$NtbJF7(E5i23^=$1KmhE-BQc{XqeJ|d*+x?oErWsbvCWi!*aU6T`;@-&f zB+2RN3GZE2Rs-4<_FsMvVA`fSuNNBQjCGa&j-tI;J>sO4__TtIb&mzvoWZqJ*_gDM zP9~<>DIZUa@iCCvbsv2-Xb2ji17T~x-w}2!{d3JDN~Gq>)yO;to5n5<7e%+XZKi)# ztm4|zR$IKf%AOs6K(CdX(Ii4?{cIk1tC9YGZrr*|y~U9xs4JRFlCyKq@D}#!M3EbA z{^Qs&{DTV!s^zh8aTR^|kQ(p`B<iMV zEz}GM`9_y2P|m`1zd2LbL<2IAa6L9@E+~izt{eJ{+nn%tV)PU*YrXpR{sqW#YHE^M zMD^qQNlDVWTc8Ssh-jbCWXAiq!3*eLi|XD@Zlv&*$%$U=bJ9W`t}Ut-FbT&3b1s9G z2@SOI((}~R?P!1b=FtDPVk%ps{v5GG_0398P`>is?({26vUg^oXLZ0AHG4dnza-HQ zXFo6WA>!l0>zi}nsBc<@_bX%D{igsp^W^~|acX_0Kr!}Lkqav;E3@=$Zquwh``R{# z*AxMj6iA>j8E&yxul|J;lIdd$7j~BZ37o;~_Zdi2Ny9X_PoEZ2bM?IyXe_@PO)XZT zt$}`lzd{!l<|J9iGE3Qz3J)4DI% z?x0yEdCA4&ysO=5aw)#_c3${@qgpc3KwlD+Ra8}(UnErdy?eucVQ!(#<`p?N{4Ag? zA*ilm)O5$b)PpkuW*;M#WyOy8A~9&`_usGc5s@x#{TK^<&sH<6MoYGv{!` ziJFcfWLTfj8DUpHpuoUph|IqwW0Dm`80rU(Vx+%*T zbqK{m&Cj1ebL%&5B%Vfu0gz7&xC;Q#(Pp~=ZsY^FVbH2mqM%hRd>*xC#27uj8bC;X zJ+G2H2cR#YN#)Y5B}jnK0&PO}M|sV>0kAU>s|J=QbV$)OWqcNr<#0(bkWM&m3sNdV z$7WCF0OzGa?GW53x}s4Vj$&FM$bk|`=LfB2NCLR)xGj02rUKEU7=c(OB=TMKYkk5B z5eu1mqqdgoJ=e}lsWg~^ON>47^~JXS)Gj1Cdg-J|LC_7k_x4d%t@uKJ(-UOWKe7gL ziH?WgDvpF{#s-CK7ZxkLgnfAQWP>VKw0Qlht|_4&oEzdgN9Ev^1V0 zB4?P~Qj#fa_NdCMdv039(9yPeNv$cq<4-OpKpB4lsG3Sz{x`l$caS!DH9cm29Jy;{ zH!7_lF>=zhY5PxnkD=>WIH;_+tGt9$ul~0unN!27&e$T7kVFt9IVp*VXyC`>B#^l; zAF(gA(&()OAOXtkpQATeRlWdo&TX&$KyLkKXq$#Gh-fbzmbS2O8VPPrDrnWog@blY+vf^`Dzyb4z zxPAI$KF4@Jk73po#vi z);~%ko7shjw7ZS%Uw^V(Lg zYS!4Eb%%b1%M?`6$P+gWvEbQPs}U#yHa+#%?;ps-&%397454GJ{ff2~1qXChw3GdHWg;RZ zDaQ8Bhev_lQ~HzLwrACpIGnt9Miu`D&~)UFKhU42EQ3LKlaawJPFPrDEr)%#A`jH;{{YP#Q9XQz}l-qn2s8>AkWLeW$*<3FpE zT6V?yHUXBll>_H5x_4qYo@2$07A_vGB$pKScpJk^n4}Uvo1ME(_DD^kv964Hk=#nz zzPFi=`mTEI=xDQM<0oJ=@g@=B_-0v2O-=322FH>2S{Of*O(e^xp`q4Fve@|bq}Kc7 z@*mIs;ppB8c4np4_eg6Av_VuDK=WLGQR(_j9g2R{+7X5aod7Q!KMKNwidVD7+gwxA zme7kYEptA0`?fvKlc_=%pBjX$q2j3?ZE+Lz+1`Xq@4w~ahwbw0t~73Es-5F?@v6ne z&nZMF&GA;?Z#ZmhR@UFu4=4WM#Yb*8&b)eo&N0buez=j!;LaOaxQz`}35>3%s^so; zi?Y^s;ez1qTjJ^J>Hkx2eZQa~~-;2jEH;yN;v7+-IkNh29 zk>L`*_2XlFq0kIC?r&`y8d`Xv7@OW zjvx4sQ`4;}l1Dpa23$2+cg2FjQCrcW6F!hKEmx~~WM9xJNjLOX#wmMre@UZ)Py{E> z7?QubbpNF$nuZ{{d!&egamZD*mt45Et>@iAa|`fpRu|>v^^{)`9jA|C zo5K`G;OqPMKZ262SigZaK^w&n*C~mC*Esl-lYwwiW@L1=V3qKXTeoW$yY=IKKqt;r zs4yrU6piksA%TH;6arL5gvabQhGaAADVb?FG3?6#C86dNvy{ZTVYbGGPQHq-Y-A2kPoIBQSZV zv-mLBeSCA0ab32yw-|@Z2~KYT{m&rwQIL`Heag^XHIpD}jvVP_za2-Vf4rM(F83`> z*{0DBKw~@z{FBY4&Ic;-TOyC4Q4`q!pvIw=v!1V`Q{dY5)DsD(PRW#{C>gpV$06>U zZw2y#lnX7tiEyt!Uo|{U*&ZfReqXOOAA#x7K%NbIj+o@(!+l|*tYg>a#xsf~@5+RL z*-!|7ISuI7uj;AR(qjJ{K+~^ZGoD3J3sL3d4H46VYctDVFtN44tJ@~}a;8?LZ~B4w zfXd_1kS@x~VwlsEDSPAM>bZ@gwq!1$Ar< zRm8!baQygNk@++!Wi0Qk{O*`C3oQzMO588k-jKUBVes)pzqoAzX4KNMMnuhxnk3a; zgHv}bQv7j<)1TuJD|MBj7(7}N&)3DG^Ub`p`Dj1xsuIdjkKRa-x@|&&^vjC%JZfg? z&UrLYz?Gjct<&YN(&BeQ!tNLZXHS6ydh!2b`?guVT4QDY|AIYL7M$x64v#CLX_TGZ z1tjrq3A}V^0NIeq$vF$Hw{P!#cq-$LG8m)Q4VwW~>uA53My9i8hofxZb%MK{I~NYf zLU&y8V=e>e@G~I1|Nkg^^SGYZx83_wA@h_e35haArcfG$%o&#`$&k!4H6ewFm57uf zN#+)*l+s*?LMl^}21J^aBBj)RU)Fu^=iYnY&+~eAfBas*HR=2Pe6H&pj`KKayT&h>W~^@ZGL9eb%QdX?N?>Cm~Vh^K(HTuxaCy+7#d1 z5O2G$eV+;2`lDl|~o#?w@KryR7WSf+d2ixGA`k|MdT&%ubGr3Eaev zD#j_RS6`+Pz%-dF50!YoGPVKQFG}|4%LXeYZ00|GUYhkPr&vL3TKeMAhIE z!Wot`pjU>; zsJ83D1`m@FDq}-LPcjk;2R;d&aQtGHm6(NcRPbY(JXuD9)Eu!o>2LBRBw4{5 z5Q}zh-nqk81B?0d4Ti_|B`&bH#>&bTzoXTP^?*VUT%DYpfMYjpDg&XB&T6hYK&hb9 z<)46nKfcN`2@f8u21#RH!!MPp2tz=ZNE(Rpw8z6u!&*y(V99yBT>Q>rW0s*p@RxzK z#0O=3N{fKjRW^Y-0FaRZ8#2SAGiV~-Mh^M{*0z|U1QN#PtYGku+F=Fvw@;}m?!CQ} zEP=`SBxs$WO0~A>($T-)RrZv|afYZp7syw4_`jNU8XW5cyYJn(Jv91{4j-6$y@Lc< zgXIM%GvCcEq~&9qj!Yp@STeX>@$PEGYsva^?w>CP_e-hwa;R8-TQVxo1y5K!+pq1G(8 zJ*DxWC=aHul0ES&mXbqe-qz>SHa~9qoT`*>m^l4YOty|6Xwv8Ab(JqZ`oCzFcaFEx zEIRUT=K298mj(=bIrNPYrlmu>&suUf=eUM)^tFcIjLH5LBd(?^M;&=F?ONB%Z?vbR zY_Zzs6w~m++O|~()hjU2^vHp5qtW7fyHYJxE1m6nYzaL~bW(H+1RnJKf94c7a80#D=!z z6)<@;d|%!MWTa+5rouj`lRZYSEu_?ep()hJFD`yG@MzOz`EQPyN2xP;C$3XWd}*$r zA%&CgpdL0i99V2=C^*wbr%bwX*c*u~o zJ^eMPuE=GW<*BzTOmXc?L5|l`japxXt-Y&fiS1)3KZ5xJBuRx~qS?O*By0kf0D z_byU7w;Sfv&1glGje1zb0F%0o#7Ud zJ6cMt1b_YY;)b#3;bLKxlo=IAmk3Lk=E>8Qb#HH9zm9>t&k1nQ!ATf%AQ}|ts~1^3 zxq*?7&xGx(d0Lj10~;&vv{Xz`hXJal2A1U+W!Kn04f=@N^5z0__Oxlt>p5xCr2BDK z`*;5g{4t|1?(ks&Q>bPN+)+h&$0_ve-u*Y~Pt$Wlup7F0WmlG@r?2lsb84x47terY zZqNQ0cKd+DE-)!s3QBsZiURKmVHTbSC%i?uK1=_;lPeE4q=A@3;aueE- zB#9+wf6yW>EZ#;#S6-}OIfVDQb3;zgu0j0+Y1b4sm5t4~4ZvI}^j_=7<}ie5QBsc= z?{9p^QDrgF-av}p{;&1W$VfWO_HElthA2i_<>g<{HDe>s;M3%HNL@$W+&qn_?}$L_pOF}up@OLE zZYy*qC$U^zz`UvFlU6(x)`V^D@CZnT;2pwzpV!Vb+mVJB-krPR7^AEJp0izs%(QZ* zVh{3XEGIO=tfd-pT#Vl5pMN&;p!saX&+d&ol#SV>a_fZyvt0B`0N$S}Dje&p*UB{9 z$XE|}l>Gd8k?%7{43}`k?(JTibS;To5Nef*z@lB7Hrws&Ftd}GK41sIN?i&}1`Tum z-p?>duq$09Ky4pe_p$8 zojz-gr%zv3n6STHkKtkiv;CeW3l=DH+G)J9d>+a`K>7Ia;lqC+fxPRJKyM)~Fwv&E z=7;1KjyE6dy*t0^37qqN7?bfrwa}H{xnn$K${JjEgl5p`B=!>i9p7%Y8POEWnELru zHo>C(8|Z#PmlgG=_8eso97jNQ#ho=LXJ&8)Vq7WqWDMAap13kBx*3^()Zg=|u%gbF z(3sur(OaT$HY*XpuB5s1^PK!C3_4{bYzL>LnW;K*K5 zvZH;IubyMhvuAFL?c{|sqn7XSs5W@@JAmXXzPag{4Rzn~SR?0t9AP@ln4eKlN=8`3(J5u`&ggm9L@|3>3?O%m3{53F z$Vn!f1LQ|1>cIo0h7W_m+@e)0St(%Di+I=rq9=^VnP_P4=G`OtnOs_{AFXY|9~gR^ zk#}$i4pp!n+WKBL;hW$!vsU5LcQyz!g}&=L%&?+MpT>H-k0(_h7`L?96Bp-K;QsS# z8=da^+Gsn++g0`zuwvNVk7M19%mh`Ah}+se(%2J3)5L`Qa9!xv30PO=4`xPumrW?7 zVGj>Yvb2u5zI{~!fDHGM*9l{|=&i2$pXo^*51Ny`Bb=qo_oAY5GBQpM+ecI0t*rnc zn8ZL2J3YP(NeK%)VZ=Gf$sHsflIOb!u{?LWmBdVeU;2km>fyMrGA;`9|LQ~TyvBL#V@Ijxxx1r?+qyR`fYL6Z{zOniln}(=x0&m}jL58W$I%d`l z=0BL@OU`9#d*NRmIU-aEKB@0{S=4(3e3G}kglI|ImyS{stP6iFXxY_IcW!6YFXRZ! zNHE3{CVE10%1KBY;c0~3V+)A{P;lME$YqLn1SkzgOw`-9B#8AJuYFHOcMCjn{5T+8 z>ff`-G(buW&rSBawl&q8)r)vI)p$v+Mgng*gL;*mLOA!eVWTz1;-bDCd zMkOKroCqC)23@%4!Jd(KCLV&@g5Spgn-O0ws6*_;Lkv&aQ|9jRu*zVQL-Mq=p7!|A zVpY|M0+~zTNd)SeA3xmb=LE5wO=Tn!LO-#L%H&k$+x+~C#y8|KgJbk0EcJ`4_r*fG z|5Q@aMkcoo&vHF~kVE*g#@tX+Lq zdP|)37BTNK6U+`Zk%MUoJ_q)ie&bcPKEpOyXNtOF%N;MXhTmEC9iacp!hjgFlOgVX zCf?1q#hMCc9k))keKGUDd9yC5SK}7calZ4?Wn!Rv@YW>&Ar?O!xTQDIEs0SpyE`a0CDc3El~7OMFz5Y&yp~$8i8)L8z$Y{LJ5Qdd$Rf)FoWDFuMf2qc7iUb$tFX48D3jT*Juk!3)SW9tJR1@^(8Dc4v=Q z;*mP)9_Uy|%e#8b8ny?+@DAfrP=!#B??~paXni1Vk->>XFzEP=XA;^t-NL9Bjx2eP zj09&0L#U@_P8Sute)&0_rz)K1qZNoSfBaqIHE@Km6>G4HMxO>24W2l9)F^>0k_OBQ z?lag2RK9>JI&*p#KJ^F=g|9c(1}cW>GLs~6toal3^Yh2{?jU6~9Jqeh*hYBw%M zXjoXcM$>|^WIu`3h1zys`~2xP3Y*1(6Sitv&3-@$1)Kt2TzW6K%x1=nWHdsIQweQk z?%XrNEz>2c6WJNmFl^W2dGo9}$G+$O{QyJ1yYNa@uDlc!R7pL76)k`O()2lB+q3Tp zGLdcSuNvRySQxPt8>K9pJlG7gx#GnQ7*^;q(VS9It^&v{Ppx3Gk2Dvna_aL5@k4@c z-CENe1C-d?-S$hm%7TpJ^~FYfm~=a9s3v@1=E)T0s_UZpm9(cXK4aqJ|0TH#PW;_61Vxg1I zbBNoWdXN3WlO5YT_1(J*5oTOLth(AZK93s&jud#huf$HoXvWr_esmZx*DeBk(44>- zxPDy=4kq|hCuQxhKxMuppT;k+Sc`}!B#eHzn5A5AMFE9U(faoz?lnbghu&jv{s^vJ z7P(_Blu_t0aYn`B*<;W2fyI;<`D2p66x_lhh&-}(?KsQi&Z}ICD1KlWePsq&OXUnaK4hIxF0R6Qg_(cpj_I;ejtcZ@JuI9-hcS;V;Ym5IA}uQ ztL;P1h@&w6!!ovc3fK>M(LX~~Nv`5d4mb^TEr$bm#$454cN*&^bd-uYo`K<_{WcQ^Md@F?Mkv0!kN3J zzwSoe^6l0iUy;w;DJBRs_ALLr!roQ5BQCx@e;q&8_jkSBm7_;RioO`D>*4;`UaNmu z)Y1d*Lls8vChYXA+R?hrk=LcoAI!dio->(6bVzHNxYEN&%~P>^cOV26R*QmVUGEs_ z5&aDW)Vg-Pqhl;5fOtKmibgGWp*}If((WZ=aC!Y%FhYFJRSkz{_ze^H`z12rV zU@0b((0dovICQyMC*E4_t{x@l6S$sdTN+H8ZiQ(AM-{4Wq$f~?OOfg z&OYe4+#;HLXf!ejBux7?5KaUXM6fiE+;J#vEBQm=kKW0Pd(E;uUMgjn*cuHc$Og*y zZMWiJ!qyta_kxtvk^lZpP|xM6V%D1n-}p)deKr_*Q&;$Be-8--398;c!-H?#`&TW{Pr^rJ!V zXQqEGSdh3nL|RFKrhGxKYZijyqPosXO2f+M=ycCkEu{S+y)1XdvJk2^TLm8n?V{Z- zp& zll)&@pZl@>ngY4^%~r`&jtn+Ryel|BQo^#?mDHW+#IL<7iMFlywc3xP26tZHpJigAqJBY^&H|si7~0bR4qkniu0@sMC4H6|HT?l8 zu(+&DiGmA2TR}liqNW2ZNA?YKt4RB|n{u_EQh?y%TSGXY^w4_YJ$bm=)&h{5EtC^#hD@ATPmfJwH^F&&feU6@7*>!`Ul{R`>9(K3582>`Eql;(@q@3 zfS+P~V(+zaOCr6}C%}$!fFlK<8oEks@~$eBSvQ-ny?AjqsfE0JL_?{_>7yB=an^w^ zJbe$|2T@l=)Lv$-AWotBmyxU0JU8I8H1W*+?tF>P=3-k zUK6$z!b8e&G*_81TdtMdqeli77Fhw8z6OSL89iE}d0&|zty*_5y(hpC%NilBZm&?M zW56%(?ZSYbE;+ZawrHxCmkg%J!L;%1P?}#|v;TDQ>o+YEpH8zouT?3R27C1Iv3xe3 zv)vjCumM}SJ&s&6;XG*KXb|N;~%YRg0qa6x+UEt!a;#phZP3QMj;rd zpl6cp1nVPI)l*9tW8AwJ7!ZIlsS@gI&y?p+pK5O_G{DDA46##vp6qEGJz(}9HHl{B zu`jmrPEM49Fjo*Rvo?>Gg=pS$_|o*3U)TT7I%=i5dbSD-Np&0yUS>c!=%u6tu+Cnm zBq##e!K=s*CJPs`juHnm=-Y%|T1o3gt`@_eU!-}%LseaU9gCj!h(?Io24q|W!Kj(} zrx4}gn<W#@2`QM73N4k+o?!vdK!$*FOq_VGJx+^Hi58go+@%-5NmEz>o5kPm+Q^`nV~~B z(r>D$Y;SII#CwrK&oe2F;qnf+;oACX#}`se_3KygG6N4w38B{iXMKIAa$H?WunkZu zUI1ohtkJTPV~ZP+p0ep-v2?NBkOdj(=~Y<%=U0J$u3?2*yDlPT){sRtX2085;zk5&U z(%XPQObNX8`VhwFWR+a5G&M*78%sR+=ihVd;ka*new@bXG8jX$EO~LQ*PoU?Eha|c zAfp2&ofh$*H}}!rHCPJU;dZLu)nh$M{M_hH=@a(!kaDS9rIqx{(8_VU0?98Lw{eNj z0U`|&)P{>QdJ6f6Fol72I#7dlhTt!4V_<$~rIS-LN^sy8V`Cv#GgMwp5~6Y5RPu$M z2lW2U(Gtq752C}m+d^Ai-8JtruUbV#Y=I<++Nx%6io&tRW7Cg{+@8|$e)`6rD|U|7 z)MRw`86N3GCCaFeA3prcSz;-M<*HTRc%y=gmOD{D@xKK^F{Eng4DkrdsvjkB<{*Ow+AB!4}L-d@Ig15!kV2VR8eKDT_1eK_47mYF}+#^7Blp&r|=1(HzL(6DFs zZc{U}h?gpVfB>~t2frmnJ)n2=^+ej>uT^qZrjZE5xLWV$jBC_X*cQRWJ*ZsEHgst| z-2Ng{Ud%4-SPb>?Py{W3HHWk2hCzC`3?SB~L$z#npfIc}n6+l|0U8Y`pH|P$uG+MT zUB4f(Ef!2-ysz+&3A=k2h{c4aJupz?U?Nl+YN?|vd!D4rb;4~mBO@gHA1l5VO*hrh zzUHP_^i1$(AydL>X5(GJLC{alSBgrqlX(+!qg>;=AG4?obZhA08`6t z=LOcTGOD-z__zZM`|fjQr9&5Un>2jL5D-9NmcU!IPHSwz!oeOAvROp_(@j|tG5ICq zBDoEWZQo>M$T)+m1}`1HaKR*;bMx8^@uDC#=({6ue?iC^d1<(L)M;fQbH&XB7B>~p zNpG;vSL?$V8dnG7<&mD=Sz=~7%QQK)mhlW8V4mJE1zgLE;eS0W7?vvVX~ifu#Dpl3 zWeA*TOP{U|;Xp{433hwv^bb!;&h49-pz5-za6!)pA+7Xq@pAL)#9q3FgYt&T?K2au z+_|E3XFpW?Mi3gQ5b(vas*P~G;967Fzj^txH_ozbP>GZqS$FY0>J}JktTA(Ua{~f? zlbM;8me#3VJ0BP?NI{4APFuWW$%<&(x#s4MB-X2k<{S%R9j?3kr_%7biD(#@2C3?M zZYcUM*sP__s8i3m+cM6&jol?*;Bg>Tlf`i2I#qep$QP@$f_I*lctbG!xl=hn!ob^jH+O``3Z@ewi* z{_P)%i+?`sq+j()m?yeK^9O_l!;vZN}E@yMrc9bU?eB4>%8=+3#r%$&KMCKRzJFcGG#&+Q9Y95p6y^Yz#S0O`SDES6Y`3Fr0 zggD6rV`ue2gWfFE==&f!`R1!?*wBySJN8Q8*$47z5e)+^ls`t$4}FP0HVldgodffI zvR(HoaLENc9HP<%cM-$%^cXwgZxXrt$HoNuX=q1icI2f*ZAY_~vtP znuqAlKo!6xWQ^|Frl*v!Qd1K2l&dQY=sk`dn={)NIL7d%n;=N=@WqhoDAS*cFrgN` zmuTXXR`89v28IK`tvdg@SGJxf=paYUYUZTMaN%Cb-(Pgp8XXIp zn|ywJ=`u{$e0`h#Q^$@C?yI|6clV>+KW5RYY^{uMNPs(nQA*hN@p(Bp=Oe<%#QB>wOU3TZFl!`{pa7XUdv>UwvW^-; ztIW(Zn{yeGVSR9qx(zH=x-WbP>FS{p!Ce(Iw7%)x(7J&fk9=@|7>Gee{U`-@d~t`m!4b(w(r0#Hjbw zfcwiKvMP1ylBiSA*}vnJ+l*)d+5SMB*FRHfH5;ukFNhfH%={F>7gvHLGORf63#4L< zx%q3T1D0DRDqc7C(Q=PapjmHwh_NjB+sHJh+q;f*z4S&-Byc~cCPd6aCAV;(*Q~Xg zy+~B$yKUyEjloMzEW#x4O9o4p2ulEBEPFrK`JFv^QbxM^OIH$GS&8qvcI;SvqLHB! zkmSLG2N7sVm!MyZ_N$-1+AFqX@E?!uT>*?7Q?PoMJcofwDKtDB5l#>_@R2U6u!;Cg z=Q}Vlflyb2M-?F$NcvZ81v~HT-#=)XpUmp@Svz@ejDN$C8xWwomXwv{ZXT#UdfErd z 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 literal 15854 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 diff --git a/articles/Workflow_Continuous_Exposure_files/figure-html/unnamed-chunk-53-1.png b/articles/Workflow_Continuous_Exposure_files/figure-html/unnamed-chunk-53-1.png index a066afdfa40b4ea2231e2cf63d854ca2fa6f6633..2ff1f08bfc09f73bed49dd64125e66aa31fc86c9 100644 GIT binary patch literal 19470 zcmeHv2UJtf)-R#=A|TQgM0%56gjfI-1w;htDoT+Oq<12SNEekNHHs8LKn0|OfCQ8l zdJi2!O@KgXA@4-g`@dg#UwPkp>%R3aYq3_&IeX^p*|Ycl{btW35e9lX476OdBqSsZ zS1w;NBq5;ylaP>or6vRJG*t*L0~aI)*Nn7)OArV|N=iybMn+CfPC-FINl8gXMMX_b zO+!ONOG`^fM@LUj&%nUI$jHdV#Kg?Z%)-KQ?AS3@R#rAPHgOTlCbw_jHZ?UhGcz+cH@C2` zu(Y(ava+(aw!U-c&fU9r@7=p+V`Fpw{{06J9@yI2+S%FJ+uJ)hI6Qp#(9zM+$;rvt z+1bU#1ph#%iG)A$H&Ll*VoU_&)?raARr(xFfb@6 zC^$G63WYv?{5T{eBs4Vi$&)8xVPQ|7J`E2KfA;KIL_|bnWMouSRCIK7OiWB{Y;0Uy z-1Fzpiii(SiKYsl9 z>C>mrpFfwBl$4g1mX(!#`SPW_yu6~KqO!8Gs;a8Gy1J&Orna`WuCA`WzW(diuMG_i zjg5^>O-3?Y|MBBTTU%RudwWMmM`veeS63GTf#~k;?&<02 z?d|RB>+A3D9~c-I92^`P8X6uR9vK-K9UUDT8yg=VM&4Gc&WZ zvvYHE^Yily3kxU|YH@LKX=!PBd3j}JWp#CRZEX#WMq@CT_4W0Qjg8ICO)M6>wY9aq zy^X`+c6N4lcX#*p_V)Mp4-O9Sc>LkvA%Q@c{%9Ep!~l)!Wm9(&65ep)KPYZ){Q(Kd zNs=p<&Kvopt&V%ccpeOYTo(>I&HRvB>jjB`R?4eTqjOM-8_Ca^FX%$=JU>=Nd0D{l z-80O(Av?JMOyK0@n=3UpW+_1DpCfOG(tw^kf6n}(T}iGhad_MgH-=l8UFlre+80!l zt5#EUE-pC-ry@Ch&#ab&n`E>|?LUFDH`Amre^s(e^H*Q8=W3z1Le+Sa#*RfJ?QN4=eZ}N;TK^sro8o94`;t zs^OuLxA=ke!qi9a`qyr5D{=JKS~+dDez6PF4)>dat>l-AQz-p9y^*y zy>cs@U>C;M0KF`4yMP^;qA5XJ!4DO!lP9(Plwc+!Z-k^RK5BpTZ5jDgf*aeEU0@$m zD|B5a2Nn8X{O;u3ZtY)n4NXF#Pd7WZ}d?&-lH*?^te_H$tl6V5Hr<4RgtP$^_zfOJDl>1o(w+_pS}G5n#A%o%F? z9|Q99Ss7Bj`ygjn1oY~Fr|2=t((l~6&3id6;9~g#`5}_Ij+bWO(P+n0=rx=6g-ixY zzTuwaQ|OThDsK0gQ7yEIW%(_T;{Ca^pJkXfLtd6RBCDQtO~7t z+;SD0Bp#~aJCdw_i791?+=JEKDAX}YNuP?sqZDa76WK14_#mkMFnreJrYmXLBy%tKjIQodYY5wR2mu7aHxdP z1)ou?V@@xdP0&?)F#Wiy`ol!~8YVJ*J)~C*$kC;wD?O^f{`gxVA|B7AG6A9sIaui3iCsnbJ3tzjSNTntZU>O?HggjpkK7t?Ug^+flKphK|_uY zF``hcqB_mxJp1Az9o3ClWt*I*xp7=2I&(GoWM;nP#i>w+Kt+b}R-|p4c`iwx53uA-m8x_9anE}qCfbznwV0wrCOi<1C9IrMqYMuw1ow>| zi^1JhwwAN+wfsVDSH4K~e)Ud)6&QVXetszOmIOFp^BV{J6U4$iKfI}CYTGfu)`_vq z(aPV$Xtkz_yK?rVO{_>vntgjK2FuZ~nJwfUXg6^~2Y*msCVtzW94?6zr$r_GVM%O!*7ffK4`Zh(CXQ(ayvy}|(o?mlu}+pvgK!s705LojzRt+R8|R3$q%Jgh#F?Im|l zRX^3I44<{V6}49NblI~(lR|g8_Bj24m=Dh<^YrY}UcC(V4~vTprIH$6MFFOmn%Myi zb_?aF9~O!`QDP=jP|1CwWE&FlSVfpZr!j(Ee0Tmce1&^#jp{~k6iC7Lnoor~E8B9( zE%V%lW3LAL%T7(JLKTgoQfX}L((5Xily<+pGdtcg zG*nIfoYGEISwf&w`LqgE|KP%ZUHZhsa4JUVEA! z%S$87>*+U-GktaLeuYsJ3tg>d>|J3!H<*aJ%O8}BUB4TA6_fOSqkUGb0%iqPlFbxh zR6YKc(_paf5#;^TaNnlY!JYOUp8UbFM;_ng$6AHz&)R-137ZlQX$s78om@VXgW(H& z04|98`a(sV9LJ}&INZ-g(N{)iA#SP(D@tdr=uTd&GZZJ|nw`H_U+PuPU2=0OdNDVH z>rk>#`7>pWp|ad@#Pl4#yW!$4#)u7(6jJ?g-KHMGD5hSM%2ORS`FbLXoo=b-sUWN& z6aH9^u1PQ}eah^ItC@+@h+b!cbn4yqGgFJ*@G&dp!>X8FU(73EAH+_}baqIKncX+z zjhOQ})>FlcErLHlmh*Fs&7pRha^hd~vV=qm3*0Y$1Mp*IZPYSZekl3oD&pLB6HSq1 zcaw(tgEq-vbLGtejHHNW0wJfGj|sYuvcRhd#+lV?i-p(H(F6IxKZ` zt~JG2e7@5(3Caqz!4^t}o>P(Fp^d#(GVWZW5wOzIFkXw98;pbw@H`f3kXyTj6sOM| z6oD04PL9-ik}Zv?JkHfsGb%~|jgQs6x42!c6S`*wpn4JS>YEpsZ#17Iwo8D}122}#*SxG(!rTjOo5pKS!EmbY; zvsaB|=;{c>zQC|+mAEKNUheJQezZW971Hue+Qe!Q2(D;}8d)yC;AS|w(L_4K9XG&` z=e|IWEb^uLU{^?wQf1el(i}NiLA4sJyJEQ-DOi9t7ySgSyIF;b+{Um_c)XB(dDWyQ z2jdI-{we9gm*To$mEtLCR1w_bmP&KktEtk#ncg+`!hm+GZWjV%V)FK|r1}+{rlnuRVzV2# zp!|spj9-%-={OGRM^C<01>xOSs$wZzDf%iQW9Io&zc5lUd`ZEZmzS|KhR0odu>&)w zFHwW>nF!3zob~a)eAiQq)Xbeck(`N#V8}ImgBh_S<+_Tj0?e8Ab-Hd&_>y5^0IS2t zK#B@%Pw-A-_+rWWVDOEd;g6Am%LMjfV@6cuoUikP_Lw>um`zM2%%fS8bHCI4Bbk(> zUP0wgE7-d-6YAU|9YsSOLKDB`jxU+*CX2r3r{&>2QQ(wG8dCH^KSGheR<)Z zvN0&eCr*Xkm@Z9$Dq4h0SE(vp3Rrm6yjIs-%jc9axMH9JD>Hwa3zhOkH8y#f=31A+ z*Pu(@t~b)5NT>GUxlbwoo)Or&oMtOHmxs$nu~W+-c5D3$8OA=Ar2;SoojVS4*a(6G z@1P8<48Sb^Wy-!v_X`(SmYKOE=~223Z^JX)r2=)NV#GN0k2{$ctcg?1T^_pJ{0uV0_cREp< zgpCXi#;$cs!PW1VU(F7iOE^fwKe>26CnE599ZV4xlL)IQ>STBny?OI|BXoesiuS5I zXvM1!O_nH(>O-TJ$gx!GOkVv`P;ppi;0)4`foao&)U0;CC`+)YTf0aG4R68?ZMLd$ z>@6fs42f1sD!&pdUREWI3R&n1Je~yCa{(~<&s-z?Y@s$n+yH_= zW%o|+J$I!u;xWx;ux3PE1*X~&pcRm{#{h5DKX~-jnieD+JM6DRNK zJ|-Q8o}o2)&uxHbl*(sC5ESOk!_E(qR*)`@DLJzm40hib@DZ%0Xz7(M$n6kO_j^tu z?*rxZ-&x-sfgX>eT#zyV;@X{5caOauD?C^Q)hLOUEq_85R_5<-yQstxA~``2JP+1I zL#TqasGelvk>f$*iA$Z@uwU*o_PXJ}l5JMh4K zn{yug(L&L(^G$O!4jLqFkM)kB(NyQHt0~uAJj-9RGyP%cYKHaRKrY()B#r%ykjMuB zv*bAtOGLV3#bNQOq8sv_Eg!;?xB!NnIXUmP`MB*6pddYdpD90x9|FVch+>OSZL>v3?6`w%7I|VJ1ZN6bTwZC zX_0Y`DQt@nch0Wc?*&xRDx{H^h1`ko130I*4di2Rt`&Gots+kkJRupp2QMQjf~w-K zkCOL!dc0CVwmuO2k-DpF1Amgca9pE=$L#aPsYgXJFkw!)cRLeL4>WHw+HZAFj#1=8 zRlQ^R11k@nFD0y8DInczu)lerP~A9^ej{jl2PR9lDu_^6d7=uE)VNz$s6R!=$r>5Q zh;P|%UJGzEvgjpTz$A6o_0}j4`4xmSS^8H5R~7-d(^z&@pD&X>I{&*a!Tc6=5T)8sx+U^H>#l&$GP7pTeCSBnqt#Skc@~^3 zoer&vjr|Pgu3QW}1YtZ68ZPt+y`#!C;8 zkgY;I`{?X5dnXt&0y2(|;k;rqu95G5(8umZtA*y0%&A%5m1^$T0e=)%43a;wGw5<= z`_>{QPI^$m!g`KA!!kLrQJ9=ioq^u~z-d+KYc7TVYI@1u@w%&q)f?cc$i@(YWPo4Ol3g~N-#)jZ1k#Q!DA8Za7uy+NT4n}!bdu){ujE&_|q zYN!NeqIBu22xVWH`vEHIjsE`CT5iOxENe?1m*6Xo9#c(ZpUUI{wO48acYMEH&q8}p z6jb8hVWhLwU{m_faKk=Lu2xOf5uK^*dLupub?58$iY*Ti7agRsy$htMi$7n*VKDEW zNAj&%$2uwp-&fuf!&Fs&;613`Ygg6fyk_n=b7v%1iB>bb<}IGR90)Bsf-;B3=uWLG zrlAq5);JNu{b_l7s$pv`jNQDq{&d<*&M0|OMb&|}$Lf^%h$=%8th6YWq1y=TSPmGj z0#e~IBkWXOBTGd-$m5@#*~$22i2^&n!Fpwo^cz!HPowg7jK8jedV7)~nD-~+<=JeS zbZc|^9GF}!eSEFmy$S6mRdOEdf8TaO=$819G7Rm)X61lVJkLiNCjo@0e8usu$`=Y$ z+KYq9JZddWntT;! z-C5M$eBY=$TPALOH~mf(o??Wm(dGlzw^9?RiM*c}oG2bkY2Zgc?pDDU`^YJi(=Ffj z-%0$U*CZrT?6~^WUW`b1)-?hkxsAS#$dzzSmWtPzJ&dscT&-x#ziNazf~LbSINasg z&(Q;O^Umvv!^(~f+AFi4Zfwbq4+GpT0n9KX3(6+^bvHB#x?|0Y;DYbV~n zrF+s$ec|c=&xyGSvchqd2El=bPRNSlzzZm&6~WOYpif(r-!%L5r1AVv6QqHkX`vrLt0_KW=$c<)N}d0 zG+XiD48CBV%kwZbYC(VaUh9T=Ty+DVdQoy2|^ch?S1SQrn3>8vCrK0HEkQkIF;b z5j5Eu{FKT6dE@wmpP0t#BHF2X{%ir-b>6WISi*oqb)N1Q$=N4J>ZL9wkuIrn@kA|H zd`}@0+>XL3s0r`E*H#sD`(9en+ZVsy#LPtb*BP}L1*yH~7)zhjvGvmmmF%|N#~ioG z4~B_Jk8Glp1-G-ikg8mDE(4F$1(we9k&Vpz3BlaAC+e}LQ!i~MSY54>?h2QBkrfUDy2b{9gB`U45S!T#nGsfl zy2C!}CCyCdoDPh-l3XGrDEbH&wwRjln^p7k*76~Q%sB|*U|v9Hq=omm^!5*iaShw3 zIg_2fiqz5V_?yMf5%M)M_Tx*CAzL$leqIi#!8TBBk`7PZL9jlC#3zdGigv)(Sn z$gvL`FUR@*i~B8qza>-4ikR^7v>X>#A}6WM^(OTTm9+y@0)f$|{u_Haf8Y1Nx!v>M z7BR>r$HrvlqB;kP=%9+-qM+K*clN74FV2H$M4(SpMPL_|^mX`2X-~e8ffZX|w`%Jj z4fJ~5KkR31(W`Wbw|SQ*Nm|tnT144Uu4bexm{*&U$P1c+393If&%~~4Bbj5{H99xp z{>VNR1wo-oTKg1f%H;4Pu^ZqC?wNE#Y&~i_UXY&&p5uGdcE4DELu#Wy=PI=bh{8?e z1{kug7n_l#kLz5=+trXYhNsHu!~_&Pd?#TCvK-KDaV4d_Z}t`%)U|)zV=vm<{&qKA zR{VRUQsiu{Uu;SDhLBd6%N`$a59PN%D!qSrT7J0-LF2eB1S_K! zdG7q3tZH(vwk9>C_XhHV{edXtUjJoOw^V^9s89?1*h!ZMvCp^#Ka}E8&cnhspXA3g zgPftjI}>GK=*$J*iE<{zI9x`wp4}7aXU5S_kcSUYuigYw+e-p!n}3FOrcCnUuif48 zKqFCDMf65~{8{8BHvt&;Q0DG`Q8!M=L|1^(}{z*LRw{C+*4l3 z#H2lO0=??pa{~PgMU^b3eU&_vbn>Dwq#LhUH?bkc0@B-&R z6wjqd^R>aC+vG+uP|}aod0ZfhJ1hnYq_kfJU=PXJpjzO5U?VdMnh)$?9tYhLgpo-6 zv%x>D^ncAYdgxI3@RguDW-czPl$5G0pj*1qu+Zy~IbXcU$kLzv_Dfv_m|B1kyE%&i zjDkAPEFXlws+!0?|LONx0QWr}5QQ1^xA;HZ_&*u!Kp~^nZY9-g@=Wn$nXA(;7`ZX` zfaWN__=0nN!k|_>OsJI^bx6&^_4J#MOi7n65i=QX{Rb`bE960* zKQkg7ieG=EMV!JTM5*2bE{6n7*>t_m(yn8#SN|i?KLd~9Hl;@C2r`Lf%8pmdsHQKC z|4ks6!NcMdjIgaIrk^(7@k|f$K7djGC^>deVNapc%;Pxy`*x+n1X*i@-$uyQd|z)n zc9e8CLA7n0HQnJp$UL>s_)o}!?r-6>SGEn~&|D)9Z9(Lv$AJu5xC^zK_jG^B%bO} z=|t*EdVQ<4On>#e>CeCLGXTtiAKGM0Q|?id@jJN(_kq;Eg!|}V9IufQF-IPG$q!XZ z))KU=gC36emP(cJo5uPk{8B+NDBkKH94yMb=uwIA0NV>@mt{|00{4%|!njk}oQFm% zDehDKMzMh$5PmkP_dFOROPUW{jGsa&>YnF(zw&G zLS}=q1FBMeRcaBpIB5Qy224ChK9_}@%~uDQ);wmA)*6w6iCqH6`xA*7EsMb{AJJ_A zKdAga63I}5aai+k`_4>fD)@^ZWrKOfya@fE9(u^O@eymh&Wx~5dE9}dJxWOZKkX#$Qk1Y}Uqhuvn)hEt`CBU*oLY*oH)1^$VzFEtDghlR@STY;FYg@nG-NA{7 zOH?w+@%wFoAO?@O!#kn!zcm;GrI%z6Z!NO@?FN3UWBGMZX6DZ7G}GBXwlhW#ChwdK zv?Mor1{J`KIa}0S{iE~&*Gn#9bhn-(GG-uXiF184WOpiTzt|t$*QILyg<#h>TrDyv z;D_+_2|A?9?|CU~p-Q4V!@c?PkEQ&Ayy|AfZL`C!|DG%wE960?Y@Cwsuc4ixM%ln? z24;U7<|NEJxuNJgE;_J8MxL+~VUs&n+A3>!=?F5;1+m9tqNc($_3cr0Z?1<^NvxD0+kK;1Wgd9go7GdYiVF za?79SkBa|pFS$E776nS5JjasWi8*5u^DkCmn;_ohVe4xDp;RMCET^Ngiopi=IKm+H5Cy*#MR7{9ay4l~denMGZBjd?^8=UY%=Obhy-*F- zg;lyJb#Rhr4>NtMBfq#>>LxvE5n0>4=!~2Lmb`z=dRlI>ZW@CpYyVW#7A+pgi0wgP zJhYHYQ+Wuw-}k-$Vz+epY%^42inr#ZvTrb2*1h1jQ95`L4fA^&tzGRKMQv>3l>WG;oe3?9d!`nz$2G$%n``^-$x+~qfyTk>Y)ITh zrBfp+qIW?>JM!0rAyY4tp`{rK&M=jn-x&ayBSLK?r{C~_tNr0z!RrSZj(x9WcQwrDpOySdCB3cUE8VhFPFj`g3GpRrU2&9rOSwfAnr3 zyX3#N;;TdkeE!SmsZz|_1j}Ea{}af7SkY@kzSp(`4!A8WZ-8T=K|{ZXVP0G8W~EfKz?*wE6(lm7i>BnuAERi4pRu4H_iB0o!QxKsTa1^1V$C&Ju|O z;P6k}I1$1A!U;M#zH)DS&BZdCSONYEI5o?U2Vnk<&dROiPde!YL*=s#{sJk=O{qNf zKM@Uxj5ijPSgEc}ZT@NBtTlRVxL>h0EC2SHVfRcf&b>xkJh7tvtE1u#MxRNW;57xL zmGsV`2*g-^T@>>69PW4390=A6mGr2#xb|2*X$(;K54{=(*8jM03_SW;|}>4EY|P{TqcImikZH?9+zDCcOrQ1+V!~I!-LEi zbxeK3(0%lQ)?vtdq!4@3UyLiY_i2Gw`O!P?J6JF_W*r$M9J3xfIhaiTTl+11xSpEp zN_h}AgV%TAGfkGTUZ#mJ&2Lpz80@=#`T;P_EJsNtjM_f&pC5@c`A<6#-Sr>M4#09{ z2KNqSEh=eL_uEf_dnVT-JM|sjY{VR)CZKpp^skSvT)>0lC)pjD4LFZLHV>fzr&l@6 z+Z4UtW18nolShAqxkmQaQo5>X?4<>dfR>g8A@Tbo1;}!$ZSe#c?9cs6ScDq&W3hb^ z`k1`5{I??iU_LW)7B~pM+3()#7C7RKRQ!bx><@vge71w%7b&%>2H`&SuLoP^2p&Xg zu#YkWRgV0N;B4wVgM85V*>shdQ$X%B3Wr`LGLwQ##N7nan&kVo~!a*P{hYQeUbgrYH#O5I6!i+H7vbjYWw*Me_DzAkRGyG4c zXe2@aS$aCDQZgIR9F=Q`v&EaznZ|e$Ch&`D1DgG1sN_ZfH6>2r&-gx~qQJaHLL>im z@6U*n&GM^bX5zqpl28D`MM=dj92Nb3j`oPi{xktV9eys=fIgr7iATVTsDF(H7{=d> zY~%+TM9ws~lSNFW` zUHjV|E%1LyiNDM=@oo9UyayOK0r*<&KfVS3>&l+M zt6YfT7GI=KSE_36Ju%_}{O1&21-w7^_mPSG}o|S0HAfA;F*LY2=XZ&=l z>=AibZ!KL`FK|L){rlhIpg#wc{@2~EUoQswp+T~CFVaIkr(-5GpXym>>-Rui>TZgK zq*oXN4E1~RW6=)L3Obkg&a|hTa_Z?S6b0o@SKVpXLd>(}aus4s)zVd*?b;_j=1Y6e zp639(VF~^rwKJ_M+VoVq%4*+4a#xOAF6`DaAT1eVDhk{yz2HwtJZ<5z_fhG)o)1uN z%an(ad}J%N0qgjdyzR}ciSQx?Q6OT0O&F>KzQ-ANglmEvP_1_ZSt+owy*+N%ym1w; zY|9*RF2LyzCvRNDV!MN(H|{(D3#Dso<2O@!lh@Y116QqUYZn2H-j9#_zmv=D)%Nzz zOatN*y`~|bu5x{OZ5w##;P2_Jf5lFZwYpju&{PzV1yn_ZJFrR5L5X{CK*dlj6ac;fnlt`FcNxj!~jNR5&#z{=`gp9sPyPLH|2v#t*+w0d$4)#i0< zvA5WI!dUtux;lp)w1q#V3yB#(Epb(0=QH^6)m4fQx6a;g+_SVKGq0sLm3dd-SV$Ch zya7h=zaB19!|~p!={29V1}ctHKhDpS=~Vo)OxGC! za~A?Te0g^C{v;&SX~f?J_!r;Ef6atCC=iZKck6v?EUkTJOm4fwSo*@g|J>VRG(M&z z!)5DUX}wOTveU|^r26rtX8TVcs64hGWhfyxb2=TiLhd)P#X+}ci?h@r(cZD~``BsjxA}lG*BPn#{X2OSHUNuXP2HclvhPD)s#ESGtaCnjExmV1 z%K?()uM{S{iQBYt-g;YV1SeDdwME`PE#%;B634CNavHSy9al4PDYwff{EN?(k+JU? zfoq47=(^+5R~#Rx!+L8tyB8(Z!#Pgqfc@PD-Vmbotg(zP>n}h84@Z8|IhtV zJ%*f2C~|ZJ%Hye0WwY)J3UZ?r$~c0y@ts4a8k@vYzf)#nGaz1bABy?A5W}dX({$8% zeK!971gEXDrS+S!C+5->tNV4k&46x1x(=CpfvP*8!Et7T*A#>32NMG4FXqN>*4Xen zZW)#u!^!*%7Fkdi8u|IBi|H|5XC=ArKe%)cau+M|Rm+K4LOxA_Ptm_uBz;-zNdB zcBj`IKmGZB8ZOR$G63RtBxex(CqWoXUp~%^;Nx9AS62Z8jED@Hz8=tn)2wP(##rzC z@B{xow?!Qka|H_BzTa(S)jd^cmAL)IHF9Cqd&ml@f&1cj#Y}t|wDr3#U*;!!_A%gd z*W;kHl2yy*RMF?wHy8;#f!kz&yI=Uv{piGB(#%^)e1EcYWK&kmYhxb1hwZ`n()(Xz z2bFC<)u{N3O7a+h!QF`(W&>F11NgvnLYr)0L$ZFqh4Bdl;b0ZLC?yCyF+w_ZV9 zgeTWQMyE1QY;L7Q(USS)bEa&ZeLKTqP?}p3y_>yXyMvkV}u)IFD}xz3jzVo}zL z^PgRJ_TiTZQEQq{M|rkYlz7A`u_1Nc-#UWL=~1RPSDGm`n3+(41w-dIJB}A}ZiGVL zULSXCkDpo`u!T%mPxwq>L~N|+^^mm3DkkDwG#rHXwQrt+d7qFw=rivcZl@Qc^aw0j zWM?`&Q_({?l|ZLIHDNJMudxPKt5<4Iwl1^nc+OAG=Dd{kpu;ZYW%+(G|K8yZ+pw^P z))d>@J_Da}2)t8^;@qzvSW8lRe7Cio84QWw5BSbT_RtG|vStVge`3c*syd#m`7~FW zK_>jmowDcR3{Pcg!0h8YyaNc@Hbu1B zK?aAa3zW7=_rSs_EK#f9q}j`j7Y=d0`LGXme%z8vnv z#VO5K-q|7Fzob!Wazcw6k>24F7SX~%=9kPH{6PTL#iVGPT7ou5q!xtK2mr0=C|?)v zNprhjRCdc*#1+-2o67MZd%s};E8Jex&EQ}o^UL8arq3g^=xd?dgBK%l{{At~)c{jE znv`t3D2Voz;|cnjY|cS1vme%!8AH_$U&#$4AN%9JVEs|6VGw@zz#6m*3%1F_#>6HM@qg zRgEso&|ECN=Ydt(n>JB_ z$k>jTtkvA1D@m6{@0EehHDN1PzbhSBbIM_cG7q*>CL<1$l8hz*&I|6YJLHky#7?(% zH?+=#O=&WS2RvOIa{aJlBcRF2c3pk`m`$U;uQ3(2s4*@gttS_Ah~GwU&Hp$VM=dfk z7;?T_Nx4uhhSSjR+s@ke)Z&W90oD~01zk-$Tx;v8&~m&f#v;%_*_hXWkmgCrxNqvZ zhpH%iDp9|Ss`ht~d~O3Ame`DG)X9Wq$3O*y*M^)*2D2V(HPO~r(Mvd!v#G4VkX_Ir z8{~Aii%OzM4}l6uZ_AK%`feBQ=WZ#CO1Nx&hFxSfm~HkqXG2;}VCIaaX;mpeS}qcM z>l}leAK^*Ct34|6}=!E<)Am9Dw-a9jQ{#pN8GynQni?!Zz%0Bx%``P>KbMgjjYpOERbJ3HL zkul!9ab1^;j0#FdM)8@J0(esQNnjSZA=AF4rwrVJKp=8*ataCxN=iy9Dk^GfY8o0E zT3T8dH#ZLt4=*n-A0Hn-KmW;-Cr_O^b^7#a0Re$CXU+%;3Z6ZCR!B(b+_`h- z&!4|=;exQR@WqQ4FI~DMA|fIxDth_yWic@^adB}82?*IXQWGc?AUpMMXsj1OkOZuU@@+?bgwvZZr#$*(9qP>)Y8(@*4Eb1(b3h_y?y((o}Qk*zW$v%cMJ>+?%us?XlQuv-o5+x z?;9Bz85`q86Dj~_p_v9YnW zwY9Uev$wa0!{H7N4o{vuaddQaa&mHZc6M=badmZdb8~ZdclYq{@bvWb^78Wb_V)4d zK_C#mzP?B#($CM&-`_tVAmHiKr_Y`}3k(bl3JQAu{CRM2a7aioT z6bkkF_3QNX^o)#*H*el#W@f&9`!*{pD?2;;-Me@1-@nhv$@%c%LvC(vUS3{)e*VXg z9}5Z!3JVL1ii(Phi%UvMN=r-2%E~@{`cz(CUQtm|Sy@?CRaISGT~kwoMx#G}{#;vI z`{m1*y1KfrU%!6)_N~6YzM-L^v9YnKspFw?9>+9?9?;jW#7#tiN8XCf4vBSf|BO@cDqoZSEW8>rF zzkdCin3$NHoSd4P!r^e!)6+9EGqba^b8~a^^YeH-eqmu@adB~JX=!>kIAMk>(N7g(M1bgu)SK7C=1kXUKMx8Z9lr?yj4l7|vj zymuShTJUX}15>t7GWBy*T<$i@f8Ys3Y!i(_e^MG&UWJN zdHEs7{fe%2MRec%h%e{Ly2=!sMOe@C;^?dHLgF3TJ_k4Rog?;7l z8rUY)Zlkg|ihFLRl61H+jjiFRNoh|oD#woHo|S2_OT)#|E^a(du>Qksh(0&wyOB5( zPN!CBnj*rZY}!Ir5rwxiQZ39Io50vqM04Ut7NnVQ@Rmkp#(aZ5`7iScKM0rMS4HRi za_)qxmtz;yq7a7snC~uLVALv&N)&Pn0v-_2d?HZIjcK086k4?z%k@@`&-c2m_s^c1 zIyNYGsm477DP8s2+4b^dzJl@Fb&7s-!TYq?=EmQeUke?v&MDjc^_`Jo3#&5uz24x1 zZE6d7|JK_5U9XYK2WNVA^)?p0o3lKG}2;#amzU!i^v?DWOG8 z!E6g}c@CccsuWhfw))ELao#{4GFFno`eUepua>XCJbgB4SEP1E3VquZ0gWR#Cy-MW zH@Fx_#QH+{73>BpIs)EOgNDBIbp7g&Y3&LkuP|3PTf4`_STk(b66`vY73NVf>LMqL zf-^}Q;NWlUK&$+mrY(#b`PyjEWc58hBSnzU{UvbrH)IXiH({q#ydaq(vGWMJ zS>e>Bm&Q=;`4M%scG)2iF+j`>oRA}q>c0Pe`hiKst)lrJLW_9o>-kUNTdP~4V!}i@ zK7`{(LyrfN#j%`sw{;(iQWrlKi~+4SB-pK%_0}M_ytq~-7757Z&>@Ch8^TZFTv9?t zD!r;^cqFdde{?*|qa)4d$BmWQ31mntViXPNK0l`%{;6zx15W4iqHNKS(KMBq-3 zFQyuclB#?Q(XVj+Xv4qiTazLtj39j8Hdco@g{Q^h9ZD8%k*30Udrnj>VIicGTuzrP zF3&rV{1m7YK(oHP4KYgS#}jO8;K?&`&K3?%9R0O$u9YTh)9KZ1yTY;lG}-C$&TnkO zn*@WhyN_DicdQH0MTP<<4QX3&M48QMOzF@995F9#Uq#tHd#`Nzm0VVOG0$jVitpUx zTBoWMkt3x|ox-m7Z5mbU2Z!9%C5MCjRI~8KYbY1j!S&M2k{rwzrW((23{nL&)NFf? z^PLIu*W^2s&I+ILeq9BgNsThtibRx?!v~M~4xQX36%o1C_@QQjN-igL_pJ!AB>ndD z9z$CKAM1&?6~%2!B2#ywNiW3Wp0dqEQul~B8*Owdwe%ZgO!!W|_ZR(o?;lLOT*;M@ygS8W!*p8w z1E*^4km|om%@4sgOpCQ{et;@Z3IgCZfZE?)}daM3t6)A7mJs|VQTOWCOPe|2G8M_ULPs4Yi zs-rxtP8qKkmu;@MyAE@k-`a3nt7WZy^E$1!%GaSViTFatLr^p#B7feWMqdCdLPN00 zNj&D3P;BGAnbu>QQm_8P$e`h^IzBn%>yR6RnY03~x%OhqD8Cd11cA%)uk#&&aM=Y< zZeLE$=PX>!p8wKkN3^$;>wV0Q83->|EO@BT@M2KD>DiMx?w;70(aZ1(Vq#iCyb>|7 zho4tUE`JmNVsCuLcLA7`rL()I(xUgHzWL#Pc#9a?I|o5E8~OQ7rk85%fTGN&R@FqR zVtbBHcRF26qbX*3ulS|BYL|H0e*$A6%;}T_Gpt+<>)VFaPA3!nFR>yf^Om_(9L#;% zy!&}w)S}Yu9f+lSq7cEnAd8YpgtYA%V#^@if80YkSA@L9*2aqF}Ok@64Ks1 ziyb2`2H#qC8230-i)=KQ-mHrA_aia!sm^tno}VwiJxOWf>3P|%k~vuz#wssbeqP?^ zN(I(zbR;dzP$Is2r!}l^5nTJZDk?x=G)G@}b0(yIj$;sCsnewnlCm^%|0K`KK07XT zKdb4e-p}rmQ-HajezGo=W5gzcFmPW<3Sw>{v0ohcp>jWcQ*lS#;Tim?TdT4G^?K1j zPWvr%fLS;>mwe4u+^_>EIp42hE!<08N}(mm9zAJwc2c`+G9p9Z^)#T`zIbE6#;IuB z+_$PnM1MBSnN{ky-Md%mpC|Bf4DBzWs!-7ab5|$qynX;RuKZl`3UGkuQF$qBGGg9z z%J0HKt6<5=$LK28cCMmWAIWNK#>(#Z5f>!@a}-Az^xXunhVq|kB(De(lk0~>s-NX5 zawR0L|M+eev+b|?kl{VYkPD*$v`ozMmBQm)zPWziia7B^*MyX{9E2i49&x_GqI0uR@ZvB_?WVQJ{9TMpF{7x-w4{a#z$ zpy}z@Y6)_gC+|^{X3DmiqRf-Be4GEH4M|;I{#i7C=u-XM(KNA@AGhn!nfj_fQ5<6u zY@kcVSblE#Xl5;CkdMfxoLI%R?U@%FqeDNwUZQN@NzJ{dJtf5hV%(KvO66sajBpLK zIbZk4IQUVej6u!ASh4%hvKjz(_TF*fUTGdVueFF;V$M{jiY#fn@!^-SQVVh;f0{-> z7-T%UxiMB-l-9Seo9LeI^51Zpj}T&%n$(jc2yKs2_Qc{I@FUE&=Y6@;JZ^6sk4|f1 z5_!aeaSPkjebie(mWPyG|F zM0v%$wKL|%SgLEA7)%A;IAAdq`SYLZh*%~CV>;{kJ*}MG`KSY3mHYJODl|=UlBMAn zzcgL8)1Q&@a1SZ6vV${V$8W~9UBeoA9*=heI0Ey}C5G2Mx|$eK5-B&#%O-yoQL|M6 zn3k>cPQ5iQML!YE0IPIw8ydKbYD-~rug3F!Of8W>aqBBQ^Ytwn;dA~R9_&_<6Y*gg zo_U6ROJy@Xr?*a(9do|^)_K^{_l*_kZ8p(ob4I^)F%-7>WR<-~H?Ye@Q?s(UWSP!O zwUU^-TU$`5N)VeE5u0v9Y*2_#qL!cePdV6}y(5mRf0S8-Fs8%xsCAXTW3=uPJeQl} zq;zKAQ*uLYu0wPY!P9+eP@A%+mr?xk$FVj;pzei{SJWV)(^y3Wl>^m}a`@n0e1>)2 zmV!u#1@%k0@$xdYg(o|xY_={wfQ7@{t7h|-wH&JyPn)Fth5|(cI$Bjxkk;Dq4aust_5NbfF_2R0w_CI*wI!Uf zzJ;DQP|VipgcQ8;O8DM$f$u#f;ZVjbP$S`lUm*n^O?YTSeN9L(y+br#3q?$kK2H zatv5P5MyztQ0RfPCVd)c%sJE+uTkeo6yz4-V-5mj1aiT1ug5<2jJIOL>`(R0R%yo= zsvf@bDHGM<(q2f`a=m6>Ywc@2ALAa@yGP}H@nyyGu4+X{Syw-sb?GD7PE${%#R7PQ z`}DXeJaffz^nG4n*E!l{iA5bk9jZ_7qh=Z}z&F&O2DvRZLfiJ{j!w+>>=>V@NQ&K~ z!$C<{baIaaC84fK=oD*@?i~oe|J_a>b|yxv|8$j;_jg+sBg^bQ3{3Lt2Ts1nS9RB` zm9yVXMe>wiwARzs4)f&t&=fhL;#k9+ zKDCNsF_c%2_u%QZ+94S4!xno)J4mCdLS`_2u_W&6B%&1vaXXe8{7)NvTc7|}?@u63 zXiRHN?^A5yRt$Pn-v(y5`GzeZNRNRgfr5y`_=;J7`Rd@fXn@{LVp~$HryorvX zE?zqNb#MMIQ57T9C5M9Gls;)Ju*?U)VM^+W&u<9GJAkR|SyWy|M*60TD?>yUtXnhb z7{v1hm83f|!F^*XVG9`>K|Lj+4Oq1kc{6o%4MC`<2B}!!F9r^zSn97UlU*rGJk{EV!qUWEH>|;Vf#=?bRMh zqh(~`mg}wS5T>3@3WdZb7whuxlGZAWONgnBzm74?S9~_QMnW>f5oQ_488?TU0Z8gl>GOQfmyp7!HlHprkP9#Gu~x8SU;2G` zbqQf-baSNq`o`u4XNHP?4b1sb75`HZW2#@WA(zSJs-u|xjM{PrJpjUy)omWCQOecF1bw+uL$?K zr6msUBT}+AB`12jTiar}b69=qIl47)m zKOO&kOna(kI(`p}A(PzY56vwk(o9=EEfTzztYVd#6*(bo$EXSBW-8IU120Hc7eKiR zz*-3k)M{JG5RK!%SNTfekpXm=*G3I($&o+A86y<2&Lz>SNNzl!Y0ZM^WSdOd{swD| z*YkA7LF7+9nYv#&lemkog{f?7u5_Bt<{ndYo*&(vs0b85h4u(TJiH~{uPr0J&SyMY z>bVMMcsn#|w0Qw`*-~BN^o|p$R=cPpB$MW@Dm5_}tt(-J5?dV^^vhLcX|o(r~Tey!Ts9qH+Oqq{(I%{vZ??xM)Dc>Lq&Gx^5dwpDAxx@+dzJU zn}4!d=r@$}WE5r0=N^+>P}BTA>thL~aVflMK2H|22@^B3(u_E^+E=$qSG+89b)mef z0Ztr}wAQVDI$LL7*-UM8Fpzhn$xmTYku~n4TW@!|bKK|sg(56>7-~Ov%Ka=7U8dqT z{YcD>Pyx-mZ6(!4wRib%WAi$qf=$y_Llx7W++SozIZlO6>Gp@MQ&v7~rU~%#oquo? z7Gv*7ax|`6)o&Z=d)5c`zP5-?>J`oZ6x)fQ@K*WQgOw@r-O+!w6_f9Xa1X~daD9o5 zMawSb>xcJ=?9BZd6Ap~+G``n_W;`;VT^sP!i9)$lX&wbOoO30)@B@E;JU`C4mjmt1ikPFYgiHtec zmXE{ecC$&&6U!7qW&yLBjIdyjiOXgX+qf$GF60(lfQ>i){ID;n6gPfS=g*3x2LjxU z4h|*$^_ab+n<~2ElOItqw_quV=BSO;R`{UH)Z)tX`>Mm!^mm-5&X2;>+@N)7EDL25 zlcQDA?x$qonlg`?gSV+RxjsFZR$`tgj~>pI1y_Av#4~=0k~yX@i00{W*llzm=#PY} z+MU>`{5eOh&Ux!TyxFv0wUibTR24!zR<;$RMNg7xNVD5P$hgDhi9Z+1MpW>nPVNpq zh$r1Y38F`)KCMR73g%^3u^Rhs#Fl9S(M^7inNl%3X6sUiH$R?3Wa#V7v=f#sezj5! zFuYY!K&}d?x@P%$X9-!8((9_r5kBKsT@B`y33ly7@2C_d1sl2mw!I0pp0?J9scb< zhJ)Y>N7KsMRuLO)eghkv^CLGhkZto;HLT1P$4`2ki{_{=fOAn6_dTeoBERSBd`5Dp z@upS2xoFQqPN-VcB>xbkX8DDL8eA+Ue?T6!n`}Iulee@jp~heC#>1HR%_+}($WLce z0kf6DCjXFkW~biX$&L<((LnEve|Mu64k9W=Rf4&yIcea(vcu4%>UVE`-fH#n!Nm{24b_#AXR;AMc1hvZ({YV+bw?g*0iSr7Cn>KF@i34 z-{Kw!KT%ru)Ml=B{N8t5-Ku&%)-2`fEMl#2+0USCSwBMDQgAzHIpBdl8n=SAfc2X$ zZe>LH6k4u4O_lc?ujS@hgl_2L@qbfSuuJX$OD@%q0>Q+2rD1gKz{ACRm8qn>1<2yN zm^)V*+aJ>eaZ&wP(Dbg!M1Wo;2^G9?*?xN!n#4QVd3r;BDBe5+a@hqW#rL#hih@fDqY<66zG}Mn#XEOzJh|$;+o8jYFg$UaYbLFAHtIl!d2~qn-*{#>GBOxJ^LgIk+J4Bj3T#t-Rc@G} zOD896SYk&D-c9OKUjRxIb6W0DdD8X+O)t<8$}E3XD!|?|f#zMRqr=g*vM7y z>C(pAP~wn{@42%*vP2wi6)7_CngF4kVZoTJ&(w4KmKxaOVxJ5!-ruZa%UkGG)vPWR zEL?1P5pIKikYtnMf zWYetLC8y3Rt(SS(k-brcb_3f@p~&})V#2mb;lRxc8%jO9=Z4dtZEbHs{fq=qk15%a z%7?`OA&-Of1yE!c$=|C$L3b(j!ja@3X|uUNRHm%jQsnfXPyeZcumuz*LlWNRc``Zf zYCd`_szIyLKG^KdQ{+)?6ta_wkZ&drUzULrq(&PD+2rBrQyOUoU|kg`-8pUOJMyhH znT2HVj$m0BAJO5mbX}5kkFQ6FTMbO^k0PEKZfXP`pSNzY3y@LX6N-b$3YG*LDS=~@ z(MWQt=nJUfbp%_A;wbO&JA^80^9nbw)*DnHK@=2}NsmhiB1*{m{FFQ6-Ki+dRW9b; zZz838b-(jVK4H^bqK#u`7G7GL$AU{N&pf$Gt_JlRdnAZro*$=*yx!m?s$#b8b^Ec( zwa9R$`I=U;z4z%i`7z1{3-iVt$q`GF*T*A0qHI*IF}oU4(47NOg`9PPF37fUlPVoX zMwSEGqJYZG3&;B{y!iY8jX3C16H=pMTOpisIoSt3#JyJxbztZ8!BlEXzI?kRIZmNG8rCpN{F48^dBE2TI z&uVZd@g@D9pyX=DFlN<3arOQM@32?Yca*!T8HoKa#Sh-GVFbOr1XZas@^2B=ARftX zdIXAF`T`aQT0M)(_tXci4u5j*>}`_Z=#|J(QKJQhNB(IQW)D zJ&QKk%bKGYxm$s>=aAa`^f**Z(NzFnKIc&P&7&3m4p#?t{|i9;tHQrxuK(+`RLFq4 zYP25d|P&SD~S?jYW>PWPG1ZHUP_{1jh32eXHigYmVY3x z(0aBXgu}A{`(XVGaQ`vg|4aB$h~!YzpwLs`t%DwS~y(f8Fm#io{RHkju7uc|I^Vyexj`5D?v&blGem zs^v?@P?E!PjmZ^MRMoQyiPS}=Bm7=%d=gtFzb5`Dksp8g!55qiY9UhblVkm@g({pg z;1-sbDSrU2bu)HX3Pbk6Lw=ZRqpk${t6<6k*Dpw5ap3pihRE)8LmW>O_<%F}9dw{}7mCDf;`AT3+GElojd z4e;Qv`?H`+n^qgBmFo)~fNL^1cFTmqOH2tw?OC0NhCa(cG^DhWDcC(3HK`JEyDvdHetX z%H<)nOu}+S%RJB1><_CN5oiz{^4OIR4pqJ4^- z{yA`mekgt&s!V(Cq{?sMUA&29#Ha52rw+)h0=erG zjuf+rW?Zn6wqL#Tn@mJdz7nf7Ju|s12b>HruG8bs@wbKBK2=Zb)#c^FNVT=K%wFP` zg$l7%Q73}PXMVf}wPG^*_*9`mPvVww8Aa8{4!C7JfbjSkGwy|!xfvx$xkC!rAt9|) zhTMTaL&~~XLk*g&H3jI-h2&j@k`|Qo+rQpBtmss>v{@U7l)eUiMthFFeW?Cs{oKkx zL)t}~LrGhCF_&87Z|$|T=U0HFige@P%jw^8CrO|dxSZf`54F*Ttbw!`rT+1HTME-; z+3Z$S^;=LU8fWa9Wm$v7-yRTpdf*SKy)Bo)>X61Ce<&maW;PZ;VBE9KkS|VUPws~A zk7iGX4XLwI#-C_Sq-JKx?~3NYJeQ%tx}sXsy1{t>z)VJ* ze}c(*ltk4dCt_Td`&3VOH0uG%>Hz<;*^xGEUTqv1zv(yL0!gmQH=xI{Vf{wyTKmjY z(03$&mD|2I2`Be#j?DzWlt!2A4ho;W6@OWl33uq`_tr)GZcmC9w>dhnz|Sp*Xwdif zyPwRFz(V632o{#DK3oUxw}wY5iebWJ7KR*f)eLvQIq12HTjzoBLN&e15c?zXC1zXn znF#MKDDR#l!y`4t0`M0YhZP!m7WT@GD{RBg4lQWBdwSOIznPOXk>S*|gb(5+3nu@{Sg-Jsyx^3Nbcl@hYmeU)!4-}oQc0ataf z*FF{|)-viK6~C8lJ_bZht?9WRCMxKhkDWioU`mhblkXzX|)@ zt53|z&r52siNP;K(`&~8wS@ZFk zm{kyk9M{S;$NieW*|H9%eYEG9((q7Ye5BNt@5I*wb^|ygG%SG?yp25l-#o+wYC7mN))nJ@&S5^;In6!~d{QU~&r$ zr-m~}<9eimiVy7$P`VODORR5k0I95+b6NY378n(8kQB^XezIkyJ?U)-@KgU|7&Zj` zwlsU~tt*wIr0%UlKCa_uGjzvtK;$tWAdl;lI0t{TyA)CCE%R|nIRn3g8QHiZ_jeTY z2N&(-gtA#c%A(@;!_8dGZj=W0cOhwh`GBJtt8YDD^^+>9<+6 z1@{o&LBsOb#s3dV&|5^}ZCiSFQ)2oI`G;_qDD{Go^vC2;NeM^n;#NDtvDXf;A&BxJ z1L>beUHit2`{*KGAPs62BY%G#`YePWV+UXmK`Gfln|%~?3@Ab=+5X?Z4B^DgR`sfn z_I?pQ8=2-h^lBz_&uIbJW4&Mr6}>_2jHgQlcdWc^ o@i&%gl@%2M$=friwm&QU< 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 Dc80a) diff --git a/articles/Workflow_Continuous_Exposure_files/figure-html/unnamed-chunk-54-1.png b/articles/Workflow_Continuous_Exposure_files/figure-html/unnamed-chunk-54-1.png index b029db7c990ed60d7df8596ce86be481841bc906..7a53eff7a0cf50dfe2a39ffa4be934d27f0503bf 100644 GIT binary patch literal 19605 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 diff --git a/articles/Workflow_Continuous_Exposure_files/figure-html/unnamed-chunk-60-1.png b/articles/Workflow_Continuous_Exposure_files/figure-html/unnamed-chunk-60-1.png index e8e1c4d0ee44b5b67a4c8e92b21bdbd1f32abac9..b9c6de4cb4e7253d754fb2c02c1714e770b25226 100644 GIT binary patch literal 126028 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:>{4cHdyS^3Kg|*>FVMZxyu{#)& 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¾QB(MUtr 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 literal 125526 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ώ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

IZcq=SzCh8WQ&q2j^pT=ph$H4O|d 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

Vl_ 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,yqZ(#LeET9Wc`P=owQtkt6SwBpknt5Ro} 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

nofap7XzWBwBLD(6Z5e54 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

Summary of the 7 core functions of the devMSMs package.

Function T_^h8J0P*3 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 Resourceshttps://doi.org/10.1198/016214504000001880

Rubin, D. B. (1974). Estimating causal effects of treatments in randomized and nonrandomized studies. Journal of Educational Psychology, 66(5), 688–701. https://doi.org/10.1037/h0037350

-

Stuart, E. A. (2010). Matching methods for causal inference: A review and a look forward. Statistical Science : A Review Journal of the Institute of Mathematical Statistics, 25(1), 1–21. https://doi.org/10.1214/09-STS313

+

Stuart, E. A. (2010). Matching methods for causal inference: A review and a look forward. Statistical Science: A Review Journal of the Institute of Mathematical Statistics, 25(1), 1–21. https://doi.org/10.1214/09-STS313

Stuart, E. A. (2008). Developing practical recommendations for the use of propensity scores: Discussion of ‘A critical appraisal of propensity score matching in the medical literature between 1996 and 2003’ by Peter Austin, Statistics in Medicine. Statistics in Medicine, 27(12), 2062–2065. https://doi.org/10.1002/sim.3207

Textor, J. (2015). Drawing and Analyzing Causal DAGs with DAGitty.

Thoemmes, F., & Ong, A. D. (2016). A Primer on Inverse Probability of Treatment Weighting and Marginal Structural Models. https://doi.org/10.1177/2167696815621645

diff --git a/pkgdown.yml b/pkgdown.yml index 943240be..b7aab891 100644 --- a/pkgdown.yml +++ b/pkgdown.yml @@ -8,7 +8,7 @@ articles: Specify_Core_Inputs: Specify_Core_Inputs.html Terminology: Terminology.html Workflow_Continuous_Exposure: Workflow_Continuous_Exposure.html -last_built: 2024-10-08T18:54Z +last_built: 2024-10-08T19:11Z urls: reference: https://istallworthy.github.io/devMSMs/reference article: https://istallworthy.github.io/devMSMs/articles diff --git a/search.json b/search.json index 578c5c94..65cc0d0d 100644 --- a/search.json +++ b/search.json @@ -1 +1 @@ -[{"path":"https://istallworthy.github.io/devMSMs/articles/Assessing_Balance_Tv.html","id":"calculating-raw-balance-statistics","dir":"Articles","previous_headings":"","what":"Calculating Raw Balance Statistics","title":"Assessing Balance for Time-Varying Exposures","text":"calcBalStats() assesses balance using correlations confounder exposure continuous exposures standardized mean differences confounder exposure groups binary exposures. balancing statistics created based diagnostics confounding time-varying exposures outlined Jackson (2016). specifically, user-specified exposure time point, raw balance statistics calculated quantify association exposure time point confounder, exposure history time point. accomplished using col_w_cov() function calculate covariance continuous exposures col_w_smd() function calculate mean difference binary exposures cobalt package (Greifer, 2023). Factor covariates split separate dummy variables using splitfactor() function cobalt. covariate interactions present formulas created data multiplying constituent variables, interactions including factor covariates implemented constituent dummy variables.","code":""},{"path":"https://istallworthy.github.io/devMSMs/articles/Assessing_Balance_Tv.html","id":"weighting-balance-statistics-by-exposure-history","dir":"Articles","previous_headings":"","what":"Weighting Balance Statistics By Exposure History","title":"Assessing Balance for Time-Varying Exposures","text":"calcBalStats() function, exposure histories comprise combinations presence absence exposure (delineated using median split continuous exposures) prior time points (note may different user-specified, substantive exposure histories used compare dose timing final model; Step 5). Subsequently, weighted mean balance statistics, weighted proportion individuals exposure history, provides raw estimate balance exposure time point confounder. occasion balancing statistics one person people given exposure history, user alerted balance statistic dropped inclusion. raw (unstandardized) balance statistics calculated without IPTW weights pre-balance checking using IPTW balancing weights (multiplied across time points) weighted analyses.","code":""},{"path":"https://istallworthy.github.io/devMSMs/articles/Assessing_Balance_Tv.html","id":"standardizing-balance-statistics","dir":"Articles","previous_headings":"","what":"Standardizing Balance Statistics","title":"Assessing Balance for Time-Varying Exposures","text":"purpose comparison common balance threshold, balancing statistics similarly standardized following manner. continuous exposures, raw balance statistic (covariance) divided product standard deviation unweighted confounder standard deviation exposure time point calculate correlation. Given , possible correlation may greater 1. binary exposures, raw balance statistic (mean difference) divided pooled standard deviation estimate, square root average standard deviations unweighted confounder levels exposed unexposed groups first exposure time point. standard deviations computed using unadjusted sample (recommended Stuart, 2008; 2010; Greifer, 2022) given possibility balancing changes variation confounder leads misleading standardized values. first exposure time point (histories), standardized balance statistics computed directly using cobalt functions mentioned .","code":""},{"path":"https://istallworthy.github.io/devMSMs/articles/Assessing_Balance_Tv.html","id":"imputed-data","dir":"Articles","previous_headings":"","what":"Imputed Data","title":"Assessing Balance for Time-Varying Exposures","text":"imputed data supplied, process conducted imputed dataset separately. function takes average absolute values balance statistics across imputed datasets account sampling error (Pishgar et al., 2021 preprint). averaged average balance statistics compared balance threshold(s) summarize covariates balanced. Recommended specification separate balance thresholds relatively less important confounders can found Workflows vignettes. specification balance threshold(s) kept consistent throughout use devMSMs package.","code":""},{"path":"https://istallworthy.github.io/devMSMs/articles/Assessing_Balance_Tv.html","id":"references","dir":"Articles","previous_headings":"","what":"References","title":"Assessing Balance for Time-Varying Exposures","text":"Greifer, N. (2024). cobalt: Covariate Balance Tables Plots (4.4.1) [Computer software]. https://CRAN.R-project.org/package=cobalt Jackson, J. W. (2016). Diagnostics Confounding Time-varying Joint Exposures. Epidemiology, 27(6), 859. https://doi.org/10.1097/EDE.0000000000000547 Pishgar, F., Greifer, N., Leyrat, C., & Stuart, E. (2021). MatchThem: Matching andWeighting Multiple Imputation. R Journal, 13(2), 292–305. https://doi.org/10.32614/RJ-2021-073 Stuart, E. . (2008). Developing practical recommendations use propensity scores: Discussion ‘critical appraisal propensity score matching medical literature 1996 2003’ Peter Austin, Statistics Medicine. Statistics Medicine, 27(12), 2062–2065. https://doi.org/10.1002/sim.3207 Stuart, E. . (2010). Matching methods causal inference: review look forward. Statistical Science : Review Journal Institute Mathematical Statistics, 25(1), 1–21. https://doi.org/10.1214/09-STS313","code":""},{"path":"https://istallworthy.github.io/devMSMs/articles/Customize_Balancing_Formulas.html","id":"core-inputs","dir":"Articles","previous_headings":"","what":"Core Inputs","title":"Customize Weights Formulas","text":"specify core inputs devMSMs functions. createFormulas() function 3 different modes: “full” (Steps 1 & 4), “short” (Step 2), “update” (Step 3), corresponding different steps Workflows vignettes, can customized mode. suggest staying consistent customization throughout use package workflow. recommend sure include measured confounders (mediators colliders) exposure time point weights formulas. Please refer accompanying manuscript details. , illustrate customization options three modes createFormuls() function using information package dataset example. data simulated based data Family Life Project (FLP), longitudinal study following 1,292 families representative two geographic areas (three counties North Carolina three counties Pennsylvania) high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). take example exposure economic strain (ESETA1) measured 6, 15, 24, 35, 58 months relation outcome behavior problems (StrDif_Tot) measured 58 months.","code":"exposure <- c(\"ESETA1.6\", \"ESETA1.15\", \"ESETA1.24\", \"ESETA1.35\", \"ESETA1.58\") tv_conf <- c( \"SAAmylase.6\", \"SAAmylase.15\", \"SAAmylase.24\", \"MDI.6\", \"MDI.15\", \"RHasSO.6\", \"RHasSO.15\", \"RHasSO.24\", \"RHasSO.35\", \"WndNbrhood.6\", \"WndNbrhood.24\", \"WndNbrhood.35\", \"IBRAttn.6\", \"IBRAttn.15\", \"IBRAttn.24\", \"B18Raw.6\", \"B18Raw.15\", \"B18Raw.24\", \"HOMEETA1.6\", \"HOMEETA1.15\", \"HOMEETA1.24\", \"HOMEETA1.35\", \"InRatioCor.6\", \"InRatioCor.15\", \"InRatioCor.24\", \"InRatioCor.35\", \"CORTB.6\", \"CORTB.15\", \"CORTB.24\", \"EARS_TJo.24\", \"EARS_TJo.35\", \"LESMnPos.24\", \"LESMnPos.35\", \"LESMnNeg.24\", \"LESMnNeg.35\", \"StrDif_Tot.35\", \"fscore.35\" ) ti_conf <- c( \"state\", \"BioDadInHH2\", \"PmAge2\", \"PmBlac2\", \"TcBlac2\", \"PmMrSt2\", \"PmEd2\", \"KFASTScr\", \"RMomAgeU\", \"RHealth\", \"HomeOwnd\", \"SWghtLB\", \"SurpPreg\", \"SmokTotl\", \"DrnkFreq\", \"peri_health\", \"caregiv_health\", \"gov_assist\" ) data(sim_data_wide, package = \"devMSMs\") obj <- devMSMs::initMSM( data = sim_data_wide, exposure = exposure, tv_conf = tv_conf, ti_conf = ti_conf )"},{"path":"https://istallworthy.github.io/devMSMs/articles/Customize_Balancing_Formulas.html","id":"customize-full-weights-formulas-steps-1-4","dir":"Articles","previous_headings":"","what":"Customize Full Weights Formulas (Steps 1 & 4)","title":"Customize Weights Formulas","text":"default use createFormulas() type = “full” creates weights formulas exposure time point. formula contains time invariant confounders well time-varying confounders measured time points prior exposure time point. example, 24-month weights formula, time-varying confounders 6 15 months. However, users wish also include time-varying confounders measured contemporaneously exposure time point (e.g., also include 24-month time-varying confounders 24-month weights formula), can specify time-varying confounders optional argument initMSM(), concur_conf. example, include 24-month maternal depression 24-month weights formula, following: first specify confounders retain contemporaneously creating MSM object. Now B18Raw.24 included 24-month weights formula addition 35-58-month formulas.","code":"obj <- devMSMs::initMSM( data = sim_data_wide, exposure = exposure, tv_conf = tv_conf, ti_conf = ti_conf, concur_conf = \"B18Raw.24\" ) full_formulas <- createFormulas(obj = obj, type = \"full\") print(full_formulas) #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 6, the full formula for ESETA1.6 is: #> ESETA1.6 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 15, the full formula for ESETA1.15 is: #> ESETA1.15 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + MDI.6 + RHasSO.6 + WndNbrhood.6 + IBRAttn.6 + B18Raw.6 + HOMEETA1.6 + InRatioCor.6 + CORTB.6 + ESETA1.6 #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 24, the full formula for ESETA1.24 is: #> ESETA1.24 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + SAAmylase.15 + MDI.6 + MDI.15 + RHasSO.6 + RHasSO.15 + WndNbrhood.6 + IBRAttn.6 + IBRAttn.15 + B18Raw.6 + B18Raw.15 + B18Raw.24 + HOMEETA1.6 + HOMEETA1.15 + InRatioCor.6 + InRatioCor.15 + CORTB.6 + CORTB.15 + ESETA1.6 + ESETA1.15 #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 35, the full formula for ESETA1.35 is: #> ESETA1.35 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + SAAmylase.15 + SAAmylase.24 + MDI.6 + MDI.15 + RHasSO.6 + RHasSO.15 + RHasSO.24 + WndNbrhood.6 + WndNbrhood.24 + IBRAttn.6 + IBRAttn.15 + IBRAttn.24 + B18Raw.6 + B18Raw.15 + B18Raw.24 + HOMEETA1.6 + HOMEETA1.15 + HOMEETA1.24 + InRatioCor.6 + InRatioCor.15 + InRatioCor.24 + CORTB.6 + CORTB.15 + CORTB.24 + EARS_TJo.24 + LESMnPos.24 + LESMnNeg.24 + ESETA1.6 + ESETA1.15 + ESETA1.24 #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 58, the full formula for ESETA1.58 is: #> ESETA1.58 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + SAAmylase.15 + SAAmylase.24 + MDI.6 + MDI.15 + RHasSO.6 + RHasSO.15 + RHasSO.24 + RHasSO.35 + WndNbrhood.6 + WndNbrhood.24 + WndNbrhood.35 + IBRAttn.6 + IBRAttn.15 + IBRAttn.24 + B18Raw.6 + B18Raw.15 + B18Raw.24 + HOMEETA1.6 + HOMEETA1.15 + HOMEETA1.24 + HOMEETA1.35 + InRatioCor.6 + InRatioCor.15 + InRatioCor.24 + InRatioCor.35 + CORTB.6 + CORTB.15 + CORTB.24 + EARS_TJo.24 + EARS_TJo.35 + LESMnPos.24 + LESMnPos.35 + LESMnNeg.24 + LESMnNeg.35 + StrDif_Tot.35 + fscore.35 + ESETA1.6 + ESETA1.15 + ESETA1.24 + ESETA1.35"},{"path":"https://istallworthy.github.io/devMSMs/articles/Customize_Balancing_Formulas.html","id":"time-varying-confounders-measured-contemporaneously-with-exposure-time-point","dir":"Articles","previous_headings":"","what":"Time-Varying Confounders Measured Contemporaneously With Exposure Time Point","title":"Customize Weights Formulas","text":"However, users wish also include time-varying confounders measured contemporaneously exposure time point (e.g., also include 24-month time-varying confounders 24-month weights formula), can specify time-varying confounders optional argument initMSM(), concur_conf. example, include 24-month maternal depression 24-month weights formula, following: first specify confounders retain contemporaneously creating MSM object. Now B18Raw.24 included 24-month weights formula addition 35-58-month formulas.","code":"obj <- devMSMs::initMSM( data = sim_data_wide, exposure = exposure, tv_conf = tv_conf, ti_conf = ti_conf, concur_conf = \"B18Raw.24\" ) full_formulas <- createFormulas(obj = obj, type = \"full\") print(full_formulas) #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 6, the full formula for ESETA1.6 is: #> ESETA1.6 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 15, the full formula for ESETA1.15 is: #> ESETA1.15 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + MDI.6 + RHasSO.6 + WndNbrhood.6 + IBRAttn.6 + B18Raw.6 + HOMEETA1.6 + InRatioCor.6 + CORTB.6 + ESETA1.6 #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 24, the full formula for ESETA1.24 is: #> ESETA1.24 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + SAAmylase.15 + MDI.6 + MDI.15 + RHasSO.6 + RHasSO.15 + WndNbrhood.6 + IBRAttn.6 + IBRAttn.15 + B18Raw.6 + B18Raw.15 + B18Raw.24 + HOMEETA1.6 + HOMEETA1.15 + InRatioCor.6 + InRatioCor.15 + CORTB.6 + CORTB.15 + ESETA1.6 + ESETA1.15 #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 35, the full formula for ESETA1.35 is: #> ESETA1.35 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + SAAmylase.15 + SAAmylase.24 + MDI.6 + MDI.15 + RHasSO.6 + RHasSO.15 + RHasSO.24 + WndNbrhood.6 + WndNbrhood.24 + IBRAttn.6 + IBRAttn.15 + IBRAttn.24 + B18Raw.6 + B18Raw.15 + B18Raw.24 + HOMEETA1.6 + HOMEETA1.15 + HOMEETA1.24 + InRatioCor.6 + InRatioCor.15 + InRatioCor.24 + CORTB.6 + CORTB.15 + CORTB.24 + EARS_TJo.24 + LESMnPos.24 + LESMnNeg.24 + ESETA1.6 + ESETA1.15 + ESETA1.24 #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 58, the full formula for ESETA1.58 is: #> ESETA1.58 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + SAAmylase.15 + SAAmylase.24 + MDI.6 + MDI.15 + RHasSO.6 + RHasSO.15 + RHasSO.24 + RHasSO.35 + WndNbrhood.6 + WndNbrhood.24 + WndNbrhood.35 + IBRAttn.6 + IBRAttn.15 + IBRAttn.24 + B18Raw.6 + B18Raw.15 + B18Raw.24 + HOMEETA1.6 + HOMEETA1.15 + HOMEETA1.24 + HOMEETA1.35 + InRatioCor.6 + InRatioCor.15 + InRatioCor.24 + InRatioCor.35 + CORTB.6 + CORTB.15 + CORTB.24 + EARS_TJo.24 + EARS_TJo.35 + LESMnPos.24 + LESMnPos.35 + LESMnNeg.24 + LESMnNeg.35 + StrDif_Tot.35 + fscore.35 + ESETA1.6 + ESETA1.15 + ESETA1.24 + ESETA1.35"},{"path":"https://istallworthy.github.io/devMSMs/articles/Customize_Balancing_Formulas.html","id":"fully-custom-formulas","dir":"Articles","previous_headings":"","what":"Fully Custom Formulas","title":"Customize Weights Formulas","text":"Alternatively, user completely customize full formulas manually creating formulas exposure time point using optional custom argument. create custom formulas, user creates list entry exposure time point, contains weights formula exposure time point. createFormulas() conduct checks ensure formula time point provides cautionary warnings unusual variables (e.g., measured exposure time point). However, user responsible ensuring validity formulas. note, user creates custom “full” formula, also create custom formulas using createFormulas() make “short” “updated” formulas. , illustrate abridged example specifying custom arguments exposure, ESETA1, 6-, 15-, 24-, 35-, 58-month time points. customFormulas() checks retains formulas use package.","code":"custom <- list( ESETA1.6 ~ BioDadInHH2 + DrnkFreq + gov_assist, ESETA1.15 ~ BioDadInHH2 + DrnkFreq + gov_assist, ESETA1.24 ~ BioDadInHH2 + DrnkFreq + gov_assist, ESETA1.35 ~ BioDadInHH2 + DrnkFreq + gov_assist, ESETA1.58 ~ BioDadInHH2 + DrnkFreq + gov_assist ) full_formulas <- createFormulas(obj = obj, custom = custom) print(full_formulas) #> USER ALERT: Please manually inspect the slightly cleaned custom formula below: #> At time point 6, the custom formula for ESETA1.6 is: #> ESETA1.6 ~ BioDadInHH2 + DrnkFreq + gov_assist #> USER ALERT: Please manually inspect the slightly cleaned custom formula below: #> At time point 15, the custom formula for ESETA1.15 is: #> ESETA1.15 ~ BioDadInHH2 + DrnkFreq + gov_assist #> USER ALERT: Please manually inspect the slightly cleaned custom formula below: #> At time point 24, the custom formula for ESETA1.24 is: #> ESETA1.24 ~ BioDadInHH2 + DrnkFreq + gov_assist #> USER ALERT: Please manually inspect the slightly cleaned custom formula below: #> At time point 35, the custom formula for ESETA1.35 is: #> ESETA1.35 ~ BioDadInHH2 + DrnkFreq + gov_assist #> USER ALERT: Please manually inspect the slightly cleaned custom formula below: #> At time point 58, the custom formula for ESETA1.58 is: #> ESETA1.58 ~ BioDadInHH2 + DrnkFreq + gov_assist"},{"path":"https://istallworthy.github.io/devMSMs/articles/Customize_Balancing_Formulas.html","id":"customize-short-weights-formulas-step-2","dir":"Articles","previous_headings":"","what":"Customize Short Weights Formulas (Step 2)","title":"Customize Weights Formulas","text":"default use createFormulas() type = “short” creates shortened weights formulas exposure time point. formula contains time invariant confounders well time-varying confounders measured time point directly prior (t-1 lag) exposure time point. example, 24-month weights formula, include time-varying confounders 15 months. Please see Workflows vignettes accompanying manuscript detail. creating short formulas, user can specify optional concur_conf custom arguments detailed . note, createFormulas() check formulas custom field meet criteria shortened formula, thus user responsible ensuring validity formulas. creating short formulas, user can also specify optional keep_conf argument. Users specify second argument time-varying confounders always retain formulas, lagged form, overriding t-1 lag default. Users may wish use argument time-varying confounders highly consistent time strong reasons include initial phase selecting optimal weighting method (see Workflows vignettes details). Note unless variables also specified concuf_conf, retained lagged form. example, always retain income formulas lagged form, overriding t-1 lag default via keep_conf. shown , createFormulas function now retains income 6 months 15-, 24-, 35-, 58-month formulas, overriding t-1 lag rule variable. Without specification, income 6 months omitted formulas exposure 24, 35, 58 months.","code":"short_formulas <- createFormulas(obj = obj, type = \"short\", keep_conf = c(\"InRatioCor.6\")) print(short_formulas) #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 6, the short formula for ESETA1.6 is: #> ESETA1.6 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 15, the short formula for ESETA1.15 is: #> ESETA1.15 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + MDI.6 + RHasSO.6 + WndNbrhood.6 + IBRAttn.6 + B18Raw.6 + HOMEETA1.6 + InRatioCor.6 + CORTB.6 + ESETA1.6 #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 24, the short formula for ESETA1.24 is: #> ESETA1.24 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.15 + MDI.15 + RHasSO.15 + IBRAttn.15 + B18Raw.15 + B18Raw.24 + HOMEETA1.15 + InRatioCor.15 + CORTB.15 + ESETA1.15 + InRatioCor.6 #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 35, the short formula for ESETA1.35 is: #> ESETA1.35 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.24 + RHasSO.24 + WndNbrhood.24 + IBRAttn.24 + HOMEETA1.24 + InRatioCor.24 + CORTB.24 + EARS_TJo.24 + LESMnPos.24 + LESMnNeg.24 + ESETA1.24 + InRatioCor.6 #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 58, the short formula for ESETA1.58 is: #> ESETA1.58 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + RHasSO.35 + WndNbrhood.35 + HOMEETA1.35 + InRatioCor.35 + EARS_TJo.35 + LESMnPos.35 + LESMnNeg.35 + StrDif_Tot.35 + fscore.35 + ESETA1.35 + InRatioCor.6"},{"path":"https://istallworthy.github.io/devMSMs/articles/Customize_Balancing_Formulas.html","id":"customize-updated-weights-formulas-step-3","dir":"Articles","previous_headings":"","what":"Customize Updated Weights Formulas (Step 3)","title":"Customize Weights Formulas","text":"default use createFormulas() type = “update” creates updated weights formulas exposure time point. formula contains time invariant confounders; time-varying confounders measured time point directly prior (t-1 lag) exposure time point; well time-varying confounders greater lags successfully balanced using short weights formulas. creating updated formulas, user can specify optional concur_conf, keep_conf, custom arguments detailed . note, createFormulas() check formulas custom field meet criteria updated formula identify imbalanced confounders, user responsible ensuring validity formulas.","code":""},{"path":"https://istallworthy.github.io/devMSMs/articles/Data_Requirements.html","id":"data-requirements","dir":"Articles","previous_headings":"","what":"Data Requirements","title":"Data Requirements & Preparation","text":"recommend considering several data requirements prior using devMSMs vignettes. MSMs useful strengthening causal inference using longitudinal data include exposure confounders vary time prior outcome. minimum, devMSMs requires two time point data exposure measured least outcome measured second time point, least one confounder. exposure can binary (integer class) continuous (numeric class), assumptions distributions outcome confounders. highly recommend using continuous variables appropriate possible avoid information loss inherent binarizing continuous variable. Although gold standard recommendation, suggest users select exposures within-person variation reasonable delineate different histories “high” “low” levels avoid extrapolation. outcome time point must last time point exposure measured time point last exposure measurement time point. cases outcome variable constitutes growth process final time point, advise choosing reasonable measure balancing purposes (e.g., baseline average levels) subsequently using generated weights separately conduct weighted growth model outcome. advise user specify include dataset time invariant time-varying variables possibly confound relation exposure outcome. also suggest using multiple measured variables within construct help reduce effects measurement bias (Kainz et al., 2017). Time varying confounders ideal maximizing power MSMs. Time-varying confounders include developmental indicators tend track exposure time also cause outcome, including past levels exposure. note, time points confounders collected must equal , subset , time points exposure outcome collected data. perfect world, exposures potential confounders measured time points prior outcome. However, real-world data due planned unplanned missingness, often case. Users consider discussing implications limitations conferred variables confounders collected time points. basis specifying confounders, users turn literature delineate causal model lays hypothesized relations confounders, exposures, outcome. advise users implement appropriate preliminary steps, goal assigning ‘data’ one following wide data formats (see Figure 1) use package: single data frame data wide format missing data mids object (output mice::mice()) data imputed wide format list data imputed wide format data frames. shown Figure 1, use devMSMs package, data 3 formats, must wide contain “ID” column subject identifier exposure, outcome, confounders separate columns (shown Figure 1). Column names can include underscore special characters time-varying variables suffix consists period followed time point (e.g., “variable.6”). variables classed integer, numeric, factor (character). Auxiliary nuisance covariates confounders (e.g, assessment version) can included dataset use specification final modeling step (Workflow vignettes Step 5). Abridged example structure wide dataset formatted required devMSMs. Column denotes ID variable, column B (green) denotes time -variant confounder (e.g., race, birth information), columns C - F denote two time-varying confounders (lighter yellow) two different time points (e.g., age.1, age.2 income.1, income.2, .1 represents wave 1 .2 represents wave 2). Columns G - denote exposure outcome interest (darker yellow), G H time-varying values exposure, column outcome value final wave/timepoint. Missing data denoted NA need imputed (Step P2).","code":"#> id ti_X tv_Y1.1 tv_Y1.2 tv_Y2.1 tv_Y2.2 exposure.1 exposure.2 outcome.2 #> 1 1 0.5 50 65 NA 0.04 3 4 80 #> 2 2 NA 33 57 0.08 0.03 5 3 68 #> 3 3 0.3 68 NA 0.01 0.02 6 8 59"},{"path":"https://istallworthy.github.io/devMSMs/articles/Data_Requirements.html","id":"loading-packages","dir":"Articles","previous_headings":"","what":"Loading packages","title":"Data Requirements & Preparation","text":"","code":"options(repos = c(CRAN = \"https://cloud.r-project.org/\")) install.packages(\"devtools\") require(devtools, quietly = TRUE) require(tinytable, quietly = TRUE) devtools::install_github(\"istallworthy/devMSMs\", quiet = TRUE) devtools::install_github(\"istallworthy/devMSMsHelpers\", quiet = TRUE) library(devMSMsHelpers)"},{"path":"https://istallworthy.github.io/devMSMs/articles/Data_Requirements.html","id":"exploring-devmsms-package-data","dir":"Articles","previous_headings":"","what":"Exploring devMSMs Package Data","title":"Data Requirements & Preparation","text":"following longitudinal data accompany devMSMs simulated based data Family Life Project (FLP), longitudinal study following 1,292 families representative two geographic areas (three counties North Carolina three counties Pennsylvania) high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). take example exposure economic strain (ESETA1) measured 6, 15, 24, 35, 58 months relation outcome behavior problems (StrDif_Tot) measured 58 months. devMSMs (see Workflows vignettes) requires complete data wide format (.e., one row per individual, “ID” column identifiers), one three ways: single data frame missing data; imputed data form mids object (output mice::mice()); imputed data list imputed data frames. helper functions (summarized Table 1) following recommended preliminary steps can found Github. note, devMSMs must also installed loaded use helper functions (see Installation). first install devMSMs devMSMsHelpers packages. Preliminary steps P1 (formulate hypotheses) P2 (create DAG) detailed accompanying manuscript. following recommended preliminary steps designed assist user preparing inspecting data ensure appropriate use package.","code":"data(\"sim_data_wide\", package = \"devMSMs\") head(sim_data_wide, n = c(5, 10)) #> ID state TcBlac2 BioDadInHH2 HomeOwnd KFASTScr PmBlac2 PmEd2 PmMrSt2 PmAge2 #> 1 1 0 0 1 1 24 0 15 1 27.245 #> 2 2 1 1 0 2 27 1 17 0 32.292 #> 3 3 0 0 0 3 15 1 13 1 25.588 #> 4 4 1 0 0 2 17 0 14 0 22.664 #> 5 5 0 0 1 1 25 0 20 1 41.153 require(\"mice\", quietly = TRUE) #> #> Attaching package: 'mice' #> The following object is masked from 'package:stats': #> #> filter #> The following objects are masked from 'package:base': #> #> cbind, rbind data(\"sim_data_mice\", package = \"devMSMs\") class(sim_data_mice) #> [1] \"mids\" head(mice::complete(sim_data_mice, 1), n = c(5, 10)) #> ALI_Le.35 B18Raw.15 B18Raw.24 B18Raw.58 B18Raw.6 BioDadInHH2 caregiv_health #> 1 3 1 1 7 16 1 3 #> 2 2 4 -7 7 0 0 0 #> 3 3 6 5 20 -1 0 3 #> 4 4 24 25 17 11 0 3 #> 5 3 -8 -9 17 1 1 2 #> CORTB.15 CORTB.24 CORTB.6 #> 1 -0.227 -0.652 0.742 #> 2 0.149 0.831 0.018 #> 3 1.145 0.033 -0.379 #> 4 0.301 -0.501 0.000 #> 5 -0.247 0.084 0.153 data(\"sim_data_imp_list\", package = \"devMSMs\") head(sim_data_imp_list[[1]], n = c(5, 10)) #> X ALI_Le.35 B18Raw.15 B18Raw.24 B18Raw.58 B18Raw.6 BioDadInHH2 caregiv_health #> 1 1 3 1 1 7 16 1 3 #> 2 2 2 4 -7 7 0 0 0 #> 3 3 3 6 5 20 -1 0 3 #> 4 4 4 24 25 17 11 0 3 #> 5 5 3 -8 -9 17 1 1 2 #> CORTB.15 CORTB.24 #> 1 -0.227 -0.652 #> 2 0.149 0.831 #> 3 1.145 0.033 #> 4 0.301 -0.501 #> 5 -0.247 0.084 #> [1] \"\" install.packages(\"devtools\") require(devtools, quietly = TRUE) devtools::install_github(\"istallworthy/devMSMs\", quiet = TRUE) devtools::install_github(\"istallworthy/devMSMsHelpers\", quiet = TRUE) library(devMSMs) library(devMSMsHelpers)"},{"path":"https://istallworthy.github.io/devMSMs/articles/Data_Requirements.html","id":"p3--specify-core-inputs","dir":"Articles","previous_headings":"","what":"P3. Specify Core Inputs","title":"Data Requirements & Preparation","text":"Please see Specifying Core Inputs vignette detail following core inputs. , use ESETA1, measure economic strain experienced family, exposure StrDif_Tot, behavior problems measured SDQ, outcome.","code":"set.seed(1234) exposure = c(\"ESETA1.6\", \"ESETA1.15\", \"ESETA1.24\", \"ESETA1.35\", \"ESETA1.58\") ti_conf = c(\"state\", \"BioDadInHH2\", \"PmAge2\", \"PmBlac2\", \"TcBlac2\", \"PmMrSt2\", \"PmEd2\", \"KFASTScr\", \"RMomAgeU\", \"RHealth\", \"HomeOwnd\", \"SWghtLB\", \"SurpPreg\", \"SmokTotl\", \"DrnkFreq\", \"peri_health\", \"caregiv_health\", \"gov_assist\") tv_conf = c(\"SAAmylase.6\",\"SAAmylase.15\", \"SAAmylase.24\", \"MDI.6\", \"MDI.15\", \"RHasSO.6\", \"RHasSO.15\", \"RHasSO.24\",\"RHasSO.35\", \"WndNbrhood.6\",\"WndNbrhood.24\", \"WndNbrhood.35\", \"IBRAttn.6\", \"IBRAttn.15\", \"IBRAttn.24\", \"B18Raw.6\", \"B18Raw.15\", \"B18Raw.24\", \"HOMEETA1.6\", \"HOMEETA1.15\", \"HOMEETA1.24\", \"HOMEETA1.35\", \"InRatioCor.6\", \"InRatioCor.15\", \"InRatioCor.24\", \"InRatioCor.35\", \"CORTB.6\", \"CORTB.15\", \"CORTB.24\", \"EARS_TJo.24\", \"EARS_TJo.35\", \"LESMnPos.24\", \"LESMnPos.35\", \"LESMnNeg.24\", \"LESMnNeg.35\", \"StrDif_Tot.35\", \"fscore.35\") # home_dir = NA outcome <- \"StrDif_Tot.58\""},{"path":"https://istallworthy.github.io/devMSMs/articles/Data_Requirements.html","id":"p4-data-preparation-inspection","dir":"Articles","previous_headings":"","what":"P4 Data Preparation & Inspection","title":"Data Requirements & Preparation","text":"helper functions optional arguments suppress saving output locally (save.= FALSE) printing console ( verbose = FALSE). defaults arguments TRUE. Users must supply path home directory save.= TRUE. shown Figure 2, users several options reading data. can begin workflow following options: (P4.1) long data: complete missingness can formatted converted wide data (P4.3) imputed needed (P4.2) wide data: complete missingness can formatted (P4.3) imputed needed (P4.3) data already imputed wide format can read list Figure 2. Schematic recommended preliminary steps showing transformation 3 different kinds starting data (enumerated bold) three kinds data accepted devMSMs. Users beginning single data frame long format (without missingness) can utilize helper function formatLongData() summarize exposure outcome data convert required variable names. First, load simulated longitudinal data long format (missingness) accompanies devMSMs. data simulated based data Family Life Project (FLP), longitudinal study following 1,292 families representative two geographic areas (three counties North Carolina three counties Pennsylvania) high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). take example exposure economic strain (ESETA1) measured 6, 15, 24, 35, 58 months relation outcome behavior problems (StrDif_Tot) measured 58 months. long data correctly formatted, formatLongData() allows users supply existing variables time (time_var), ID (id_var), missing data (missing) re-naming according required package. also allows user submit variables factors integers, function classes factor confounders (factor_confounders) factors, integer confounders (integer_confounders) integers data, others numeric. sep field allows specify delimeter integer indicates time point variable names. , format simulated long FLP data. get descriptive statistics summary exposure, ESETA1, outcome, StrDif_Tot.58, visual inspections. Users correctly formatted data long format option using following code transform data wide format, proceed using package (missing data) imputing (< 20% missing data MAR). transform newly formatted long data wide format, specifying idvar “ID”, timevar “WAVE”, supplying time points (encompassing exposure, confounder, outcome time points) data 6, 15, 24, 35, 58 times. Alternatively, users start single data frame wide data (without missingness). , load single complete, wide data frame simulated FLP example. Data missingness common human data. read simulated wide FLP data missingness. Users beginning single unformatted data frame long format can utilize helper function formatWideData() summarize exposure outcome data convert required variable names. formatWideData() allows users supply existing variables ID (id_var) missing data (missing) re-naming according required package. also allows user submit variables factors integers, function classes factor confounders (factor_confounders) factors, integer confounders (integer_confounders) integers data, others numeric. user can also specify time point delimeter (sep). , format simulated wide FLP data listing variables make factors integers wide format (e.g., “variable.t”), well ID missingness indicators. functions devMSMs package accept data form single data frame missing values m imputed datasets form either mids object (output mice package via imputeData()) list imputed datasets. developmental data humans amount missing data. Given creation IPTW balancing weights requires complete data, recommend imputing data. Imputation assumes missing data mechanism missing random (MAR) 20% missing data total (Leyrat et al., 2021). Given existing work demonstrating superiority, devMSMS implements ‘within’ approach imputed data, conducting steps imputed dataset pooling estimates using Rubin’s rules create final average predictions contrast comparisons Worfklows vignettes Step 5 (Leyrat et al, 2021; Granger et al., 2019). shown , users can use helper function impute wide data impute elsewhere read imputed data list use devMSMs. Users option using helper imputeData() function impute correctly formatted wide data. step can take run. user can specify many imputed datasets create (default m = 5). imputeData() draws mice() function mice package (van Buuren & Oudshoorn, 2011) conduct multiple imputation chained equations (mice). variables present dataset used impute missing data column. user can specify imputation method method field drawing following list: “pmm” (predictive mean matching), “midastouch” (weighted predictive mean matching), “sample” (random sample observed values), “rf” (random forest) “cart” (classification regression trees). Random forest imputation default given evidence efficiency superior performance (Shah et al., 2014). Please review mice documentation details. Additionally, users can specify integer value seed order offset random number generator mice() make reproducible imputations. parameter read_imps_from_file allow read already imputed data local storage (TRUE) re-run imputation code multiple times (FALSE; default). Users may use parameter supply mids object imputed data mice package (title ‘all_imp.rds’). sure inspect console warnings well resulting imputed datasets. variables missing data following imputation may need removed due high collinearity /low variability. required inputs function data frame wide format (formatted according pre-requirements listed ), m number imputed datasets create, path home directory (save.= TRUE), exposure (e.g., “variable”), outcome (e.g., “variable.t”). home directory path, exposure, outcome already defined user completed Specifying Core Inputs vignette. optional inputs follows. user can specify imputation method compatible mice() (see ). Additionally, user can specify maxit number interactions mice::mice() conduct (default 5). user can also specify para_proc, logical indicator indicating whether speed imputing using parallel processing (default = TRUE). draws 2 cores using functions parallel, doRNG, doParallel packages. user may also specify additional inputs accepted mice::mice() advise consulting [mice documentation] information. user can also indicate already created imputed datasets function wish read (read_imps_from_file = TRUE rather recreate (default). example, create 2 imputed datasets using default random forest method 0 iterations (just illustrative purposes), set seed reproducibility, assign output data use devMSMs. code takes time run. (Note: given challenges imputing data .rda files, set m = 2 maxit = 0 just illustrative purposes. recommend setting m = 5 maxit = 5 (mice default) running data.) inspect output console warnings mice(). mice object can now assigned data use deveMSMs package (see Workflows vignettes). Alternatively, user imputed datasets already created wide, formatted data using program mice, can read , list, files saved locally .csv files single folder. list can assigned data use deveMSMs package (see Workflows vignettes). , load list imputed data simulated FLP, example. (See example Rmarkdown file code files saved locally.)","code":"save.out <- FALSE verbose <- TRUE data(\"sim_data_long_miss\", package = \"devMSMs\") data_long <- sim_data_long_miss head(data_long, n = c(5, 10)) #> ID state BioDadInHH2 PmAge2 PmBlac2 TcBlac2 PmMrSt2 PmEd2 KFASTScr RMomAgeU #> 1 1 0 1 27.245 0 0 1 15 24 29 #> 2 1 0 1 27.245 0 0 1 15 24 29 #> 3 1 0 1 27.245 0 0 1 15 24 29 #> 4 1 0 1 27.245 0 0 1 15 24 29 #> 5 1 0 1 27.245 0 0 1 15 24 29 factor_confounders <- c(\"state\", \"TcBlac2\", \"BioDadInHH2\", \"HomeOwnd\", \"PmBlac2\", \"PmMrSt2\", \"SurpPreg\", \"RHealth\", \"SmokTotl\", \"DrnkFreq\", \"RHasSO\") integer_confounders <- c(\"KFASTScr\", \"PmEd2\", \"RMomAgeU\", \"SWghtLB\", \"peri_health\", \"caregiv_health\", \"gov_assist\", \"B18Raw\", \"EARS_TJo\", \"MDI\") data_long_f <- formatLongData( data = data_long, exposure = exposure, outcome = outcome, sep = \"\\\\.\", time_var = \"WAVE\", id_var = \"ID\", missing = NA, factor_confounders = factor_confounders, integer_confounders = integer_confounders, home_dir = home_dir, save.out = save.out ) #> Table: Summary of ESETA1 Information #> #> |WAVE | mean| sd| min| max| #> |:----|---------:|---------:|------:|-----:| #> |15 | 0.2983433| 0.9261390| -2.699| 3.474| #> |24 | 0.1585387| 0.9575181| -2.858| 3.284| #> |35 | 0.1388395| 0.9475905| -3.046| 3.014| #> |58 | 0.0996006| 0.9924516| -2.478| 3.173| #> |6 | 0.3337979| 0.9298080| -2.809| 4.035| #> #> Table: Summary of StrDif_Tot Information #> #> |WAVE | mean| sd| min| max| #> |:----|---------:|---------:|------:|-----:| #> |35 | 0.6009797| 0.2830620| -0.230| 1.536| #> |58 | 0.5029778| 0.2931918| -0.281| 1.448| #> Warning in formatLongData(data = data_long, exposure = exposure, outcome = #> outcome, : The following variables are characters. Please change them to #> integers and re-run: WAVE head(data_long_f, n = c(5, 10)) #> ID state BioDadInHH2 PmAge2 PmBlac2 TcBlac2 PmMrSt2 PmEd2 KFASTScr RMomAgeU #> 1 1 0 1 27.245 0 0 1 15 24 29 #> 2 1 0 1 27.245 0 0 1 15 24 29 #> 3 1 0 1 27.245 0 0 1 15 24 29 #> 4 1 0 1 27.245 0 0 1 15 24 29 #> 5 1 0 1 27.245 0 0 1 15 24 29 require(\"stats\", quietly = TRUE) sep <- \"\\\\.\" v <- sapply(strsplit(tv_conf[!grepl(\"\\\\:\", tv_conf)], sep), head, 1) v <- c(v[!duplicated(v)], sapply(strsplit(exposure[1], sep), head, 1)) data_wide_f <- stats::reshape( data = data_long_f, idvar = \"ID\", v.names = v, timevar = \"WAVE\", times = c(6, 15, 24, 35, 58), direction = \"wide\" ) data_wide_f <- data_wide_f[, colSums(is.na(data_wide_f)) < nrow(data_wide_f)] head(data_wide_f, n = c(5, 10)) #> ID state BioDadInHH2 PmAge2 PmBlac2 TcBlac2 PmMrSt2 PmEd2 KFASTScr #> 1 1 0 1 27.245 0 0 1 15 24 #> 6 10 1 0 16.014 0 1 0 13 18 #> 11 100 1 0 31.042 1 1 1 14 15 #> 16 1000 1 0 23.597 1 1 1 10 14 #> 21 1001 1 0 25.592 1 1 1 13 23 #> RMomAgeU #> 1 29 #> 6 30 #> 11 25 #> 16 31 #> 21 27 data(\"sim_data_wide\", package = \"devMSMs\") data_wide <- sim_data_wide head(data_wide, n = c(5, 10)) #> ID state TcBlac2 BioDadInHH2 HomeOwnd KFASTScr PmBlac2 PmEd2 PmMrSt2 PmAge2 #> 1 1 0 0 1 1 24 0 15 1 27.245 #> 2 2 1 1 0 2 27 1 17 0 32.292 #> 3 3 0 0 0 3 15 1 13 1 25.588 #> 4 4 1 0 0 2 17 0 14 0 22.664 #> 5 5 0 0 1 1 25 0 20 1 41.153 data(\"sim_data_wide_miss\", package = \"devMSMs\") data_wide <- sim_data_wide_miss head(data_wide, n = c(5, 10)) #> ID state TcBlac2 BioDadInHH2 HomeOwnd KFASTScr PmBlac2 PmEd2 PmMrSt2 PmAge2 #> 1 1 0 0 1 1 24 0 15 1 27.245 #> 2 2 1 1 0 2 27 1 17 0 32.292 #> 3 3 0 0 0 3 15 1 13 1 25.588 #> 4 4 1 0 0 2 17 0 14 0 22.664 #> 5 5 0 0 1 1 25 0 20 1 41.153 factor_confounders <- c( \"state\", \"TcBlac2\", \"BioDadInHH2\", \"HomeOwnd\", \"PmBlac2\", \"PmMrSt2\", \"SurpPreg\", \"RHealth\", \"SmokTotl\", \"DrnkFreq\", \"RHasSO.6\", \"RHasSO.15\", \"RHasSO.24\", \"RHasSO.35\" ) integer_confounders <- c( \"KFASTScr\", \"PmEd2\", \"RMomAgeU\", \"SWghtLB\", \"peri_health\", \"caregiv_health\", \"gov_assist\", \"B18Raw.6\", \"B18Raw.15\", \"B18Raw.24\", \"EARS_TJo.24\", \"EARS_TJo.35\", \"MDI.6\", \"MDI.15\" ) data_wide_f <- formatWideData( data = data_wide, exposure = exposure, outcome = outcome, sep = \"\\\\.\", id_var = \"ID\", missing = NA, factor_confounders = factor_confounders, integer_confounders = integer_confounders, home_dir = home_dir, save.out = save.out ) #> #> #> #>
Summary of ESETA1 Information<\/caption> #>
#> #> | | ESETA1.6 | ESETA1.15 | ESETA1.24 | ESETA1.35 | ESETA1.58 | #> |:--|:---------------|:---------------|:---------------|:---------------|:---------------| #> | |Min. :-2.8090 |Min. :-3.1010 |Min. :-2.8580 |Min. :-3.2410 |Min. :-2.4780 | #> | |1st Qu.:-0.3058 |1st Qu.:-0.3495 |1st Qu.:-0.4510 |1st Qu.:-0.5220 |1st Qu.:-0.4968 | #> | |Median : 0.3735 |Median : 0.2745 |Median : 0.1635 |Median : 0.1140 |Median : 0.1275 | #> | |Mean : 0.3405 |Mean : 0.2664 |Mean : 0.1591 |Mean : 0.1229 |Mean : 0.1159 | #> | |3rd Qu.: 0.9617 |3rd Qu.: 0.9217 |3rd Qu.: 0.8015 |3rd Qu.: 0.7750 |3rd Qu.: 0.7515 | #> | |Max. : 4.0350 |Max. : 3.4740 |Max. : 3.2840 |Max. : 3.0140 |Max. : 3.1730 | #> | |NA's :258 |NA's :258 |NA's :258 |NA's :258 |NA's :258 | #> #> <\/td> #> <\/tr> #> <\/tbody> #> <\/table> #> #> Table: Summary of StrDif_Tot.58 Information #> #> | Min.| X1st.Qu.| Median| Mean| X3rd.Qu.| Max.| NA.s| #> |------:|--------:|------:|---------:|--------:|-----:|----:| #> | -0.497| 0.29825| 0.488| 0.4989333| 0.7055| 1.448| 258| head(data_wide_f, n = c(5, 10)) #> ID state TcBlac2 BioDadInHH2 HomeOwnd KFASTScr PmBlac2 PmEd2 PmMrSt2 PmAge2 #> 1 1 0 0 1 1 24 0 15 1 27.245 #> 2 2 1 1 0 2 27 1 17 0 32.292 #> 3 3 0 0 0 3 15 1 13 1 25.588 #> 4 4 1 0 0 2 17 0 14 0 22.664 #> 5 5 0 0 1 1 25 0 20 1 41.153 s <- 1234 m <- 2 method <- \"rf\" maxit <- 0 imputed_data <- imputeData( data = data_wide_f, exposure = exposure, outcome = outcome, sep = \"\\\\.\", m = m, method = method, maxit = maxit, para_proc = FALSE, seed = s, read_imps_from_file = FALSE, home_dir = home_dir, save.out = save.out ) #> Creating 2 imputed datasets using the rf imputation method in mice::mice(). This may take some time to run. #> #> #> USER ALERT: Please view any logged events from the imputation below: #> Table: Logged Events from mice::mice head(mice::complete(imputed_data, 1), n = c(5, 10)) #> ALI_Le.35 B18Raw.15 B18Raw.24 B18Raw.58 B18Raw.6 BioDadInHH2 caregiv_health #> 1 3 1 1 0 -4 1 3 #> 2 2 5 -7 7 0 0 0 #> 3 3 6 5 20 -1 0 3 #> 4 4 24 25 17 11 0 3 #> 5 3 -8 1 3 1 1 2 #> CORTB.15 CORTB.24 CORTB.6 #> 1 -0.227 -0.652 0.742 #> 2 0.654 0.397 0.018 #> 3 1.145 0.033 -0.379 #> 4 0.301 -0.501 0.000 #> 5 -0.247 0.084 0.153 data <- imputed_data data(\"sim_data_imp_list\", package = \"devMSMs\") data <- sim_data_imp_list head(data[[1]], n = c(5, 10)) #> X ALI_Le.35 B18Raw.15 B18Raw.24 B18Raw.58 B18Raw.6 BioDadInHH2 caregiv_health #> 1 1 3 1 1 7 16 1 3 #> 2 2 2 4 -7 7 0 0 0 #> 3 3 3 6 5 20 -1 0 3 #> 4 4 4 24 25 17 11 0 3 #> 5 5 3 -8 -9 17 1 1 2 #> CORTB.15 CORTB.24 #> 1 -0.227 -0.652 #> 2 0.149 0.831 #> 3 1.145 0.033 #> 4 0.301 -0.501 #> 5 -0.247 0.084"},{"path":"https://istallworthy.github.io/devMSMs/articles/Data_Requirements.html","id":"p4-1--single-long-data-frame","dir":"Articles","previous_headings":"","what":"P4.1. Single Long Data Frame","title":"Data Requirements & Preparation","text":"Users beginning single data frame long format (without missingness) can utilize helper function formatLongData() summarize exposure outcome data convert required variable names. First, load simulated longitudinal data long format (missingness) accompanies devMSMs. data simulated based data Family Life Project (FLP), longitudinal study following 1,292 families representative two geographic areas (three counties North Carolina three counties Pennsylvania) high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). take example exposure economic strain (ESETA1) measured 6, 15, 24, 35, 58 months relation outcome behavior problems (StrDif_Tot) measured 58 months. long data correctly formatted, formatLongData() allows users supply existing variables time (time_var), ID (id_var), missing data (missing) re-naming according required package. also allows user submit variables factors integers, function classes factor confounders (factor_confounders) factors, integer confounders (integer_confounders) integers data, others numeric. sep field allows specify delimeter integer indicates time point variable names. , format simulated long FLP data. get descriptive statistics summary exposure, ESETA1, outcome, StrDif_Tot.58, visual inspections. Users correctly formatted data long format option using following code transform data wide format, proceed using package (missing data) imputing (< 20% missing data MAR). transform newly formatted long data wide format, specifying idvar “ID”, timevar “WAVE”, supplying time points (encompassing exposure, confounder, outcome time points) data 6, 15, 24, 35, 58 times.","code":"data(\"sim_data_long_miss\", package = \"devMSMs\") data_long <- sim_data_long_miss head(data_long, n = c(5, 10)) #> ID state BioDadInHH2 PmAge2 PmBlac2 TcBlac2 PmMrSt2 PmEd2 KFASTScr RMomAgeU #> 1 1 0 1 27.245 0 0 1 15 24 29 #> 2 1 0 1 27.245 0 0 1 15 24 29 #> 3 1 0 1 27.245 0 0 1 15 24 29 #> 4 1 0 1 27.245 0 0 1 15 24 29 #> 5 1 0 1 27.245 0 0 1 15 24 29 factor_confounders <- c(\"state\", \"TcBlac2\", \"BioDadInHH2\", \"HomeOwnd\", \"PmBlac2\", \"PmMrSt2\", \"SurpPreg\", \"RHealth\", \"SmokTotl\", \"DrnkFreq\", \"RHasSO\") integer_confounders <- c(\"KFASTScr\", \"PmEd2\", \"RMomAgeU\", \"SWghtLB\", \"peri_health\", \"caregiv_health\", \"gov_assist\", \"B18Raw\", \"EARS_TJo\", \"MDI\") data_long_f <- formatLongData( data = data_long, exposure = exposure, outcome = outcome, sep = \"\\\\.\", time_var = \"WAVE\", id_var = \"ID\", missing = NA, factor_confounders = factor_confounders, integer_confounders = integer_confounders, home_dir = home_dir, save.out = save.out ) #> Table: Summary of ESETA1 Information #> #> |WAVE | mean| sd| min| max| #> |:----|---------:|---------:|------:|-----:| #> |15 | 0.2983433| 0.9261390| -2.699| 3.474| #> |24 | 0.1585387| 0.9575181| -2.858| 3.284| #> |35 | 0.1388395| 0.9475905| -3.046| 3.014| #> |58 | 0.0996006| 0.9924516| -2.478| 3.173| #> |6 | 0.3337979| 0.9298080| -2.809| 4.035| #> #> Table: Summary of StrDif_Tot Information #> #> |WAVE | mean| sd| min| max| #> |:----|---------:|---------:|------:|-----:| #> |35 | 0.6009797| 0.2830620| -0.230| 1.536| #> |58 | 0.5029778| 0.2931918| -0.281| 1.448| #> Warning in formatLongData(data = data_long, exposure = exposure, outcome = #> outcome, : The following variables are characters. Please change them to #> integers and re-run: WAVE head(data_long_f, n = c(5, 10)) #> ID state BioDadInHH2 PmAge2 PmBlac2 TcBlac2 PmMrSt2 PmEd2 KFASTScr RMomAgeU #> 1 1 0 1 27.245 0 0 1 15 24 29 #> 2 1 0 1 27.245 0 0 1 15 24 29 #> 3 1 0 1 27.245 0 0 1 15 24 29 #> 4 1 0 1 27.245 0 0 1 15 24 29 #> 5 1 0 1 27.245 0 0 1 15 24 29 require(\"stats\", quietly = TRUE) sep <- \"\\\\.\" v <- sapply(strsplit(tv_conf[!grepl(\"\\\\:\", tv_conf)], sep), head, 1) v <- c(v[!duplicated(v)], sapply(strsplit(exposure[1], sep), head, 1)) data_wide_f <- stats::reshape( data = data_long_f, idvar = \"ID\", v.names = v, timevar = \"WAVE\", times = c(6, 15, 24, 35, 58), direction = \"wide\" ) data_wide_f <- data_wide_f[, colSums(is.na(data_wide_f)) < nrow(data_wide_f)] head(data_wide_f, n = c(5, 10)) #> ID state BioDadInHH2 PmAge2 PmBlac2 TcBlac2 PmMrSt2 PmEd2 KFASTScr #> 1 1 0 1 27.245 0 0 1 15 24 #> 6 10 1 0 16.014 0 1 0 13 18 #> 11 100 1 0 31.042 1 1 1 14 15 #> 16 1000 1 0 23.597 1 1 1 10 14 #> 21 1001 1 0 25.592 1 1 1 13 23 #> RMomAgeU #> 1 29 #> 6 30 #> 11 25 #> 16 31 #> 21 27"},{"path":"https://istallworthy.github.io/devMSMs/articles/Data_Requirements.html","id":"p4-1a--format-long-data","dir":"Articles","previous_headings":"P4 Data Preparation & Inspection","what":"P4.1a. Format Long Data","title":"Data Requirements & Preparation","text":"long data correctly formatted, formatLongData() allows users supply existing variables time (time_var), ID (id_var), missing data (missing) re-naming according required package. also allows user submit variables factors integers, function classes factor confounders (factor_confounders) factors, integer confounders (integer_confounders) integers data, others numeric. sep field allows specify delimeter integer indicates time point variable names. , format simulated long FLP data. get descriptive statistics summary exposure, ESETA1, outcome, StrDif_Tot.58, visual inspections.","code":"factor_confounders <- c(\"state\", \"TcBlac2\", \"BioDadInHH2\", \"HomeOwnd\", \"PmBlac2\", \"PmMrSt2\", \"SurpPreg\", \"RHealth\", \"SmokTotl\", \"DrnkFreq\", \"RHasSO\") integer_confounders <- c(\"KFASTScr\", \"PmEd2\", \"RMomAgeU\", \"SWghtLB\", \"peri_health\", \"caregiv_health\", \"gov_assist\", \"B18Raw\", \"EARS_TJo\", \"MDI\") data_long_f <- formatLongData( data = data_long, exposure = exposure, outcome = outcome, sep = \"\\\\.\", time_var = \"WAVE\", id_var = \"ID\", missing = NA, factor_confounders = factor_confounders, integer_confounders = integer_confounders, home_dir = home_dir, save.out = save.out ) #> Table: Summary of ESETA1 Information #> #> |WAVE | mean| sd| min| max| #> |:----|---------:|---------:|------:|-----:| #> |15 | 0.2983433| 0.9261390| -2.699| 3.474| #> |24 | 0.1585387| 0.9575181| -2.858| 3.284| #> |35 | 0.1388395| 0.9475905| -3.046| 3.014| #> |58 | 0.0996006| 0.9924516| -2.478| 3.173| #> |6 | 0.3337979| 0.9298080| -2.809| 4.035| #> #> Table: Summary of StrDif_Tot Information #> #> |WAVE | mean| sd| min| max| #> |:----|---------:|---------:|------:|-----:| #> |35 | 0.6009797| 0.2830620| -0.230| 1.536| #> |58 | 0.5029778| 0.2931918| -0.281| 1.448| #> Warning in formatLongData(data = data_long, exposure = exposure, outcome = #> outcome, : The following variables are characters. Please change them to #> integers and re-run: WAVE head(data_long_f, n = c(5, 10)) #> ID state BioDadInHH2 PmAge2 PmBlac2 TcBlac2 PmMrSt2 PmEd2 KFASTScr RMomAgeU #> 1 1 0 1 27.245 0 0 1 15 24 29 #> 2 1 0 1 27.245 0 0 1 15 24 29 #> 3 1 0 1 27.245 0 0 1 15 24 29 #> 4 1 0 1 27.245 0 0 1 15 24 29 #> 5 1 0 1 27.245 0 0 1 15 24 29"},{"path":"https://istallworthy.github.io/devMSMs/articles/Data_Requirements.html","id":"p4-1b--tranform-formatted-long-data-to-wide","dir":"Articles","previous_headings":"P4 Data Preparation & Inspection","what":"P4.1b. Tranform Formatted Long Data to Wide","title":"Data Requirements & Preparation","text":"Users correctly formatted data long format option using following code transform data wide format, proceed using package (missing data) imputing (< 20% missing data MAR). transform newly formatted long data wide format, specifying idvar “ID”, timevar “WAVE”, supplying time points (encompassing exposure, confounder, outcome time points) data 6, 15, 24, 35, 58 times.","code":"require(\"stats\", quietly = TRUE) sep <- \"\\\\.\" v <- sapply(strsplit(tv_conf[!grepl(\"\\\\:\", tv_conf)], sep), head, 1) v <- c(v[!duplicated(v)], sapply(strsplit(exposure[1], sep), head, 1)) data_wide_f <- stats::reshape( data = data_long_f, idvar = \"ID\", v.names = v, timevar = \"WAVE\", times = c(6, 15, 24, 35, 58), direction = \"wide\" ) data_wide_f <- data_wide_f[, colSums(is.na(data_wide_f)) < nrow(data_wide_f)] head(data_wide_f, n = c(5, 10)) #> ID state BioDadInHH2 PmAge2 PmBlac2 TcBlac2 PmMrSt2 PmEd2 KFASTScr #> 1 1 0 1 27.245 0 0 1 15 24 #> 6 10 1 0 16.014 0 1 0 13 18 #> 11 100 1 0 31.042 1 1 1 14 15 #> 16 1000 1 0 23.597 1 1 1 10 14 #> 21 1001 1 0 25.592 1 1 1 13 23 #> RMomAgeU #> 1 29 #> 6 30 #> 11 25 #> 16 31 #> 21 27"},{"path":"https://istallworthy.github.io/devMSMs/articles/Data_Requirements.html","id":"p4-2--single-wide-data-frame","dir":"Articles","previous_headings":"","what":"P4.2. Single Wide Data Frame","title":"Data Requirements & Preparation","text":"Alternatively, users start single data frame wide data (without missingness). , load single complete, wide data frame simulated FLP example. Data missingness common human data. read simulated wide FLP data missingness. Users beginning single unformatted data frame long format can utilize helper function formatWideData() summarize exposure outcome data convert required variable names. formatWideData() allows users supply existing variables ID (id_var) missing data (missing) re-naming according required package. also allows user submit variables factors integers, function classes factor confounders (factor_confounders) factors, integer confounders (integer_confounders) integers data, others numeric. user can also specify time point delimeter (sep). , format simulated wide FLP data listing variables make factors integers wide format (e.g., “variable.t”), well ID missingness indicators.","code":"data(\"sim_data_wide\", package = \"devMSMs\") data_wide <- sim_data_wide head(data_wide, n = c(5, 10)) #> ID state TcBlac2 BioDadInHH2 HomeOwnd KFASTScr PmBlac2 PmEd2 PmMrSt2 PmAge2 #> 1 1 0 0 1 1 24 0 15 1 27.245 #> 2 2 1 1 0 2 27 1 17 0 32.292 #> 3 3 0 0 0 3 15 1 13 1 25.588 #> 4 4 1 0 0 2 17 0 14 0 22.664 #> 5 5 0 0 1 1 25 0 20 1 41.153 data(\"sim_data_wide_miss\", package = \"devMSMs\") data_wide <- sim_data_wide_miss head(data_wide, n = c(5, 10)) #> ID state TcBlac2 BioDadInHH2 HomeOwnd KFASTScr PmBlac2 PmEd2 PmMrSt2 PmAge2 #> 1 1 0 0 1 1 24 0 15 1 27.245 #> 2 2 1 1 0 2 27 1 17 0 32.292 #> 3 3 0 0 0 3 15 1 13 1 25.588 #> 4 4 1 0 0 2 17 0 14 0 22.664 #> 5 5 0 0 1 1 25 0 20 1 41.153 factor_confounders <- c( \"state\", \"TcBlac2\", \"BioDadInHH2\", \"HomeOwnd\", \"PmBlac2\", \"PmMrSt2\", \"SurpPreg\", \"RHealth\", \"SmokTotl\", \"DrnkFreq\", \"RHasSO.6\", \"RHasSO.15\", \"RHasSO.24\", \"RHasSO.35\" ) integer_confounders <- c( \"KFASTScr\", \"PmEd2\", \"RMomAgeU\", \"SWghtLB\", \"peri_health\", \"caregiv_health\", \"gov_assist\", \"B18Raw.6\", \"B18Raw.15\", \"B18Raw.24\", \"EARS_TJo.24\", \"EARS_TJo.35\", \"MDI.6\", \"MDI.15\" ) data_wide_f <- formatWideData( data = data_wide, exposure = exposure, outcome = outcome, sep = \"\\\\.\", id_var = \"ID\", missing = NA, factor_confounders = factor_confounders, integer_confounders = integer_confounders, home_dir = home_dir, save.out = save.out ) #> #> #> #>
Summary of ESETA1 Information<\/caption> #>
#> #> | | ESETA1.6 | ESETA1.15 | ESETA1.24 | ESETA1.35 | ESETA1.58 | #> |:--|:---------------|:---------------|:---------------|:---------------|:---------------| #> | |Min. :-2.8090 |Min. :-3.1010 |Min. :-2.8580 |Min. :-3.2410 |Min. :-2.4780 | #> | |1st Qu.:-0.3058 |1st Qu.:-0.3495 |1st Qu.:-0.4510 |1st Qu.:-0.5220 |1st Qu.:-0.4968 | #> | |Median : 0.3735 |Median : 0.2745 |Median : 0.1635 |Median : 0.1140 |Median : 0.1275 | #> | |Mean : 0.3405 |Mean : 0.2664 |Mean : 0.1591 |Mean : 0.1229 |Mean : 0.1159 | #> | |3rd Qu.: 0.9617 |3rd Qu.: 0.9217 |3rd Qu.: 0.8015 |3rd Qu.: 0.7750 |3rd Qu.: 0.7515 | #> | |Max. : 4.0350 |Max. : 3.4740 |Max. : 3.2840 |Max. : 3.0140 |Max. : 3.1730 | #> | |NA's :258 |NA's :258 |NA's :258 |NA's :258 |NA's :258 | #> #> <\/td> #> <\/tr> #> <\/tbody> #> <\/table> #> #> Table: Summary of StrDif_Tot.58 Information #> #> | Min.| X1st.Qu.| Median| Mean| X3rd.Qu.| Max.| NA.s| #> |------:|--------:|------:|---------:|--------:|-----:|----:| #> | -0.497| 0.29825| 0.488| 0.4989333| 0.7055| 1.448| 258| head(data_wide_f, n = c(5, 10)) #> ID state TcBlac2 BioDadInHH2 HomeOwnd KFASTScr PmBlac2 PmEd2 PmMrSt2 PmAge2 #> 1 1 0 0 1 1 24 0 15 1 27.245 #> 2 2 1 1 0 2 27 1 17 0 32.292 #> 3 3 0 0 0 3 15 1 13 1 25.588 #> 4 4 1 0 0 2 17 0 14 0 22.664 #> 5 5 0 0 1 1 25 0 20 1 41.153"},{"path":"https://istallworthy.github.io/devMSMs/articles/Data_Requirements.html","id":"p4-2a--format-wide-data","dir":"Articles","previous_headings":"P4 Data Preparation & Inspection","what":"P4.2a. Format Wide Data","title":"Data Requirements & Preparation","text":"Users beginning single unformatted data frame long format can utilize helper function formatWideData() summarize exposure outcome data convert required variable names. formatWideData() allows users supply existing variables ID (id_var) missing data (missing) re-naming according required package. also allows user submit variables factors integers, function classes factor confounders (factor_confounders) factors, integer confounders (integer_confounders) integers data, others numeric. user can also specify time point delimeter (sep). , format simulated wide FLP data listing variables make factors integers wide format (e.g., “variable.t”), well ID missingness indicators.","code":"factor_confounders <- c( \"state\", \"TcBlac2\", \"BioDadInHH2\", \"HomeOwnd\", \"PmBlac2\", \"PmMrSt2\", \"SurpPreg\", \"RHealth\", \"SmokTotl\", \"DrnkFreq\", \"RHasSO.6\", \"RHasSO.15\", \"RHasSO.24\", \"RHasSO.35\" ) integer_confounders <- c( \"KFASTScr\", \"PmEd2\", \"RMomAgeU\", \"SWghtLB\", \"peri_health\", \"caregiv_health\", \"gov_assist\", \"B18Raw.6\", \"B18Raw.15\", \"B18Raw.24\", \"EARS_TJo.24\", \"EARS_TJo.35\", \"MDI.6\", \"MDI.15\" ) data_wide_f <- formatWideData( data = data_wide, exposure = exposure, outcome = outcome, sep = \"\\\\.\", id_var = \"ID\", missing = NA, factor_confounders = factor_confounders, integer_confounders = integer_confounders, home_dir = home_dir, save.out = save.out ) #> #> #> #>
Summary of ESETA1 Information<\/caption> #>
#> #> | | ESETA1.6 | ESETA1.15 | ESETA1.24 | ESETA1.35 | ESETA1.58 | #> |:--|:---------------|:---------------|:---------------|:---------------|:---------------| #> | |Min. :-2.8090 |Min. :-3.1010 |Min. :-2.8580 |Min. :-3.2410 |Min. :-2.4780 | #> | |1st Qu.:-0.3058 |1st Qu.:-0.3495 |1st Qu.:-0.4510 |1st Qu.:-0.5220 |1st Qu.:-0.4968 | #> | |Median : 0.3735 |Median : 0.2745 |Median : 0.1635 |Median : 0.1140 |Median : 0.1275 | #> | |Mean : 0.3405 |Mean : 0.2664 |Mean : 0.1591 |Mean : 0.1229 |Mean : 0.1159 | #> | |3rd Qu.: 0.9617 |3rd Qu.: 0.9217 |3rd Qu.: 0.8015 |3rd Qu.: 0.7750 |3rd Qu.: 0.7515 | #> | |Max. : 4.0350 |Max. : 3.4740 |Max. : 3.2840 |Max. : 3.0140 |Max. : 3.1730 | #> | |NA's :258 |NA's :258 |NA's :258 |NA's :258 |NA's :258 | #> #> <\/td> #> <\/tr> #> <\/tbody> #> <\/table> #> #> Table: Summary of StrDif_Tot.58 Information #> #> | Min.| X1st.Qu.| Median| Mean| X3rd.Qu.| Max.| NA.s| #> |------:|--------:|------:|---------:|--------:|-----:|----:| #> | -0.497| 0.29825| 0.488| 0.4989333| 0.7055| 1.448| 258| head(data_wide_f, n = c(5, 10)) #> ID state TcBlac2 BioDadInHH2 HomeOwnd KFASTScr PmBlac2 PmEd2 PmMrSt2 PmAge2 #> 1 1 0 0 1 1 24 0 15 1 27.245 #> 2 2 1 1 0 2 27 1 17 0 32.292 #> 3 3 0 0 0 3 15 1 13 1 25.588 #> 4 4 1 0 0 2 17 0 14 0 22.664 #> 5 5 0 0 1 1 25 0 20 1 41.153"},{"path":"https://istallworthy.github.io/devMSMs/articles/Data_Requirements.html","id":"p4-3--formatted-wide-data-with-missingness","dir":"Articles","previous_headings":"","what":"P4.3. Formatted Wide Data with Missingness","title":"Data Requirements & Preparation","text":"functions devMSMs package accept data form single data frame missing values m imputed datasets form either mids object (output mice package via imputeData()) list imputed datasets. developmental data humans amount missing data. Given creation IPTW balancing weights requires complete data, recommend imputing data. Imputation assumes missing data mechanism missing random (MAR) 20% missing data total (Leyrat et al., 2021). Given existing work demonstrating superiority, devMSMS implements ‘within’ approach imputed data, conducting steps imputed dataset pooling estimates using Rubin’s rules create final average predictions contrast comparisons Worfklows vignettes Step 5 (Leyrat et al, 2021; Granger et al., 2019). shown , users can use helper function impute wide data impute elsewhere read imputed data list use devMSMs. Users option using helper imputeData() function impute correctly formatted wide data. step can take run. user can specify many imputed datasets create (default m = 5). imputeData() draws mice() function mice package (van Buuren & Oudshoorn, 2011) conduct multiple imputation chained equations (mice). variables present dataset used impute missing data column. user can specify imputation method method field drawing following list: “pmm” (predictive mean matching), “midastouch” (weighted predictive mean matching), “sample” (random sample observed values), “rf” (random forest) “cart” (classification regression trees). Random forest imputation default given evidence efficiency superior performance (Shah et al., 2014). Please review mice documentation details. Additionally, users can specify integer value seed order offset random number generator mice() make reproducible imputations. parameter read_imps_from_file allow read already imputed data local storage (TRUE) re-run imputation code multiple times (FALSE; default). Users may use parameter supply mids object imputed data mice package (title ‘all_imp.rds’). sure inspect console warnings well resulting imputed datasets. variables missing data following imputation may need removed due high collinearity /low variability. required inputs function data frame wide format (formatted according pre-requirements listed ), m number imputed datasets create, path home directory (save.= TRUE), exposure (e.g., “variable”), outcome (e.g., “variable.t”). home directory path, exposure, outcome already defined user completed Specifying Core Inputs vignette. optional inputs follows. user can specify imputation method compatible mice() (see ). Additionally, user can specify maxit number interactions mice::mice() conduct (default 5). user can also specify para_proc, logical indicator indicating whether speed imputing using parallel processing (default = TRUE). draws 2 cores using functions parallel, doRNG, doParallel packages. user may also specify additional inputs accepted mice::mice() advise consulting [mice documentation] information. user can also indicate already created imputed datasets function wish read (read_imps_from_file = TRUE rather recreate (default). example, create 2 imputed datasets using default random forest method 0 iterations (just illustrative purposes), set seed reproducibility, assign output data use devMSMs. code takes time run. (Note: given challenges imputing data .rda files, set m = 2 maxit = 0 just illustrative purposes. recommend setting m = 5 maxit = 5 (mice default) running data.) inspect output console warnings mice(). mice object can now assigned data use deveMSMs package (see Workflows vignettes). Alternatively, user imputed datasets already created wide, formatted data using program mice, can read , list, files saved locally .csv files single folder. list can assigned data use deveMSMs package (see Workflows vignettes). , load list imputed data simulated FLP, example. (See example Rmarkdown file code files saved locally.)","code":"s <- 1234 m <- 2 method <- \"rf\" maxit <- 0 imputed_data <- imputeData( data = data_wide_f, exposure = exposure, outcome = outcome, sep = \"\\\\.\", m = m, method = method, maxit = maxit, para_proc = FALSE, seed = s, read_imps_from_file = FALSE, home_dir = home_dir, save.out = save.out ) #> Creating 2 imputed datasets using the rf imputation method in mice::mice(). This may take some time to run. #> #> #> USER ALERT: Please view any logged events from the imputation below: #> Table: Logged Events from mice::mice head(mice::complete(imputed_data, 1), n = c(5, 10)) #> ALI_Le.35 B18Raw.15 B18Raw.24 B18Raw.58 B18Raw.6 BioDadInHH2 caregiv_health #> 1 3 1 1 0 -4 1 3 #> 2 2 5 -7 7 0 0 0 #> 3 3 6 5 20 -1 0 3 #> 4 4 24 25 17 11 0 3 #> 5 3 -8 1 3 1 1 2 #> CORTB.15 CORTB.24 CORTB.6 #> 1 -0.227 -0.652 0.742 #> 2 0.654 0.397 0.018 #> 3 1.145 0.033 -0.379 #> 4 0.301 -0.501 0.000 #> 5 -0.247 0.084 0.153 data <- imputed_data data(\"sim_data_imp_list\", package = \"devMSMs\") data <- sim_data_imp_list head(data[[1]], n = c(5, 10)) #> X ALI_Le.35 B18Raw.15 B18Raw.24 B18Raw.58 B18Raw.6 BioDadInHH2 caregiv_health #> 1 1 3 1 1 7 16 1 3 #> 2 2 2 4 -7 7 0 0 0 #> 3 3 3 6 5 20 -1 0 3 #> 4 4 4 24 25 17 11 0 3 #> 5 5 3 -8 -9 17 1 1 2 #> CORTB.15 CORTB.24 #> 1 -0.227 -0.652 #> 2 0.149 0.831 #> 3 1.145 0.033 #> 4 0.301 -0.501 #> 5 -0.247 0.084"},{"path":"https://istallworthy.github.io/devMSMs/articles/Data_Requirements.html","id":"p4-3a--multiply-impute-formatted-wide-data-frame-using-mice","dir":"Articles","previous_headings":"P4 Data Preparation & Inspection","what":"P4.3a. Multiply Impute Formatted, Wide Data Frame using MICE","title":"Data Requirements & Preparation","text":"Users option using helper imputeData() function impute correctly formatted wide data. step can take run. user can specify many imputed datasets create (default m = 5). imputeData() draws mice() function mice package (van Buuren & Oudshoorn, 2011) conduct multiple imputation chained equations (mice). variables present dataset used impute missing data column. user can specify imputation method method field drawing following list: “pmm” (predictive mean matching), “midastouch” (weighted predictive mean matching), “sample” (random sample observed values), “rf” (random forest) “cart” (classification regression trees). Random forest imputation default given evidence efficiency superior performance (Shah et al., 2014). Please review mice documentation details. Additionally, users can specify integer value seed order offset random number generator mice() make reproducible imputations. parameter read_imps_from_file allow read already imputed data local storage (TRUE) re-run imputation code multiple times (FALSE; default). Users may use parameter supply mids object imputed data mice package (title ‘all_imp.rds’). sure inspect console warnings well resulting imputed datasets. variables missing data following imputation may need removed due high collinearity /low variability. required inputs function data frame wide format (formatted according pre-requirements listed ), m number imputed datasets create, path home directory (save.= TRUE), exposure (e.g., “variable”), outcome (e.g., “variable.t”). home directory path, exposure, outcome already defined user completed Specifying Core Inputs vignette. optional inputs follows. user can specify imputation method compatible mice() (see ). Additionally, user can specify maxit number interactions mice::mice() conduct (default 5). user can also specify para_proc, logical indicator indicating whether speed imputing using parallel processing (default = TRUE). draws 2 cores using functions parallel, doRNG, doParallel packages. user may also specify additional inputs accepted mice::mice() advise consulting [mice documentation] information. user can also indicate already created imputed datasets function wish read (read_imps_from_file = TRUE rather recreate (default). example, create 2 imputed datasets using default random forest method 0 iterations (just illustrative purposes), set seed reproducibility, assign output data use devMSMs. code takes time run. (Note: given challenges imputing data .rda files, set m = 2 maxit = 0 just illustrative purposes. recommend setting m = 5 maxit = 5 (mice default) running data.) inspect output console warnings mice(). mice object can now assigned data use deveMSMs package (see Workflows vignettes).","code":"s <- 1234 m <- 2 method <- \"rf\" maxit <- 0 imputed_data <- imputeData( data = data_wide_f, exposure = exposure, outcome = outcome, sep = \"\\\\.\", m = m, method = method, maxit = maxit, para_proc = FALSE, seed = s, read_imps_from_file = FALSE, home_dir = home_dir, save.out = save.out ) #> Creating 2 imputed datasets using the rf imputation method in mice::mice(). This may take some time to run. #> #> #> USER ALERT: Please view any logged events from the imputation below: #> Table: Logged Events from mice::mice head(mice::complete(imputed_data, 1), n = c(5, 10)) #> ALI_Le.35 B18Raw.15 B18Raw.24 B18Raw.58 B18Raw.6 BioDadInHH2 caregiv_health #> 1 3 1 1 0 -4 1 3 #> 2 2 5 -7 7 0 0 0 #> 3 3 6 5 20 -1 0 3 #> 4 4 24 25 17 11 0 3 #> 5 3 -8 1 3 1 1 2 #> CORTB.15 CORTB.24 CORTB.6 #> 1 -0.227 -0.652 0.742 #> 2 0.654 0.397 0.018 #> 3 1.145 0.033 -0.379 #> 4 0.301 -0.501 0.000 #> 5 -0.247 0.084 0.153 data <- imputed_data"},{"path":"https://istallworthy.github.io/devMSMs/articles/Data_Requirements.html","id":"p4-3b--read-in-as-a-list-of-wide-imputed-data-saved-locally","dir":"Articles","previous_headings":"P4 Data Preparation & Inspection","what":"P4.3b. Read in as a List of Wide Imputed Data Saved Locally","title":"Data Requirements & Preparation","text":"Alternatively, user imputed datasets already created wide, formatted data using program mice, can read , list, files saved locally .csv files single folder. list can assigned data use deveMSMs package (see Workflows vignettes). , load list imputed data simulated FLP, example. (See example Rmarkdown file code files saved locally.)","code":"data(\"sim_data_imp_list\", package = \"devMSMs\") data <- sim_data_imp_list head(data[[1]], n = c(5, 10)) #> X ALI_Le.35 B18Raw.15 B18Raw.24 B18Raw.58 B18Raw.6 BioDadInHH2 caregiv_health #> 1 1 3 1 1 7 16 1 3 #> 2 2 2 4 -7 7 0 0 0 #> 3 3 3 6 5 20 -1 0 3 #> 4 4 4 24 25 17 11 0 3 #> 5 5 3 -8 -9 17 1 1 2 #> CORTB.15 CORTB.24 #> 1 -0.227 -0.652 #> 2 0.149 0.831 #> 3 1.145 0.033 #> 4 0.301 -0.501 #> 5 -0.247 0.084"},{"path":"https://istallworthy.github.io/devMSMs/articles/Data_Requirements.html","id":"references","dir":"Articles","previous_headings":"","what":"References","title":"Data Requirements & Preparation","text":"Burchinal, M., Howes, C., Pianta, R., Bryant, D., Early, D., Clifford, R., & Barbarin, O. (2008). Predicting Child Outcomes End Kindergarten Quality Pre-Kindergarten Teacher–Child Interactions Instruction. Applied Developmental Science, 12(3), 140–153. https://doi.org/10.1080/10888690802199418 Kainz, K., Greifer, N., Givens, ., Swietek, K., Lombardi, B. M., Zietz, S., & Kohn, J. L. (2017). Improving Causal Inference: Recommendations Covariate Selection Balance Propensity Score Methods. Journal Society Social Work Research, 8(2), 279–303. https://doi.org/10.1086/691464 Vernon-Feagans, L., Cox, M., Willoughby, M., Burchinal, M., Garrett-Peters, P., Mills-Koonce, R., Garrett-Peiers, P., Conger, R. D., & Bauer, P. J. (2013). Family Life Project: Epidemiological Developmental Study Young Children Living Poor Rural Communities. Monographs Society Research Child Development, 78(5), –150.","code":""},{"path":"https://istallworthy.github.io/devMSMs/articles/Specify_Core_Inputs.html","id":"p3-1-recommended-home-directory","dir":"Articles","previous_headings":"","what":"P3.1 Recommended: Home Directory","title":"Specify Core Inputs","text":"Users required specify home directory, quotations, path designated folder output package (without final forward slash), plan save intermediary final outputs package (default) setting save.= TRUE functions. sub directories created within home directory devMSMs functions automatically save.= TRUE.","code":"home_dir <- NA # home_dir <- '/Users/isabella/Library/CloudStorage/Box-Box/BSL General/MSMs/testing/isa'"},{"path":"https://istallworthy.github.io/devMSMs/articles/Specify_Core_Inputs.html","id":"p3-2-recommended-time-point-delimiter","dir":"Articles","previous_headings":"","what":"P3.2 Recommended: Time Point Delimiter","title":"Specify Core Inputs","text":"Users required use consistent delimiter parsing names time-varying variables (.e., exposure, time-varying confounders, outcome) name construct time point measured. default period user can specify delimiter. devMSMs assume integer final instance delimiter wihin variable name corresponds time point measured. delimiter shoudl used time-varying variables. Users can specify different delimiter character string regular expression (regex) form. , use default period time delimiter.","code":"sep <- \"\\\\.\""},{"path":"https://istallworthy.github.io/devMSMs/articles/Specify_Core_Inputs.html","id":"p3-3-required-exposure-variable","dir":"Articles","previous_headings":"","what":"P3.3 Required: Exposure Variable","title":"Specify Core Inputs","text":"exposure refers developmental construct hypothesized cause outcome. Users required specify exposure variable use functions devMSMs. exposure can either continuously distributed binary, package automatically detects. user must specify exposure, list character strings corresponding exposure variable wide format, appears dataset. time exposure measured appear suffix delimiter user’s choosing (time-varying confounders). user two options specifying exposure variablee, select option best serves theory regarding developmental timing practical constraints data modeling process. First, may specify exposure time points exposure measured data. means balancing formulas created (Steps 1a, 2a, 3b Workflows vignettes) IPTW weights created (Steps 2b, 3c Workflows vignettes) assessed (Steps 2c, 3a, 4 Workflows vignettes) time points. case, epochs specified, time points included exposure main effects final substantive model history comparison (Step 5 Workflows vignettes). Second, may specify subset theoretically important time points exposure measured data. means balancing formulas created IPTW weights created assessed time points. , epochs specified, subsetted time points included exposure main effects final substantive models. Importantly, exposure variables time point included exposure included time-varying confounders, used balancing purposes . specification exposure epochs kept consistent throughout use devMSMs package. user intends specify exposure epochs, user include time points encompassed epochs . user intend specify exposure epochs, exposure constitute exposure main effects final outcome model form basis histories used history comparison. case, user specifies 4 exposure time points, required conduct subset history comparisons (Step 5b Workflows vignettes), given base code (see hypotheses() function marginaleffects package) accommodate pairwise history comparisons 5 time points. example, elected create epochs infancy (6 15 months), toddlerhood (24 35 months), early childhood (58 months) include exposure time points.","code":"exposure <- c(\"ESETA1.6\", \"ESETA1.15\", \"ESETA1.24\", \"ESETA1.35\", \"ESETA1.58\")"},{"path":"https://istallworthy.github.io/devMSMs/articles/Specify_Core_Inputs.html","id":"p3-4-required-for-continuous-exposure-high-and-low-cutoff-values","dir":"Articles","previous_headings":"","what":"P3.4 Required for Continuous Exposure: High and Low Cutoff Values","title":"Specify Core Inputs","text":"exposure variable continuously distributed (e.g., economic strain), inherent demarcation considered high versus low levels exposure. Given part MSM process involved examining different exposure histories –vary dose timing – development result different outcome levels, need specify considered high versus low levels exposure. continuous exposures, required recommended preliminary step Workflows vignette compareHistories() devMSMs function (see Workflows vignettes). specify hi_lo_cut, list two quantile values (0-1): first represents value considered high levels exposure second represents followed considered low levels exposure. values may revised following inspection sample distribution across resulting exposure histories recommended preliminary steps Workflows vignettes. final values used creating modeling effects exposure histories Step 5 Workflows vignettes. , specify 60th 30th percentiles demarcate high low levels economic strain exposure, respectively.","code":"hi_lo_cut <- c(0.6, 0.3)"},{"path":"https://istallworthy.github.io/devMSMs/articles/Specify_Core_Inputs.html","id":"p3-5-optional-exposure-epochs","dir":"Articles","previous_headings":"","what":"P3.5 Optional: Exposure Epochs","title":"Specify Core Inputs","text":"modeling effect exposure outcome MSM process, user option specify epochs exposure, grouping time points exposure meaningful categories. may useful cases user wishes establish balance using time points exposure measured, substantive hypotheses coarser timescales (e.g., infancy). epochs specified, time points exposure measured used creation exposure histories final step process. specified epoch must corresponding value (values can differ number entries shown ). specify epochs, users utilize optional epoch argument providing, character string, list user-created epoch labels, one exposure time point order listed exposure. user specifies exposure epochs, exposure main effects created epoch, exposure levels averaged epochs consist two time point values. exposure epochs arguments fitModel() compareHistories() devMSMs functions (see Workflows vignettes) specification kept consistent throughout use package vignettes. constitute main effects variables modeling relation exposure outcome (Workflows vignettes Step 5a) form basis estimating comparing exposure histories (Workflows vignettes Step 5b). epochs specified, exposure time points exposure field used aforementioned steps. , specify ‘infancy’ (“ESETA1.6”, “ESETA1.15), ‘toddlerhood’ (”ESETA1.24”, “ESETA1.35”), ‘childhood’ (“ESETA1.58”).","code":"epoch <- c(\"Infancy\", \"Infancy\", \"Toddlerhood\", \"Toddlerhood\", \"Childhood\")"},{"path":"https://istallworthy.github.io/devMSMs/articles/Specify_Core_Inputs.html","id":"p3-6-recommended-hypotheses-relevant-exposure-histories","dir":"Articles","previous_headings":"","what":"P3.6 Recommended: Hypotheses-Relevant Exposure Histories","title":"Specify Core Inputs","text":"strongly recommend users selective histories, developmental sequences high low exposure (exposure time points epochs), vital testing hypotheses. recommend user estimates compares subset possible exposure histories using reference comparison fields (rather comparing possible exposure histories). user can specify custom subset exposure histories using reference comparison fields optional inputs compareHistories() devMSMs function (see Workflows vignettes). conduct customized comparisons, users must provide least one unique valid history (e.g., “l-l-l”) reference providing character string (list strings) lowercase l’s h’s (separated -), corresponding exposure epoch (exposure time point), signify sequence exposure levels (“low” “high”, respectively). supply reference history, comparisons provide least one unique valid history comparison , quotations, providing string (list strings) l’s h’s (separated “-”), corresponding exposure epoch, signify sequence exposure levels (“low” “high”, respectively) constitutes comparison exposure history/histories compared reference Step 5b Workflows vignettes. supply one comparisons, least one reference must specified. reference exposure history compared comparison history comparisons supplied multiple comparison correction. reference comparison specified, histories compared Step 5b Workflows vignettes. However, 4 exposure main effects (either epochs exposure time points), user required select subset history comparisons (Step 5b Workflows vignettes), given base code (see hypotheses() function marginaleffects package) accommodate pairwise history comparisons 5 time points). final reference comparison values established step used estimating comparing exposure histories Step 5b Workflows vignettes. , specify low economic strain epochs (“l-l-l”) reference event comparison high levels epochs (“h-h-h”) well histories contain 1 dose exposure high economic strain different epochs.","code":"reference <- c(\"l-l-l\") comparison <- c(\"h-h-h\", \"l-l-h\", \"h-l-l\", \"l-h-l\")"},{"path":"https://istallworthy.github.io/devMSMs/articles/Specify_Core_Inputs.html","id":"p3-7-required-outcome-variable","dir":"Articles","previous_headings":"","what":"P3.7 Required: Outcome Variable","title":"Specify Core Inputs","text":"outcome refers developmental construct hypothesized caused exposure. Users also required specify outcome variable designated final time point, required input fitModel() compareHistories() functions devMSMs package. final time point equal (, ideally greater ) final exposure time point. Note instances outcome variable measured prior time points included time-varying confounders balancing purposes. Users must specify outcome, character string suffix time point collected, corresponding variable name wide data. outcome variables measured prior time points included time-varying confounders. example, specify behavior problems measured 58 months outcome.","code":"outcome <- \"StrDif_Tot.58\""},{"path":"https://istallworthy.github.io/devMSMs/articles/Specify_Core_Inputs.html","id":"p3-8-recommended-confounders","dir":"Articles","previous_headings":"","what":"P3.8 Recommended: Confounders","title":"Specify Core Inputs","text":"Specifying confounders critical successful implmentation MSMs. Confounders refer variables cause either exposure outcome, thus cause spurious relation exposure outcome. MSMs assume possible confounders measured. Time invariant confounders considered stable across developmental period studying. Specifying time invariant confounders ti_conf recommended use package input createFormulas() function devMSMS. Time invariant confounders include core demographic birth characteristics (e.g., sex, racial group membership, birth complications) might cause either exposure outcome, either directly proxy, suggested theory /evidenced strong associations existing literature. user wishes specify interactions, need manually create data listing . , user can also include interaction terms time invariant variables (e.g., “variable:variable”) inclusion balancing formula. Keep mind interactions include factor variables decomposed interactions factor level. ti_conf, list character strings, provide names confounders dataset time invariant. time suffix. , specify 18 time invariant confounders measured baseline study visit, prior first exposure time point. Time-varying confounders considered vary development, regardless many times measured dataset. Specifying time-varying confounders recommended use package input createFormulas() devMSMs function (see Workflows vignettes). tv_conf, list character strings, provide names variables wide format (e.g., “variable.t”) dataset time-varying, including exposure outcome variables specified respective fields (see ). time suffix following delimiter. Note time-varying confounders also include confounders measured repeatedly time points (e.g., InRatioCor) collected one several specific time points, missing time points, time invariant. Additionally, note user specify exposure time points tv_conf, lagged values exposure automatically included time-varying confounders creation formulas. user wishes specify interactions, need manually create data listing . , user can also include interaction terms time invariant variables (e.g., “variable:variable”) inclusion balancing formula. Keep mind interactions include factor variables decomposed interactions factor level. creating balancing formula exposure time point, default devMSMs include time-varying confounders measured exposure time point. often difficult differentiate confounders measured contemporaneously mediators, balancing mediator ill-advised. However, sometimes user may good evidence know given time-varying confounder mediator exposure even measured contemporaneously. case, may specify override package default retain given variable/set time-varying confoudners formulas exposure measured contemporaneously. concur_conf: list character strings, provide names time-varying confounders (wide format) wish included contemporaneously balancing formulas (overriding default include lagged confounders). user can now proceed Data Requirements Workflows vignettes.","code":"ti_conf <- c( \"state\", \"BioDadInHH2\", \"PmAge2\", \"PmBlac2\", \"TcBlac2\", \"PmMrSt2\", \"PmEd2\", \"KFASTScr\", \"RMomAgeU\", \"RHealth\", \"HomeOwnd\", \"SWghtLB\", \"SurpPreg\", \"SmokTotl\", \"DrnkFreq\", \"peri_health\", \"caregiv_health\", \"gov_assist\") tv_conf <- c(\"SAAmylase.6\", \"SAAmylase.15\", \"SAAmylase.24\", \"MDI.6\", \"MDI.15\", \"RHasSO.6\", \"RHasSO.15\", \"RHasSO.24\", \"RHasSO.35\", \"WndNbrhood.6\", \"WndNbrhood.24\", \"WndNbrhood.35\", \"IBRAttn.6\", \"IBRAttn.15\", \"IBRAttn.24\", \"B18Raw.6\", \"B18Raw.15\", \"B18Raw.24\", \"HOMEETA1.6\", \"HOMEETA1.15\", \"HOMEETA1.24\", \"HOMEETA1.35\", \"InRatioCor.6\", \"InRatioCor.15\", \"InRatioCor.24\", \"InRatioCor.35\", \"CORTB.6\", \"CORTB.15\", \"CORTB.24\", \"EARS_TJo.24\", \"EARS_TJo.35\", \"LESMnPos.24\", \"LESMnPos.35\", \"LESMnNeg.24\", \"LESMnNeg.35\", \"StrDif_Tot.35\", \"fscore.35\") concur_conf <- \"B18Raw.6\""},{"path":"https://istallworthy.github.io/devMSMs/articles/Specify_Core_Inputs.html","id":"p3-8a-recommended-time-invariant-confounders","dir":"Articles","previous_headings":"","what":"P3.8a Recommended: Time Invariant Confounders","title":"Specify Core Inputs","text":"Time invariant confounders considered stable across developmental period studying. Specifying time invariant confounders ti_conf recommended use package input createFormulas() function devMSMS. Time invariant confounders include core demographic birth characteristics (e.g., sex, racial group membership, birth complications) might cause either exposure outcome, either directly proxy, suggested theory /evidenced strong associations existing literature. user wishes specify interactions, need manually create data listing . , user can also include interaction terms time invariant variables (e.g., “variable:variable”) inclusion balancing formula. Keep mind interactions include factor variables decomposed interactions factor level. ti_conf, list character strings, provide names confounders dataset time invariant. time suffix. , specify 18 time invariant confounders measured baseline study visit, prior first exposure time point.","code":"ti_conf <- c( \"state\", \"BioDadInHH2\", \"PmAge2\", \"PmBlac2\", \"TcBlac2\", \"PmMrSt2\", \"PmEd2\", \"KFASTScr\", \"RMomAgeU\", \"RHealth\", \"HomeOwnd\", \"SWghtLB\", \"SurpPreg\", \"SmokTotl\", \"DrnkFreq\", \"peri_health\", \"caregiv_health\", \"gov_assist\")"},{"path":"https://istallworthy.github.io/devMSMs/articles/Specify_Core_Inputs.html","id":"p3-8b-recommended-time-varying-confounders","dir":"Articles","previous_headings":"","what":"P3.8b Recommended: Time-varying Confounders","title":"Specify Core Inputs","text":"Time-varying confounders considered vary development, regardless many times measured dataset. Specifying time-varying confounders recommended use package input createFormulas() devMSMs function (see Workflows vignettes). tv_conf, list character strings, provide names variables wide format (e.g., “variable.t”) dataset time-varying, including exposure outcome variables specified respective fields (see ). time suffix following delimiter. Note time-varying confounders also include confounders measured repeatedly time points (e.g., InRatioCor) collected one several specific time points, missing time points, time invariant. Additionally, note user specify exposure time points tv_conf, lagged values exposure automatically included time-varying confounders creation formulas. user wishes specify interactions, need manually create data listing . , user can also include interaction terms time invariant variables (e.g., “variable:variable”) inclusion balancing formula. Keep mind interactions include factor variables decomposed interactions factor level.","code":"tv_conf <- c(\"SAAmylase.6\", \"SAAmylase.15\", \"SAAmylase.24\", \"MDI.6\", \"MDI.15\", \"RHasSO.6\", \"RHasSO.15\", \"RHasSO.24\", \"RHasSO.35\", \"WndNbrhood.6\", \"WndNbrhood.24\", \"WndNbrhood.35\", \"IBRAttn.6\", \"IBRAttn.15\", \"IBRAttn.24\", \"B18Raw.6\", \"B18Raw.15\", \"B18Raw.24\", \"HOMEETA1.6\", \"HOMEETA1.15\", \"HOMEETA1.24\", \"HOMEETA1.35\", \"InRatioCor.6\", \"InRatioCor.15\", \"InRatioCor.24\", \"InRatioCor.35\", \"CORTB.6\", \"CORTB.15\", \"CORTB.24\", \"EARS_TJo.24\", \"EARS_TJo.35\", \"LESMnPos.24\", \"LESMnPos.35\", \"LESMnNeg.24\", \"LESMnNeg.35\", \"StrDif_Tot.35\", \"fscore.35\")"},{"path":"https://istallworthy.github.io/devMSMs/articles/Specify_Core_Inputs.html","id":"p3-8c-optional-concurrent-confounders","dir":"Articles","previous_headings":"","what":"P3.8c Optional: Concurrent Confounders","title":"Specify Core Inputs","text":"creating balancing formula exposure time point, default devMSMs include time-varying confounders measured exposure time point. often difficult differentiate confounders measured contemporaneously mediators, balancing mediator ill-advised. However, sometimes user may good evidence know given time-varying confounder mediator exposure even measured contemporaneously. case, may specify override package default retain given variable/set time-varying confoudners formulas exposure measured contemporaneously. concur_conf: list character strings, provide names time-varying confounders (wide format) wish included contemporaneously balancing formulas (overriding default include lagged confounders). user can now proceed Data Requirements Workflows vignettes.","code":"concur_conf <- \"B18Raw.6\""},{"path":"https://istallworthy.github.io/devMSMs/articles/Specify_Core_Inputs.html","id":"references","dir":"Articles","previous_headings":"","what":"References","title":"Specify Core Inputs","text":"Arel-Bundock, Vincent. 2024. marginaleffects: Predictions, Comparisons, Slopes, Marginal Means, Hypothesis Tests. https://CRAN.R-project.org/package=marginaleffects.","code":""},{"path":"https://istallworthy.github.io/devMSMs/articles/Terminology.html","id":"balancing-formula","dir":"Articles","previous_headings":"","what":"Balancing Formula","title":"Terminology","text":"table summarizes three formula type’s used. Table 2. Summary formula terminology used devMSMs package creating balancing weights assessing performance devMSMs (Workflows vignettes Steps 4-6). different kinds formulas vary respect inclusion time-varying confounders type specification create using createFormulas() function. type = \"full\" type = \"short\" type = \"update\"","code":"ESETA1.t ~ time-invariant confounders + time-varying confounders + lagged outcomes + lagged outcomes ESETA1.24 ~ B18Raw.15 + B18Raw.6 + BioDadInHH2 + CORTB.15 + CORTB.6 + DrnkFreq + ES.15 + ES.6 + gov_assist + HOMEETA1.15 + HOMEETA1.6 + HomeOwnd ... ESETA1.24 ~ B18Raw.15 + BioDadInHH2 + CORTB.15 + DrnkFreq + ES.15 + gov_assist + HOMEETA1.15 + HomeOwnd ... ESETA1.24 ~ B18Raw.15 + BioDadInHH2 + CORTB.15 + DrnkFreq + ES.6 + ES.15 + gov_assist + HOMEETA1.15 + HomeOwnd ..."},{"path":"https://istallworthy.github.io/devMSMs/articles/Terminology.html","id":"core-functions-of-devmsms","dir":"Articles","previous_headings":"","what":"7 core functions of devMSMs","title":"Terminology","text":"7 key functions used devMSMs workflow. Summary 7 core functions devMSMs package.","code":""},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"installation","dir":"Articles","previous_headings":"","what":"Installation","title":"Workflow: Continuous Exposure","text":"devMSMs available CRAN, need install directly Github (https://github.com/istallworthy/devMSMs), shown . devMSMs functions option save objects ‘.rds’ files. Users can also save content print, summary, plot methods, illustrated sections . save, users must supply path home directory (home_dir) creating initial MSM object. Users can save home directory using default file labels (.txt file type) using save.= TRUE. saving tables, users option supply name file type (e.g., save.= “custom_name.png”). Allowable file types : .png, .html, .pdf, .tex, .md. sub-folders referenced function created automatically within home directory. recommend saving outputs future use provide commented examples . output saved , function automatically provides path file aid user reading output future. functions output tables. tinytables package can customized (e.g., dimensions, footnotes, captions, combined, etc.) according options provided package (https://vincentarelbundock.github.io/tinytable/vignettes/tinytable.html).","code":"options(repos = c(CRAN = \"https://cloud.r-project.org\")) install.packages(\"devtools\") #> Installing package into '/home/runner/work/_temp/Library' #> (as 'lib' is unspecified) require(\"devtools\", quietly = TRUE) devtools::install_github(\"istallworthy/devMSMs\", quiet = TRUE) library(devMSMs) devtools::install_github(\"istallworthy/devMSMsHelpers\", quiet = TRUE) library(devMSMsHelpers) save.out = FALSE"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"phase-0-preliminary-conceptual-data-preparation","dir":"Articles","previous_headings":"","what":"Phase 0: Preliminary Conceptual & Data Preparation","title":"Workflow: Continuous Exposure","text":"Please see accompanying manuscript steps P1 (creating hypotheses) P2 (creating DAG). first step create initial MSM object specifying core variables data use package. Please see Specifying Core Inputs vignette detail following core inputs. , specify data, exposure, time invariant time-varying confounders, well exposure epochs. several optional fields user specify MSM object. user also option specify concur_conf, indicating, list character strings, names time-varying confounders (e.g., “variable.time”) wish included concurrently weights formulas (overriding default include lagged confounders). done user strong evidence differentiate confounders mediators relation exposure contemporaneously. specify home directory given nature example, recommend save core function outputs. , use default period time delimiter. specify 6 time points exposure. , specify 60th 30th percentiles demarcate high low levels economic strain exposure, respectively. specify first two exposure time points (6 15 months) considered infancy, second two (34 25 months) toddlerhood, final (58 months) childhood. See Specify Core Inputs vignette information. , specify low economic strain epochs (“l-l-l”) reference event comparison high levels epochs (“h-h-h”) examine example question comparing causal effects 0 vs 3 doses exposure economic strain children’s behavior problems. specify outcome behavior problems 58 months. specify time-invariant time-varying confounders. specify concurrent confounders , given data, unable disentangle mediators colliders. highly recommend first implementing Data Requirements & Preparation Vignette https://istallworthy.github.io/devMSMs/articles/Data_Requirements.html assigning variable, data, one following wide data formats (see Figure 1) use package: single data frame data wide format missing data mids object (output mice::mice()) data imputed wide format list data imputed wide format data frames See Data Preparation vignette detail. first load 2 imputed datasets mice object. data simulated based data Family Life Project (FLP), longitudinal study following 1,292 families representative two geographic areas (three counties North Carolina three counties Pennsylvania) high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). take example exposure economic strain (“ESETA1”) measured 6, 15, 24, 35, 58 months relation outcome behavior problems (“StrDif_Tot”) measured 58 months. (See Data Requirements & Preparation vignette beginning data types, including missing data). set seed reproducibility. , inspect MSMS object view confirm variables categorized. users, highly recommend use helper inspectData() function (complete dataset long wide format imputed data case missingness) summarize exposure, outcome, confounders inspect sample distribution among exposure histories. Based user-specified exposure epochs high low quantile values (continuous exposures), function outputs table showing sample distribution across histories. strongly suggest visually inspecting table revising designation epochs /high low quantile values (continuous exposures) history contains reasonable number participants. gold standard required number per history cell, users guard extrapolation beyond scope data. example, data, using 75th 25th percentile cutoffs, histories represented less two cases thus re-evaluated cutoffs. Users may wish revise epoch designation high low cutoff values, applicable. function conducts summaries history distribution inspection imputed dataset imputed data supplied. required inputs inspectData() : complete data (data frame wide long format, list imputed data frames wide format, mids object), exposure (e.g., “variable”), outcome (e.g., “variable.t”). exposure continuously distributed, user required supply hi_lo_cut values demarcating high low levels. Optional inputs home directory (save.= TRUE), epochs, high/low cutoff values continuous exposures, specification reference comparison histories. helper inspectData() function outputs following files home directory: correlation plot variables dataset, tables exposure outcome descriptive statistics, two summary tables confounders considered time point. , see summaries data types well reasonable cell counts specified histories, imputed dataset.","code":"# home_dir = '/Users/isabella/Library/CloudStorage/Box-Box/BSL General/MSMs/testing/isa' sep <- \"\\\\.\" exposure <- c(\"ESETA1.6\", \"ESETA1.15\", \"ESETA1.24\", \"ESETA1.35\", \"ESETA1.58\") hi_lo_cut <- c(0.6, 0.3) epochs <- c(\"Infancy\", \"Infancy\", \"Toddlerhood\", \"Toddlerhood\", \"Childhood\") reference <- c(\"l-l-l\") comparison <- c(\"h-h-h\") outcome <- \"StrDif_Tot.58\" ti_conf <- c( \"state\", \"BioDadInHH2\", \"PmAge2\", \"PmBlac2\", \"TcBlac2\", \"PmMrSt2\", \"PmEd2\", \"KFASTScr\", \"RMomAgeU\", \"RHealth\", \"HomeOwnd\", \"SWghtLB\", \"SurpPreg\", \"SmokTotl\", \"DrnkFreq\", \"peri_health\", \"caregiv_health\", \"gov_assist\") tv_conf <- c(\"SAAmylase.6\", \"SAAmylase.15\", \"SAAmylase.24\", \"MDI.6\", \"MDI.15\", \"RHasSO.6\", \"RHasSO.15\", \"RHasSO.24\", \"RHasSO.35\", \"WndNbrhood.6\", \"WndNbrhood.24\", \"WndNbrhood.35\", \"IBRAttn.6\", \"IBRAttn.15\", \"IBRAttn.24\", \"B18Raw.6\", \"B18Raw.15\", \"B18Raw.24\", \"HOMEETA1.6\", \"HOMEETA1.15\", \"HOMEETA1.24\", \"HOMEETA1.35\", \"InRatioCor.6\", \"InRatioCor.15\", \"InRatioCor.24\", \"InRatioCor.35\", \"CORTB.6\", \"CORTB.15\", \"CORTB.24\", \"EARS_TJo.24\", \"EARS_TJo.35\", \"LESMnPos.24\", \"LESMnPos.35\", \"LESMnNeg.24\", \"LESMnNeg.35\", \"StrDif_Tot.35\", \"fscore.35\") data(\"sim_data_mice\", package = \"devMSMs\") data <- sim_data_mice head(mice::complete(data, 1), n = c(5, 10)) #> ALI_Le.35 B18Raw.15 B18Raw.24 B18Raw.58 B18Raw.6 BioDadInHH2 caregiv_health #> 1 3 1 1 7 16 1 3 #> 2 2 4 -7 7 0 0 0 #> 3 3 6 5 20 -1 0 3 #> 4 4 24 25 17 11 0 3 #> 5 3 -8 -9 17 1 1 2 #> CORTB.15 CORTB.24 CORTB.6 #> 1 -0.227 -0.652 0.742 #> 2 0.149 0.831 0.018 #> 3 1.145 0.033 -0.379 #> 4 0.301 -0.501 0.000 #> 5 -0.247 0.084 0.153 set.seed(1234) obj <- initMSM( data, exposure = c(\"ESETA1.6\", \"ESETA1.15\", \"ESETA1.24\", \"ESETA1.35\", \"ESETA1.58\"), ti_conf = c(\"state\", \"BioDadInHH2\", \"PmAge2\", \"PmBlac2\", \"TcBlac2\", \"PmMrSt2\", \"PmEd2\", \"KFASTScr\", \"RMomAgeU\", \"RHealth\", \"HomeOwnd\", \"SWghtLB\", \"SurpPreg\", \"SmokTotl\", \"DrnkFreq\", \"peri_health\", \"caregiv_health\", \"gov_assist\"), tv_conf = c(\"SAAmylase.6\",\"SAAmylase.15\", \"SAAmylase.24\", \"MDI.6\", \"MDI.15\", \"RHasSO.6\", \"RHasSO.15\", \"RHasSO.24\",\"RHasSO.35\", \"WndNbrhood.6\",\"WndNbrhood.24\", \"WndNbrhood.35\", \"IBRAttn.6\", \"IBRAttn.15\", \"IBRAttn.24\", \"B18Raw.6\", \"B18Raw.15\", \"B18Raw.24\", \"HOMEETA1.6\", \"HOMEETA1.15\", \"HOMEETA1.24\", \"HOMEETA1.35\", \"InRatioCor.6\", \"InRatioCor.15\", \"InRatioCor.24\", \"InRatioCor.35\", \"CORTB.6\", \"CORTB.15\", \"CORTB.24\", \"EARS_TJo.24\", \"EARS_TJo.35\", \"LESMnPos.24\", \"LESMnPos.35\", \"LESMnNeg.24\", \"LESMnNeg.35\", \"StrDif_Tot.35\", \"fscore.35\"), epoch <- c(\"Infancy\", \"Infancy\", \"Toddlerhood\", \"Toddlerhood\", \"Childhood\"), sep = \"\\\\.\" ) print(obj) #> Exposure (continuous): ESETA1.6, ESETA1.15, ESETA1.24, ESETA1.35, ESETA1.58 #> Corresponding epoch: Infancy, Infancy, Toddlerhood, Toddlerhood, Childhood #> Variable and their encodings: #> var type time #> ESETA1.6 exposure 6 #> ESETA1.15 exposure 15 #> ESETA1.24 exposure 24 #> ESETA1.35 exposure 35 #> ESETA1.58 exposure 58 #> SAAmylase.6 tv_conf 6 #> SAAmylase.15 tv_conf 15 #> SAAmylase.24 tv_conf 24 #> MDI.6 tv_conf 6 #> MDI.15 tv_conf 15 #> RHasSO.6 tv_conf 6 #> RHasSO.15 tv_conf 15 #> RHasSO.24 tv_conf 24 #> RHasSO.35 tv_conf 35 #> WndNbrhood.6 tv_conf 6 #> WndNbrhood.24 tv_conf 24 #> WndNbrhood.35 tv_conf 35 #> IBRAttn.6 tv_conf 6 #> IBRAttn.15 tv_conf 15 #> IBRAttn.24 tv_conf 24 #> B18Raw.6 tv_conf 6 #> B18Raw.15 tv_conf 15 #> B18Raw.24 tv_conf 24 #> HOMEETA1.6 tv_conf 6 #> HOMEETA1.15 tv_conf 15 #> HOMEETA1.24 tv_conf 24 #> HOMEETA1.35 tv_conf 35 #> InRatioCor.6 tv_conf 6 #> InRatioCor.15 tv_conf 15 #> InRatioCor.24 tv_conf 24 #> InRatioCor.35 tv_conf 35 #> CORTB.6 tv_conf 6 #> CORTB.15 tv_conf 15 #> CORTB.24 tv_conf 24 #> EARS_TJo.24 tv_conf 24 #> EARS_TJo.35 tv_conf 35 #> LESMnPos.24 tv_conf 24 #> LESMnPos.35 tv_conf 35 #> LESMnNeg.24 tv_conf 24 #> LESMnNeg.35 tv_conf 35 #> StrDif_Tot.35 tv_conf 35 #> fscore.35 tv_conf 35 #> state ti_conf -1 #> BioDadInHH2 ti_conf -1 #> PmAge2 ti_conf -1 #> PmBlac2 ti_conf -1 #> TcBlac2 ti_conf -1 #> PmMrSt2 ti_conf -1 #> PmEd2 ti_conf -1 #> KFASTScr ti_conf -1 #> RMomAgeU ti_conf -1 #> RHealth ti_conf -1 #> HomeOwnd ti_conf -1 #> SWghtLB ti_conf -1 #> SurpPreg ti_conf -1 #> SmokTotl ti_conf -1 #> DrnkFreq ti_conf -1 #> peri_health ti_conf -1 #> caregiv_health ti_conf -1 #> gov_assist ti_conf -1 inspectData(data = data, obj = obj, outcome = outcome, hi_lo_cut = hi_lo_cut, reference = reference, comparison = comparison, verbose = TRUE, save.out = save.out) #> Imputation 1 #> USER ALERT: Out of the total of 1292 individuals in the sample, below is the distribution of the 333 (26%) individuals that fall into 2 user-selected exposure histories (out of the 27 total) created from 30th and 60th percentile values for low and high levels of exposure-epoch Infancy, Toddlerhood, Childhood. #> USER ALERT: Please inspect the distribution of the sample across the following exposure histories and ensure there is sufficient spread to avoid extrapolation and low precision: #> #> +---------------+-----+ #> | epoch_history | n | #> +===============+=====+ #> | h-h-h | 214 | #> +---------------+-----+ #> | l-l-l | 119 | #> +---------------+-----+ #> #> Table: Summary of user-selected exposure histories based on exposure main effects Infancy, Toddlerhood, Childhood: #> USER ALERT: Below are the 55 variables spanning 32 unique domains that will be treated as confounding variables for the relation between ESETA1 and StrDif_Tot.58. #> Please inspect this list carefully. It should include all time-varying covariates, time invariant covariates, as well as lagged levels of exposure and outcome variables if they were collected at time points earlier than the outcome time point. #> [1] \"B18Raw.15\" \"B18Raw.24\" \"B18Raw.6\" \"BioDadInHH2\" #> [5] \"caregiv_health\" \"CORTB.15\" \"CORTB.24\" \"CORTB.6\" #> [9] \"DrnkFreq\" \"EARS_TJo.24\" \"EARS_TJo.35\" \"fscore.35\" #> [13] \"gov_assist\" \"HOMEETA1.15\" \"HOMEETA1.24\" \"HOMEETA1.35\" #> [17] \"HOMEETA1.6\" \"HomeOwnd\" \"IBRAttn.15\" \"IBRAttn.24\" #> [21] \"IBRAttn.6\" \"InRatioCor.15\" \"InRatioCor.24\" \"InRatioCor.35\" #> [25] \"InRatioCor.6\" \"KFASTScr\" \"LESMnNeg.24\" \"LESMnNeg.35\" #> [29] \"LESMnPos.24\" \"LESMnPos.35\" \"MDI.15\" \"MDI.6\" #> [33] \"peri_health\" \"PmAge2\" \"PmBlac2\" \"PmEd2\" #> [37] \"PmMrSt2\" \"RHasSO.15\" \"RHasSO.24\" \"RHasSO.35\" #> [41] \"RHasSO.6\" \"RHealth\" \"RMomAgeU\" \"SAAmylase.15\" #> [45] \"SAAmylase.24\" \"SAAmylase.6\" \"SmokTotl\" \"state\" #> [49] \"StrDif_Tot.35\" \"SurpPreg\" \"SWghtLB\" \"TcBlac2\" #> [53] \"WndNbrhood.24\" \"WndNbrhood.35\" \"WndNbrhood.6\" #> #> The following variables are designated as numeric: #> [1] \"ALI_Le.35, CORTB.15, CORTB.24, CORTB.6, ESETA1.15, ESETA1.24, ESETA1.35, ESETA1.58, ESETA1.6, fscore.35, fscore.58, HOMEETA1.15, HOMEETA1.24, HOMEETA1.35, HOMEETA1.58, HOMEETA1.6, IBRAttn.15, IBRAttn.24, IBRAttn.6, ID, InRatioCor.15, InRatioCor.24, InRatioCor.35, InRatioCor.58, InRatioCor.6, LESMnNeg.24, LESMnNeg.35, LESMnPos.24, LESMnPos.35, PmAge2, SAAmylase.15, SAAmylase.24, SAAmylase.6, StrDif_Tot.35, StrDif_Tot.58, WndNbrhood.24, WndNbrhood.35, WndNbrhood.58, WndNbrhood.6, ESETA1.Childhood, ESETA1.Infancy, ESETA1.Toddlerhood\" #> #> The following variables are designated as factors: #> [1] \"BioDadInHH2, DrnkFreq, HomeOwnd, PmBlac2, PmMrSt2, RHasSO.15, RHasSO.24, RHasSO.35, RHasSO.58, RHasSO.6, RHealth, SmokTotl, state, SurpPreg, TcBlac2\" #> #> Table: Other variable types #> #> | |variable |type | #> |:--------------|:--------------|:-------| #> |B18Raw.15 |B18Raw.15 |integer | #> |B18Raw.24 |B18Raw.24 |integer | #> |B18Raw.58 |B18Raw.58 |integer | #> |B18Raw.6 |B18Raw.6 |integer | #> |caregiv_health |caregiv_health |integer | #> |EARS_TJo.24 |EARS_TJo.24 |integer | #> |EARS_TJo.35 |EARS_TJo.35 |integer | #> |gov_assist |gov_assist |integer | #> |KFASTScr |KFASTScr |integer | #> |MDI.15 |MDI.15 |integer | #> |MDI.6 |MDI.6 |integer | #> |peri_health |peri_health |integer | #> |PmEd2 |PmEd2 |integer | #> |RMomAgeU |RMomAgeU |integer | #> |SWghtLB |SWghtLB |integer | #> #> #> #> #>
Summary of ESETA1 Information<\/caption> #>
#> #> | | ESETA1.6 | ESETA1.15 | ESETA1.24 | ESETA1.35 | ESETA1.58 | #> |:--|:---------------|:---------------|:---------------|:----------------|:----------------| #> | |Min. :-2.8090 |Min. :-3.1010 |Min. :-2.8580 |Min. :-3.24100 |Min. :-2.47800 | #> | |1st Qu.:-0.4193 |1st Qu.:-0.4153 |1st Qu.:-0.4665 |1st Qu.:-0.57050 |1st Qu.:-0.51100 | #> | |Median : 0.3030 |Median : 0.2165 |Median : 0.1445 |Median : 0.07300 |Median : 0.05650 | #> | |Mean : 0.2765 |Mean : 0.2115 |Mean : 0.1154 |Mean : 0.08565 |Mean : 0.07673 | #> | |3rd Qu.: 0.9000 |3rd Qu.: 0.8620 |3rd Qu.: 0.7258 |3rd Qu.: 0.74075 |3rd Qu.: 0.71425 | #> | |Max. : 4.0350 |Max. : 3.4740 |Max. : 3.2840 |Max. : 3.01400 |Max. : 3.17300 | #> #> <\/td> #> <\/tr> #> <\/tbody> #> <\/table> #> #> Table: Summary of StrDif_Tot.58 Information #> #> | Min.| X1st.Qu.| Median| Mean| X3rd.Qu.| Max.| #> |------:|--------:|------:|---------:|--------:|-----:| #> | -0.497| 0.297| 0.48| 0.4897314| 0.689| 1.448| #> Imputation 2 #> USER ALERT: Out of the total of 1292 individuals in the sample, below is the distribution of the 333 (26%) individuals that fall into 2 user-selected exposure histories (out of the 27 total) created from 30th and 60th percentile values for low and high levels of exposure-epoch Infancy, Toddlerhood, Childhood. #> USER ALERT: Please inspect the distribution of the sample across the following exposure histories and ensure there is sufficient spread to avoid extrapolation and low precision: #> #> +---------------+-----+ #> | epoch_history | n | #> +===============+=====+ #> | h-h-h | 218 | #> +---------------+-----+ #> | l-l-l | 115 | #> +---------------+-----+ #> #> Table: Summary of user-selected exposure histories based on exposure main effects Infancy, Toddlerhood, Childhood: #> USER ALERT: Below are the 55 variables spanning 32 unique domains that will be treated as confounding variables for the relation between ESETA1 and StrDif_Tot.58. #> Please inspect this list carefully. It should include all time-varying covariates, time invariant covariates, as well as lagged levels of exposure and outcome variables if they were collected at time points earlier than the outcome time point. #> [1] \"B18Raw.15\" \"B18Raw.24\" \"B18Raw.6\" \"BioDadInHH2\" #> [5] \"caregiv_health\" \"CORTB.15\" \"CORTB.24\" \"CORTB.6\" #> [9] \"DrnkFreq\" \"EARS_TJo.24\" \"EARS_TJo.35\" \"fscore.35\" #> [13] \"gov_assist\" \"HOMEETA1.15\" \"HOMEETA1.24\" \"HOMEETA1.35\" #> [17] \"HOMEETA1.6\" \"HomeOwnd\" \"IBRAttn.15\" \"IBRAttn.24\" #> [21] \"IBRAttn.6\" \"InRatioCor.15\" \"InRatioCor.24\" \"InRatioCor.35\" #> [25] \"InRatioCor.6\" \"KFASTScr\" \"LESMnNeg.24\" \"LESMnNeg.35\" #> [29] \"LESMnPos.24\" \"LESMnPos.35\" \"MDI.15\" \"MDI.6\" #> [33] \"peri_health\" \"PmAge2\" \"PmBlac2\" \"PmEd2\" #> [37] \"PmMrSt2\" \"RHasSO.15\" \"RHasSO.24\" \"RHasSO.35\" #> [41] \"RHasSO.6\" \"RHealth\" \"RMomAgeU\" \"SAAmylase.15\" #> [45] \"SAAmylase.24\" \"SAAmylase.6\" \"SmokTotl\" \"state\" #> [49] \"StrDif_Tot.35\" \"SurpPreg\" \"SWghtLB\" \"TcBlac2\" #> [53] \"WndNbrhood.24\" \"WndNbrhood.35\" \"WndNbrhood.6\" #> #> The following variables are designated as numeric: #> [1] \"ALI_Le.35, CORTB.15, CORTB.24, CORTB.6, ESETA1.15, ESETA1.24, ESETA1.35, ESETA1.58, ESETA1.6, fscore.35, fscore.58, HOMEETA1.15, HOMEETA1.24, HOMEETA1.35, HOMEETA1.58, HOMEETA1.6, IBRAttn.15, IBRAttn.24, IBRAttn.6, ID, InRatioCor.15, InRatioCor.24, InRatioCor.35, InRatioCor.58, InRatioCor.6, LESMnNeg.24, LESMnNeg.35, LESMnPos.24, LESMnPos.35, PmAge2, SAAmylase.15, SAAmylase.24, SAAmylase.6, StrDif_Tot.35, StrDif_Tot.58, WndNbrhood.24, WndNbrhood.35, WndNbrhood.58, WndNbrhood.6, ESETA1.Childhood, ESETA1.Infancy, ESETA1.Toddlerhood\" #> #> The following variables are designated as factors: #> [1] \"BioDadInHH2, DrnkFreq, HomeOwnd, PmBlac2, PmMrSt2, RHasSO.15, RHasSO.24, RHasSO.35, RHasSO.58, RHasSO.6, RHealth, SmokTotl, state, SurpPreg, TcBlac2\" #> #> Table: Other variable types #> #> | |variable |type | #> |:--------------|:--------------|:-------| #> |B18Raw.15 |B18Raw.15 |integer | #> |B18Raw.24 |B18Raw.24 |integer | #> |B18Raw.58 |B18Raw.58 |integer | #> |B18Raw.6 |B18Raw.6 |integer | #> |caregiv_health |caregiv_health |integer | #> |EARS_TJo.24 |EARS_TJo.24 |integer | #> |EARS_TJo.35 |EARS_TJo.35 |integer | #> |gov_assist |gov_assist |integer | #> |KFASTScr |KFASTScr |integer | #> |MDI.15 |MDI.15 |integer | #> |MDI.6 |MDI.6 |integer | #> |peri_health |peri_health |integer | #> |PmEd2 |PmEd2 |integer | #> |RMomAgeU |RMomAgeU |integer | #> |SWghtLB |SWghtLB |integer | #> #> #> #> #>
Summary of ESETA1 Information<\/caption> #>
#> #> | | ESETA1.6 | ESETA1.15 | ESETA1.24 | ESETA1.35 | ESETA1.58 | #> |:--|:---------------|:---------------|:---------------|:----------------|:----------------| #> | |Min. :-2.8090 |Min. :-3.1010 |Min. :-2.8580 |Min. :-3.24100 |Min. :-2.47800 | #> | |1st Qu.:-0.3245 |1st Qu.:-0.4133 |1st Qu.:-0.5020 |1st Qu.:-0.56900 |1st Qu.:-0.53350 | #> | |Median : 0.3440 |Median : 0.2215 |Median : 0.1160 |Median : 0.07400 |Median : 0.08300 | #> | |Mean : 0.3201 |Mean : 0.2022 |Mean : 0.1229 |Mean : 0.08662 |Mean : 0.07949 | #> | |3rd Qu.: 0.9423 |3rd Qu.: 0.8482 |3rd Qu.: 0.7380 |3rd Qu.: 0.74625 |3rd Qu.: 0.70550 | #> | |Max. : 4.0350 |Max. : 3.4740 |Max. : 3.2840 |Max. : 3.01400 |Max. : 3.17300 | #> #> <\/td> #> <\/tr> #> <\/tbody> #> <\/table> #> #> Table: Summary of StrDif_Tot.58 Information #> #> | Min.| X1st.Qu.| Median| Mean| X3rd.Qu.| Max.| #> |------:|--------:|------:|--------:|--------:|-----:| #> | -0.497| 0.29675| 0.472| 0.489219| 0.69325| 1.448| #> [[1]] #> NULL #> #> [[2]] #> NULL"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"step-p3--specify-core-inputs","dir":"Articles","previous_headings":"","what":"STEP P3. Specify Core Inputs","title":"Workflow: Continuous Exposure","text":"first step create initial MSM object specifying core variables data use package. Please see Specifying Core Inputs vignette detail following core inputs. , specify data, exposure, time invariant time-varying confounders, well exposure epochs. several optional fields user specify MSM object. user also option specify concur_conf, indicating, list character strings, names time-varying confounders (e.g., “variable.time”) wish included concurrently weights formulas (overriding default include lagged confounders). done user strong evidence differentiate confounders mediators relation exposure contemporaneously. specify home directory given nature example, recommend save core function outputs. , use default period time delimiter. specify 6 time points exposure. , specify 60th 30th percentiles demarcate high low levels economic strain exposure, respectively. specify first two exposure time points (6 15 months) considered infancy, second two (34 25 months) toddlerhood, final (58 months) childhood. See Specify Core Inputs vignette information. , specify low economic strain epochs (“l-l-l”) reference event comparison high levels epochs (“h-h-h”) examine example question comparing causal effects 0 vs 3 doses exposure economic strain children’s behavior problems. specify outcome behavior problems 58 months. specify time-invariant time-varying confounders. specify concurrent confounders , given data, unable disentangle mediators colliders.","code":"# home_dir = '/Users/isabella/Library/CloudStorage/Box-Box/BSL General/MSMs/testing/isa' sep <- \"\\\\.\" exposure <- c(\"ESETA1.6\", \"ESETA1.15\", \"ESETA1.24\", \"ESETA1.35\", \"ESETA1.58\") hi_lo_cut <- c(0.6, 0.3) epochs <- c(\"Infancy\", \"Infancy\", \"Toddlerhood\", \"Toddlerhood\", \"Childhood\") reference <- c(\"l-l-l\") comparison <- c(\"h-h-h\") outcome <- \"StrDif_Tot.58\" ti_conf <- c( \"state\", \"BioDadInHH2\", \"PmAge2\", \"PmBlac2\", \"TcBlac2\", \"PmMrSt2\", \"PmEd2\", \"KFASTScr\", \"RMomAgeU\", \"RHealth\", \"HomeOwnd\", \"SWghtLB\", \"SurpPreg\", \"SmokTotl\", \"DrnkFreq\", \"peri_health\", \"caregiv_health\", \"gov_assist\") tv_conf <- c(\"SAAmylase.6\", \"SAAmylase.15\", \"SAAmylase.24\", \"MDI.6\", \"MDI.15\", \"RHasSO.6\", \"RHasSO.15\", \"RHasSO.24\", \"RHasSO.35\", \"WndNbrhood.6\", \"WndNbrhood.24\", \"WndNbrhood.35\", \"IBRAttn.6\", \"IBRAttn.15\", \"IBRAttn.24\", \"B18Raw.6\", \"B18Raw.15\", \"B18Raw.24\", \"HOMEETA1.6\", \"HOMEETA1.15\", \"HOMEETA1.24\", \"HOMEETA1.35\", \"InRatioCor.6\", \"InRatioCor.15\", \"InRatioCor.24\", \"InRatioCor.35\", \"CORTB.6\", \"CORTB.15\", \"CORTB.24\", \"EARS_TJo.24\", \"EARS_TJo.35\", \"LESMnPos.24\", \"LESMnPos.35\", \"LESMnNeg.24\", \"LESMnNeg.35\", \"StrDif_Tot.35\", \"fscore.35\")"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"p3-1-recommended-home-directory","dir":"Articles","previous_headings":"Phase 0: Preliminary Conceptual & Data Preparation","what":"P3.1 Recommended: Home Directory","title":"Workflow: Continuous Exposure","text":"specify home directory given nature example, recommend save core function outputs.","code":"# home_dir = '/Users/isabella/Library/CloudStorage/Box-Box/BSL General/MSMs/testing/isa'"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"p3-2-recommended-time-point-delimiter","dir":"Articles","previous_headings":"Phase 0: Preliminary Conceptual & Data Preparation","what":"P3.2 Recommended: Time Point Delimiter","title":"Workflow: Continuous Exposure","text":", use default period time delimiter.","code":"sep <- \"\\\\.\""},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"p3-3-required-exposure-variable","dir":"Articles","previous_headings":"Phase 0: Preliminary Conceptual & Data Preparation","what":"P3.3 Required: Exposure Variable","title":"Workflow: Continuous Exposure","text":"specify 6 time points exposure.","code":"exposure <- c(\"ESETA1.6\", \"ESETA1.15\", \"ESETA1.24\", \"ESETA1.35\", \"ESETA1.58\")"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"p3-4--required-for-continuous-exposures-identify-high-and-low-cutoff-values","dir":"Articles","previous_headings":"Phase 0: Preliminary Conceptual & Data Preparation","what":"P3.4. Required for Continuous Exposures: Identify High and Low Cutoff Values","title":"Workflow: Continuous Exposure","text":", specify 60th 30th percentiles demarcate high low levels economic strain exposure, respectively.","code":"hi_lo_cut <- c(0.6, 0.3)"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"p3-5-optional-exposure-epochs","dir":"Articles","previous_headings":"Phase 0: Preliminary Conceptual & Data Preparation","what":"P3.5 Optional: Exposure Epochs","title":"Workflow: Continuous Exposure","text":"specify first two exposure time points (6 15 months) considered infancy, second two (34 25 months) toddlerhood, final (58 months) childhood.","code":"epochs <- c(\"Infancy\", \"Infancy\", \"Toddlerhood\", \"Toddlerhood\", \"Childhood\")"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"p3-6-recommended-hypotheses-relevant-exposure-histories","dir":"Articles","previous_headings":"Phase 0: Preliminary Conceptual & Data Preparation","what":"P3.6 Recommended: Hypotheses-Relevant Exposure Histories","title":"Workflow: Continuous Exposure","text":"See Specify Core Inputs vignette information. , specify low economic strain epochs (“l-l-l”) reference event comparison high levels epochs (“h-h-h”) examine example question comparing causal effects 0 vs 3 doses exposure economic strain children’s behavior problems.","code":"reference <- c(\"l-l-l\") comparison <- c(\"h-h-h\")"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"p3-7-required-outcome-variable","dir":"Articles","previous_headings":"Phase 0: Preliminary Conceptual & Data Preparation","what":"P3.7 Required: Outcome Variable","title":"Workflow: Continuous Exposure","text":"specify outcome behavior problems 58 months.","code":"outcome <- \"StrDif_Tot.58\""},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"p3-8-recommended-confounders","dir":"Articles","previous_headings":"Phase 0: Preliminary Conceptual & Data Preparation","what":"P3.8 Recommended: Confounders","title":"Workflow: Continuous Exposure","text":"specify time-invariant time-varying confounders.","code":"ti_conf <- c( \"state\", \"BioDadInHH2\", \"PmAge2\", \"PmBlac2\", \"TcBlac2\", \"PmMrSt2\", \"PmEd2\", \"KFASTScr\", \"RMomAgeU\", \"RHealth\", \"HomeOwnd\", \"SWghtLB\", \"SurpPreg\", \"SmokTotl\", \"DrnkFreq\", \"peri_health\", \"caregiv_health\", \"gov_assist\") tv_conf <- c(\"SAAmylase.6\", \"SAAmylase.15\", \"SAAmylase.24\", \"MDI.6\", \"MDI.15\", \"RHasSO.6\", \"RHasSO.15\", \"RHasSO.24\", \"RHasSO.35\", \"WndNbrhood.6\", \"WndNbrhood.24\", \"WndNbrhood.35\", \"IBRAttn.6\", \"IBRAttn.15\", \"IBRAttn.24\", \"B18Raw.6\", \"B18Raw.15\", \"B18Raw.24\", \"HOMEETA1.6\", \"HOMEETA1.15\", \"HOMEETA1.24\", \"HOMEETA1.35\", \"InRatioCor.6\", \"InRatioCor.15\", \"InRatioCor.24\", \"InRatioCor.35\", \"CORTB.6\", \"CORTB.15\", \"CORTB.24\", \"EARS_TJo.24\", \"EARS_TJo.35\", \"LESMnPos.24\", \"LESMnPos.35\", \"LESMnNeg.24\", \"LESMnNeg.35\", \"StrDif_Tot.35\", \"fscore.35\")"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"p3-8c-optional-concurrent-confounders","dir":"Articles","previous_headings":"Phase 0: Preliminary Conceptual & Data Preparation","what":"P3.8c Optional: Concurrent Confounders","title":"Workflow: Continuous Exposure","text":"specify concurrent confounders , given data, unable disentangle mediators colliders.","code":""},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"step-p4--data-preparation-inspection","dir":"Articles","previous_headings":"","what":"STEP P4. Data Preparation & Inspection","title":"Workflow: Continuous Exposure","text":"highly recommend first implementing Data Requirements & Preparation Vignette https://istallworthy.github.io/devMSMs/articles/Data_Requirements.html assigning variable, data, one following wide data formats (see Figure 1) use package: single data frame data wide format missing data mids object (output mice::mice()) data imputed wide format list data imputed wide format data frames See Data Preparation vignette detail. first load 2 imputed datasets mice object. data simulated based data Family Life Project (FLP), longitudinal study following 1,292 families representative two geographic areas (three counties North Carolina three counties Pennsylvania) high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). take example exposure economic strain (“ESETA1”) measured 6, 15, 24, 35, 58 months relation outcome behavior problems (“StrDif_Tot”) measured 58 months. (See Data Requirements & Preparation vignette beginning data types, including missing data). set seed reproducibility. , inspect MSMS object view confirm variables categorized. users, highly recommend use helper inspectData() function (complete dataset long wide format imputed data case missingness) summarize exposure, outcome, confounders inspect sample distribution among exposure histories. Based user-specified exposure epochs high low quantile values (continuous exposures), function outputs table showing sample distribution across histories. strongly suggest visually inspecting table revising designation epochs /high low quantile values (continuous exposures) history contains reasonable number participants. gold standard required number per history cell, users guard extrapolation beyond scope data. example, data, using 75th 25th percentile cutoffs, histories represented less two cases thus re-evaluated cutoffs. Users may wish revise epoch designation high low cutoff values, applicable. function conducts summaries history distribution inspection imputed dataset imputed data supplied. required inputs inspectData() : complete data (data frame wide long format, list imputed data frames wide format, mids object), exposure (e.g., “variable”), outcome (e.g., “variable.t”). exposure continuously distributed, user required supply hi_lo_cut values demarcating high low levels. Optional inputs home directory (save.= TRUE), epochs, high/low cutoff values continuous exposures, specification reference comparison histories. helper inspectData() function outputs following files home directory: correlation plot variables dataset, tables exposure outcome descriptive statistics, two summary tables confounders considered time point. , see summaries data types well reasonable cell counts specified histories, imputed dataset.","code":"data(\"sim_data_mice\", package = \"devMSMs\") data <- sim_data_mice head(mice::complete(data, 1), n = c(5, 10)) #> ALI_Le.35 B18Raw.15 B18Raw.24 B18Raw.58 B18Raw.6 BioDadInHH2 caregiv_health #> 1 3 1 1 7 16 1 3 #> 2 2 4 -7 7 0 0 0 #> 3 3 6 5 20 -1 0 3 #> 4 4 24 25 17 11 0 3 #> 5 3 -8 -9 17 1 1 2 #> CORTB.15 CORTB.24 CORTB.6 #> 1 -0.227 -0.652 0.742 #> 2 0.149 0.831 0.018 #> 3 1.145 0.033 -0.379 #> 4 0.301 -0.501 0.000 #> 5 -0.247 0.084 0.153 set.seed(1234) obj <- initMSM( data, exposure = c(\"ESETA1.6\", \"ESETA1.15\", \"ESETA1.24\", \"ESETA1.35\", \"ESETA1.58\"), ti_conf = c(\"state\", \"BioDadInHH2\", \"PmAge2\", \"PmBlac2\", \"TcBlac2\", \"PmMrSt2\", \"PmEd2\", \"KFASTScr\", \"RMomAgeU\", \"RHealth\", \"HomeOwnd\", \"SWghtLB\", \"SurpPreg\", \"SmokTotl\", \"DrnkFreq\", \"peri_health\", \"caregiv_health\", \"gov_assist\"), tv_conf = c(\"SAAmylase.6\",\"SAAmylase.15\", \"SAAmylase.24\", \"MDI.6\", \"MDI.15\", \"RHasSO.6\", \"RHasSO.15\", \"RHasSO.24\",\"RHasSO.35\", \"WndNbrhood.6\",\"WndNbrhood.24\", \"WndNbrhood.35\", \"IBRAttn.6\", \"IBRAttn.15\", \"IBRAttn.24\", \"B18Raw.6\", \"B18Raw.15\", \"B18Raw.24\", \"HOMEETA1.6\", \"HOMEETA1.15\", \"HOMEETA1.24\", \"HOMEETA1.35\", \"InRatioCor.6\", \"InRatioCor.15\", \"InRatioCor.24\", \"InRatioCor.35\", \"CORTB.6\", \"CORTB.15\", \"CORTB.24\", \"EARS_TJo.24\", \"EARS_TJo.35\", \"LESMnPos.24\", \"LESMnPos.35\", \"LESMnNeg.24\", \"LESMnNeg.35\", \"StrDif_Tot.35\", \"fscore.35\"), epoch <- c(\"Infancy\", \"Infancy\", \"Toddlerhood\", \"Toddlerhood\", \"Childhood\"), sep = \"\\\\.\" ) print(obj) #> Exposure (continuous): ESETA1.6, ESETA1.15, ESETA1.24, ESETA1.35, ESETA1.58 #> Corresponding epoch: Infancy, Infancy, Toddlerhood, Toddlerhood, Childhood #> Variable and their encodings: #> var type time #> ESETA1.6 exposure 6 #> ESETA1.15 exposure 15 #> ESETA1.24 exposure 24 #> ESETA1.35 exposure 35 #> ESETA1.58 exposure 58 #> SAAmylase.6 tv_conf 6 #> SAAmylase.15 tv_conf 15 #> SAAmylase.24 tv_conf 24 #> MDI.6 tv_conf 6 #> MDI.15 tv_conf 15 #> RHasSO.6 tv_conf 6 #> RHasSO.15 tv_conf 15 #> RHasSO.24 tv_conf 24 #> RHasSO.35 tv_conf 35 #> WndNbrhood.6 tv_conf 6 #> WndNbrhood.24 tv_conf 24 #> WndNbrhood.35 tv_conf 35 #> IBRAttn.6 tv_conf 6 #> IBRAttn.15 tv_conf 15 #> IBRAttn.24 tv_conf 24 #> B18Raw.6 tv_conf 6 #> B18Raw.15 tv_conf 15 #> B18Raw.24 tv_conf 24 #> HOMEETA1.6 tv_conf 6 #> HOMEETA1.15 tv_conf 15 #> HOMEETA1.24 tv_conf 24 #> HOMEETA1.35 tv_conf 35 #> InRatioCor.6 tv_conf 6 #> InRatioCor.15 tv_conf 15 #> InRatioCor.24 tv_conf 24 #> InRatioCor.35 tv_conf 35 #> CORTB.6 tv_conf 6 #> CORTB.15 tv_conf 15 #> CORTB.24 tv_conf 24 #> EARS_TJo.24 tv_conf 24 #> EARS_TJo.35 tv_conf 35 #> LESMnPos.24 tv_conf 24 #> LESMnPos.35 tv_conf 35 #> LESMnNeg.24 tv_conf 24 #> LESMnNeg.35 tv_conf 35 #> StrDif_Tot.35 tv_conf 35 #> fscore.35 tv_conf 35 #> state ti_conf -1 #> BioDadInHH2 ti_conf -1 #> PmAge2 ti_conf -1 #> PmBlac2 ti_conf -1 #> TcBlac2 ti_conf -1 #> PmMrSt2 ti_conf -1 #> PmEd2 ti_conf -1 #> KFASTScr ti_conf -1 #> RMomAgeU ti_conf -1 #> RHealth ti_conf -1 #> HomeOwnd ti_conf -1 #> SWghtLB ti_conf -1 #> SurpPreg ti_conf -1 #> SmokTotl ti_conf -1 #> DrnkFreq ti_conf -1 #> peri_health ti_conf -1 #> caregiv_health ti_conf -1 #> gov_assist ti_conf -1 inspectData(data = data, obj = obj, outcome = outcome, hi_lo_cut = hi_lo_cut, reference = reference, comparison = comparison, verbose = TRUE, save.out = save.out) #> Imputation 1 #> USER ALERT: Out of the total of 1292 individuals in the sample, below is the distribution of the 333 (26%) individuals that fall into 2 user-selected exposure histories (out of the 27 total) created from 30th and 60th percentile values for low and high levels of exposure-epoch Infancy, Toddlerhood, Childhood. #> USER ALERT: Please inspect the distribution of the sample across the following exposure histories and ensure there is sufficient spread to avoid extrapolation and low precision: #> #> +---------------+-----+ #> | epoch_history | n | #> +===============+=====+ #> | h-h-h | 214 | #> +---------------+-----+ #> | l-l-l | 119 | #> +---------------+-----+ #> #> Table: Summary of user-selected exposure histories based on exposure main effects Infancy, Toddlerhood, Childhood: #> USER ALERT: Below are the 55 variables spanning 32 unique domains that will be treated as confounding variables for the relation between ESETA1 and StrDif_Tot.58. #> Please inspect this list carefully. It should include all time-varying covariates, time invariant covariates, as well as lagged levels of exposure and outcome variables if they were collected at time points earlier than the outcome time point. #> [1] \"B18Raw.15\" \"B18Raw.24\" \"B18Raw.6\" \"BioDadInHH2\" #> [5] \"caregiv_health\" \"CORTB.15\" \"CORTB.24\" \"CORTB.6\" #> [9] \"DrnkFreq\" \"EARS_TJo.24\" \"EARS_TJo.35\" \"fscore.35\" #> [13] \"gov_assist\" \"HOMEETA1.15\" \"HOMEETA1.24\" \"HOMEETA1.35\" #> [17] \"HOMEETA1.6\" \"HomeOwnd\" \"IBRAttn.15\" \"IBRAttn.24\" #> [21] \"IBRAttn.6\" \"InRatioCor.15\" \"InRatioCor.24\" \"InRatioCor.35\" #> [25] \"InRatioCor.6\" \"KFASTScr\" \"LESMnNeg.24\" \"LESMnNeg.35\" #> [29] \"LESMnPos.24\" \"LESMnPos.35\" \"MDI.15\" \"MDI.6\" #> [33] \"peri_health\" \"PmAge2\" \"PmBlac2\" \"PmEd2\" #> [37] \"PmMrSt2\" \"RHasSO.15\" \"RHasSO.24\" \"RHasSO.35\" #> [41] \"RHasSO.6\" \"RHealth\" \"RMomAgeU\" \"SAAmylase.15\" #> [45] \"SAAmylase.24\" \"SAAmylase.6\" \"SmokTotl\" \"state\" #> [49] \"StrDif_Tot.35\" \"SurpPreg\" \"SWghtLB\" \"TcBlac2\" #> [53] \"WndNbrhood.24\" \"WndNbrhood.35\" \"WndNbrhood.6\" #> #> The following variables are designated as numeric: #> [1] \"ALI_Le.35, CORTB.15, CORTB.24, CORTB.6, ESETA1.15, ESETA1.24, ESETA1.35, ESETA1.58, ESETA1.6, fscore.35, fscore.58, HOMEETA1.15, HOMEETA1.24, HOMEETA1.35, HOMEETA1.58, HOMEETA1.6, IBRAttn.15, IBRAttn.24, IBRAttn.6, ID, InRatioCor.15, InRatioCor.24, InRatioCor.35, InRatioCor.58, InRatioCor.6, LESMnNeg.24, LESMnNeg.35, LESMnPos.24, LESMnPos.35, PmAge2, SAAmylase.15, SAAmylase.24, SAAmylase.6, StrDif_Tot.35, StrDif_Tot.58, WndNbrhood.24, WndNbrhood.35, WndNbrhood.58, WndNbrhood.6, ESETA1.Childhood, ESETA1.Infancy, ESETA1.Toddlerhood\" #> #> The following variables are designated as factors: #> [1] \"BioDadInHH2, DrnkFreq, HomeOwnd, PmBlac2, PmMrSt2, RHasSO.15, RHasSO.24, RHasSO.35, RHasSO.58, RHasSO.6, RHealth, SmokTotl, state, SurpPreg, TcBlac2\" #> #> Table: Other variable types #> #> | |variable |type | #> |:--------------|:--------------|:-------| #> |B18Raw.15 |B18Raw.15 |integer | #> |B18Raw.24 |B18Raw.24 |integer | #> |B18Raw.58 |B18Raw.58 |integer | #> |B18Raw.6 |B18Raw.6 |integer | #> |caregiv_health |caregiv_health |integer | #> |EARS_TJo.24 |EARS_TJo.24 |integer | #> |EARS_TJo.35 |EARS_TJo.35 |integer | #> |gov_assist |gov_assist |integer | #> |KFASTScr |KFASTScr |integer | #> |MDI.15 |MDI.15 |integer | #> |MDI.6 |MDI.6 |integer | #> |peri_health |peri_health |integer | #> |PmEd2 |PmEd2 |integer | #> |RMomAgeU |RMomAgeU |integer | #> |SWghtLB |SWghtLB |integer | #> #> #> #> #>
Summary of ESETA1 Information<\/caption> #>
#> #> | | ESETA1.6 | ESETA1.15 | ESETA1.24 | ESETA1.35 | ESETA1.58 | #> |:--|:---------------|:---------------|:---------------|:----------------|:----------------| #> | |Min. :-2.8090 |Min. :-3.1010 |Min. :-2.8580 |Min. :-3.24100 |Min. :-2.47800 | #> | |1st Qu.:-0.4193 |1st Qu.:-0.4153 |1st Qu.:-0.4665 |1st Qu.:-0.57050 |1st Qu.:-0.51100 | #> | |Median : 0.3030 |Median : 0.2165 |Median : 0.1445 |Median : 0.07300 |Median : 0.05650 | #> | |Mean : 0.2765 |Mean : 0.2115 |Mean : 0.1154 |Mean : 0.08565 |Mean : 0.07673 | #> | |3rd Qu.: 0.9000 |3rd Qu.: 0.8620 |3rd Qu.: 0.7258 |3rd Qu.: 0.74075 |3rd Qu.: 0.71425 | #> | |Max. : 4.0350 |Max. : 3.4740 |Max. : 3.2840 |Max. : 3.01400 |Max. : 3.17300 | #> #> <\/td> #> <\/tr> #> <\/tbody> #> <\/table> #> #> Table: Summary of StrDif_Tot.58 Information #> #> | Min.| X1st.Qu.| Median| Mean| X3rd.Qu.| Max.| #> |------:|--------:|------:|---------:|--------:|-----:| #> | -0.497| 0.297| 0.48| 0.4897314| 0.689| 1.448| #> Imputation 2 #> USER ALERT: Out of the total of 1292 individuals in the sample, below is the distribution of the 333 (26%) individuals that fall into 2 user-selected exposure histories (out of the 27 total) created from 30th and 60th percentile values for low and high levels of exposure-epoch Infancy, Toddlerhood, Childhood. #> USER ALERT: Please inspect the distribution of the sample across the following exposure histories and ensure there is sufficient spread to avoid extrapolation and low precision: #> #> +---------------+-----+ #> | epoch_history | n | #> +===============+=====+ #> | h-h-h | 218 | #> +---------------+-----+ #> | l-l-l | 115 | #> +---------------+-----+ #> #> Table: Summary of user-selected exposure histories based on exposure main effects Infancy, Toddlerhood, Childhood: #> USER ALERT: Below are the 55 variables spanning 32 unique domains that will be treated as confounding variables for the relation between ESETA1 and StrDif_Tot.58. #> Please inspect this list carefully. It should include all time-varying covariates, time invariant covariates, as well as lagged levels of exposure and outcome variables if they were collected at time points earlier than the outcome time point. #> [1] \"B18Raw.15\" \"B18Raw.24\" \"B18Raw.6\" \"BioDadInHH2\" #> [5] \"caregiv_health\" \"CORTB.15\" \"CORTB.24\" \"CORTB.6\" #> [9] \"DrnkFreq\" \"EARS_TJo.24\" \"EARS_TJo.35\" \"fscore.35\" #> [13] \"gov_assist\" \"HOMEETA1.15\" \"HOMEETA1.24\" \"HOMEETA1.35\" #> [17] \"HOMEETA1.6\" \"HomeOwnd\" \"IBRAttn.15\" \"IBRAttn.24\" #> [21] \"IBRAttn.6\" \"InRatioCor.15\" \"InRatioCor.24\" \"InRatioCor.35\" #> [25] \"InRatioCor.6\" \"KFASTScr\" \"LESMnNeg.24\" \"LESMnNeg.35\" #> [29] \"LESMnPos.24\" \"LESMnPos.35\" \"MDI.15\" \"MDI.6\" #> [33] \"peri_health\" \"PmAge2\" \"PmBlac2\" \"PmEd2\" #> [37] \"PmMrSt2\" \"RHasSO.15\" \"RHasSO.24\" \"RHasSO.35\" #> [41] \"RHasSO.6\" \"RHealth\" \"RMomAgeU\" \"SAAmylase.15\" #> [45] \"SAAmylase.24\" \"SAAmylase.6\" \"SmokTotl\" \"state\" #> [49] \"StrDif_Tot.35\" \"SurpPreg\" \"SWghtLB\" \"TcBlac2\" #> [53] \"WndNbrhood.24\" \"WndNbrhood.35\" \"WndNbrhood.6\" #> #> The following variables are designated as numeric: #> [1] \"ALI_Le.35, CORTB.15, CORTB.24, CORTB.6, ESETA1.15, ESETA1.24, ESETA1.35, ESETA1.58, ESETA1.6, fscore.35, fscore.58, HOMEETA1.15, HOMEETA1.24, HOMEETA1.35, HOMEETA1.58, HOMEETA1.6, IBRAttn.15, IBRAttn.24, IBRAttn.6, ID, InRatioCor.15, InRatioCor.24, InRatioCor.35, InRatioCor.58, InRatioCor.6, LESMnNeg.24, LESMnNeg.35, LESMnPos.24, LESMnPos.35, PmAge2, SAAmylase.15, SAAmylase.24, SAAmylase.6, StrDif_Tot.35, StrDif_Tot.58, WndNbrhood.24, WndNbrhood.35, WndNbrhood.58, WndNbrhood.6, ESETA1.Childhood, ESETA1.Infancy, ESETA1.Toddlerhood\" #> #> The following variables are designated as factors: #> [1] \"BioDadInHH2, DrnkFreq, HomeOwnd, PmBlac2, PmMrSt2, RHasSO.15, RHasSO.24, RHasSO.35, RHasSO.58, RHasSO.6, RHealth, SmokTotl, state, SurpPreg, TcBlac2\" #> #> Table: Other variable types #> #> | |variable |type | #> |:--------------|:--------------|:-------| #> |B18Raw.15 |B18Raw.15 |integer | #> |B18Raw.24 |B18Raw.24 |integer | #> |B18Raw.58 |B18Raw.58 |integer | #> |B18Raw.6 |B18Raw.6 |integer | #> |caregiv_health |caregiv_health |integer | #> |EARS_TJo.24 |EARS_TJo.24 |integer | #> |EARS_TJo.35 |EARS_TJo.35 |integer | #> |gov_assist |gov_assist |integer | #> |KFASTScr |KFASTScr |integer | #> |MDI.15 |MDI.15 |integer | #> |MDI.6 |MDI.6 |integer | #> |peri_health |peri_health |integer | #> |PmEd2 |PmEd2 |integer | #> |RMomAgeU |RMomAgeU |integer | #> |SWghtLB |SWghtLB |integer | #> #> #> #> #>
Summary of ESETA1 Information<\/caption> #>
#> #> | | ESETA1.6 | ESETA1.15 | ESETA1.24 | ESETA1.35 | ESETA1.58 | #> |:--|:---------------|:---------------|:---------------|:----------------|:----------------| #> | |Min. :-2.8090 |Min. :-3.1010 |Min. :-2.8580 |Min. :-3.24100 |Min. :-2.47800 | #> | |1st Qu.:-0.3245 |1st Qu.:-0.4133 |1st Qu.:-0.5020 |1st Qu.:-0.56900 |1st Qu.:-0.53350 | #> | |Median : 0.3440 |Median : 0.2215 |Median : 0.1160 |Median : 0.07400 |Median : 0.08300 | #> | |Mean : 0.3201 |Mean : 0.2022 |Mean : 0.1229 |Mean : 0.08662 |Mean : 0.07949 | #> | |3rd Qu.: 0.9423 |3rd Qu.: 0.8482 |3rd Qu.: 0.7380 |3rd Qu.: 0.74625 |3rd Qu.: 0.70550 | #> | |Max. : 4.0350 |Max. : 3.4740 |Max. : 3.2840 |Max. : 3.01400 |Max. : 3.17300 | #> #> <\/td> #> <\/tr> #> <\/tbody> #> <\/table> #> #> Table: Summary of StrDif_Tot.58 Information #> #> | Min.| X1st.Qu.| Median| Mean| X3rd.Qu.| Max.| #> |------:|--------:|------:|--------:|--------:|-----:| #> | -0.497| 0.29675| 0.472| 0.489219| 0.69325| 1.448| #> [[1]] #> NULL #> #> [[2]] #> NULL"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"p4-3b--required-read-in-wide-data","dir":"Articles","previous_headings":"Phase 0: Preliminary Conceptual & Data Preparation","what":"P4.3b. Required: Read in Wide Data","title":"Workflow: Continuous Exposure","text":"highly recommend first implementing Data Requirements & Preparation Vignette https://istallworthy.github.io/devMSMs/articles/Data_Requirements.html assigning variable, data, one following wide data formats (see Figure 1) use package: single data frame data wide format missing data mids object (output mice::mice()) data imputed wide format list data imputed wide format data frames See Data Preparation vignette detail. first load 2 imputed datasets mice object. data simulated based data Family Life Project (FLP), longitudinal study following 1,292 families representative two geographic areas (three counties North Carolina three counties Pennsylvania) high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). take example exposure economic strain (“ESETA1”) measured 6, 15, 24, 35, 58 months relation outcome behavior problems (“StrDif_Tot”) measured 58 months. (See Data Requirements & Preparation vignette beginning data types, including missing data).","code":"data(\"sim_data_mice\", package = \"devMSMs\") data <- sim_data_mice head(mice::complete(data, 1), n = c(5, 10)) #> ALI_Le.35 B18Raw.15 B18Raw.24 B18Raw.58 B18Raw.6 BioDadInHH2 caregiv_health #> 1 3 1 1 7 16 1 3 #> 2 2 4 -7 7 0 0 0 #> 3 3 6 5 20 -1 0 3 #> 4 4 24 25 17 11 0 3 #> 5 3 -8 -9 17 1 1 2 #> CORTB.15 CORTB.24 CORTB.6 #> 1 -0.227 -0.652 0.742 #> 2 0.149 0.831 0.018 #> 3 1.145 0.033 -0.379 #> 4 0.301 -0.501 0.000 #> 5 -0.247 0.084 0.153"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"p4-4-required-create-msm-object","dir":"Articles","previous_headings":"Phase 0: Preliminary Conceptual & Data Preparation","what":"P4.4 Required: Create MSM Object","title":"Workflow: Continuous Exposure","text":"set seed reproducibility. , inspect MSMS object view confirm variables categorized.","code":"set.seed(1234) obj <- initMSM( data, exposure = c(\"ESETA1.6\", \"ESETA1.15\", \"ESETA1.24\", \"ESETA1.35\", \"ESETA1.58\"), ti_conf = c(\"state\", \"BioDadInHH2\", \"PmAge2\", \"PmBlac2\", \"TcBlac2\", \"PmMrSt2\", \"PmEd2\", \"KFASTScr\", \"RMomAgeU\", \"RHealth\", \"HomeOwnd\", \"SWghtLB\", \"SurpPreg\", \"SmokTotl\", \"DrnkFreq\", \"peri_health\", \"caregiv_health\", \"gov_assist\"), tv_conf = c(\"SAAmylase.6\",\"SAAmylase.15\", \"SAAmylase.24\", \"MDI.6\", \"MDI.15\", \"RHasSO.6\", \"RHasSO.15\", \"RHasSO.24\",\"RHasSO.35\", \"WndNbrhood.6\",\"WndNbrhood.24\", \"WndNbrhood.35\", \"IBRAttn.6\", \"IBRAttn.15\", \"IBRAttn.24\", \"B18Raw.6\", \"B18Raw.15\", \"B18Raw.24\", \"HOMEETA1.6\", \"HOMEETA1.15\", \"HOMEETA1.24\", \"HOMEETA1.35\", \"InRatioCor.6\", \"InRatioCor.15\", \"InRatioCor.24\", \"InRatioCor.35\", \"CORTB.6\", \"CORTB.15\", \"CORTB.24\", \"EARS_TJo.24\", \"EARS_TJo.35\", \"LESMnPos.24\", \"LESMnPos.35\", \"LESMnNeg.24\", \"LESMnNeg.35\", \"StrDif_Tot.35\", \"fscore.35\"), epoch <- c(\"Infancy\", \"Infancy\", \"Toddlerhood\", \"Toddlerhood\", \"Childhood\"), sep = \"\\\\.\" ) print(obj) #> Exposure (continuous): ESETA1.6, ESETA1.15, ESETA1.24, ESETA1.35, ESETA1.58 #> Corresponding epoch: Infancy, Infancy, Toddlerhood, Toddlerhood, Childhood #> Variable and their encodings: #> var type time #> ESETA1.6 exposure 6 #> ESETA1.15 exposure 15 #> ESETA1.24 exposure 24 #> ESETA1.35 exposure 35 #> ESETA1.58 exposure 58 #> SAAmylase.6 tv_conf 6 #> SAAmylase.15 tv_conf 15 #> SAAmylase.24 tv_conf 24 #> MDI.6 tv_conf 6 #> MDI.15 tv_conf 15 #> RHasSO.6 tv_conf 6 #> RHasSO.15 tv_conf 15 #> RHasSO.24 tv_conf 24 #> RHasSO.35 tv_conf 35 #> WndNbrhood.6 tv_conf 6 #> WndNbrhood.24 tv_conf 24 #> WndNbrhood.35 tv_conf 35 #> IBRAttn.6 tv_conf 6 #> IBRAttn.15 tv_conf 15 #> IBRAttn.24 tv_conf 24 #> B18Raw.6 tv_conf 6 #> B18Raw.15 tv_conf 15 #> B18Raw.24 tv_conf 24 #> HOMEETA1.6 tv_conf 6 #> HOMEETA1.15 tv_conf 15 #> HOMEETA1.24 tv_conf 24 #> HOMEETA1.35 tv_conf 35 #> InRatioCor.6 tv_conf 6 #> InRatioCor.15 tv_conf 15 #> InRatioCor.24 tv_conf 24 #> InRatioCor.35 tv_conf 35 #> CORTB.6 tv_conf 6 #> CORTB.15 tv_conf 15 #> CORTB.24 tv_conf 24 #> EARS_TJo.24 tv_conf 24 #> EARS_TJo.35 tv_conf 35 #> LESMnPos.24 tv_conf 24 #> LESMnPos.35 tv_conf 35 #> LESMnNeg.24 tv_conf 24 #> LESMnNeg.35 tv_conf 35 #> StrDif_Tot.35 tv_conf 35 #> fscore.35 tv_conf 35 #> state ti_conf -1 #> BioDadInHH2 ti_conf -1 #> PmAge2 ti_conf -1 #> PmBlac2 ti_conf -1 #> TcBlac2 ti_conf -1 #> PmMrSt2 ti_conf -1 #> PmEd2 ti_conf -1 #> KFASTScr ti_conf -1 #> RMomAgeU ti_conf -1 #> RHealth ti_conf -1 #> HomeOwnd ti_conf -1 #> SWghtLB ti_conf -1 #> SurpPreg ti_conf -1 #> SmokTotl ti_conf -1 #> DrnkFreq ti_conf -1 #> peri_health ti_conf -1 #> caregiv_health ti_conf -1 #> gov_assist ti_conf -1"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"p4-5--recommended-inspect-exposure-histories-and-data","dir":"Articles","previous_headings":"Phase 0: Preliminary Conceptual & Data Preparation","what":"P4.5. Recommended: Inspect Exposure Histories and Data","title":"Workflow: Continuous Exposure","text":"users, highly recommend use helper inspectData() function (complete dataset long wide format imputed data case missingness) summarize exposure, outcome, confounders inspect sample distribution among exposure histories. Based user-specified exposure epochs high low quantile values (continuous exposures), function outputs table showing sample distribution across histories. strongly suggest visually inspecting table revising designation epochs /high low quantile values (continuous exposures) history contains reasonable number participants. gold standard required number per history cell, users guard extrapolation beyond scope data. example, data, using 75th 25th percentile cutoffs, histories represented less two cases thus re-evaluated cutoffs. Users may wish revise epoch designation high low cutoff values, applicable. function conducts summaries history distribution inspection imputed dataset imputed data supplied. required inputs inspectData() : complete data (data frame wide long format, list imputed data frames wide format, mids object), exposure (e.g., “variable”), outcome (e.g., “variable.t”). exposure continuously distributed, user required supply hi_lo_cut values demarcating high low levels. Optional inputs home directory (save.= TRUE), epochs, high/low cutoff values continuous exposures, specification reference comparison histories. helper inspectData() function outputs following files home directory: correlation plot variables dataset, tables exposure outcome descriptive statistics, two summary tables confounders considered time point. , see summaries data types well reasonable cell counts specified histories, imputed dataset.","code":"inspectData(data = data, obj = obj, outcome = outcome, hi_lo_cut = hi_lo_cut, reference = reference, comparison = comparison, verbose = TRUE, save.out = save.out) #> Imputation 1 #> USER ALERT: Out of the total of 1292 individuals in the sample, below is the distribution of the 333 (26%) individuals that fall into 2 user-selected exposure histories (out of the 27 total) created from 30th and 60th percentile values for low and high levels of exposure-epoch Infancy, Toddlerhood, Childhood. #> USER ALERT: Please inspect the distribution of the sample across the following exposure histories and ensure there is sufficient spread to avoid extrapolation and low precision: #> #> +---------------+-----+ #> | epoch_history | n | #> +===============+=====+ #> | h-h-h | 214 | #> +---------------+-----+ #> | l-l-l | 119 | #> +---------------+-----+ #> #> Table: Summary of user-selected exposure histories based on exposure main effects Infancy, Toddlerhood, Childhood: #> USER ALERT: Below are the 55 variables spanning 32 unique domains that will be treated as confounding variables for the relation between ESETA1 and StrDif_Tot.58. #> Please inspect this list carefully. It should include all time-varying covariates, time invariant covariates, as well as lagged levels of exposure and outcome variables if they were collected at time points earlier than the outcome time point. #> [1] \"B18Raw.15\" \"B18Raw.24\" \"B18Raw.6\" \"BioDadInHH2\" #> [5] \"caregiv_health\" \"CORTB.15\" \"CORTB.24\" \"CORTB.6\" #> [9] \"DrnkFreq\" \"EARS_TJo.24\" \"EARS_TJo.35\" \"fscore.35\" #> [13] \"gov_assist\" \"HOMEETA1.15\" \"HOMEETA1.24\" \"HOMEETA1.35\" #> [17] \"HOMEETA1.6\" \"HomeOwnd\" \"IBRAttn.15\" \"IBRAttn.24\" #> [21] \"IBRAttn.6\" \"InRatioCor.15\" \"InRatioCor.24\" \"InRatioCor.35\" #> [25] \"InRatioCor.6\" \"KFASTScr\" \"LESMnNeg.24\" \"LESMnNeg.35\" #> [29] \"LESMnPos.24\" \"LESMnPos.35\" \"MDI.15\" \"MDI.6\" #> [33] \"peri_health\" \"PmAge2\" \"PmBlac2\" \"PmEd2\" #> [37] \"PmMrSt2\" \"RHasSO.15\" \"RHasSO.24\" \"RHasSO.35\" #> [41] \"RHasSO.6\" \"RHealth\" \"RMomAgeU\" \"SAAmylase.15\" #> [45] \"SAAmylase.24\" \"SAAmylase.6\" \"SmokTotl\" \"state\" #> [49] \"StrDif_Tot.35\" \"SurpPreg\" \"SWghtLB\" \"TcBlac2\" #> [53] \"WndNbrhood.24\" \"WndNbrhood.35\" \"WndNbrhood.6\" #> #> The following variables are designated as numeric: #> [1] \"ALI_Le.35, CORTB.15, CORTB.24, CORTB.6, ESETA1.15, ESETA1.24, ESETA1.35, ESETA1.58, ESETA1.6, fscore.35, fscore.58, HOMEETA1.15, HOMEETA1.24, HOMEETA1.35, HOMEETA1.58, HOMEETA1.6, IBRAttn.15, IBRAttn.24, IBRAttn.6, ID, InRatioCor.15, InRatioCor.24, InRatioCor.35, InRatioCor.58, InRatioCor.6, LESMnNeg.24, LESMnNeg.35, LESMnPos.24, LESMnPos.35, PmAge2, SAAmylase.15, SAAmylase.24, SAAmylase.6, StrDif_Tot.35, StrDif_Tot.58, WndNbrhood.24, WndNbrhood.35, WndNbrhood.58, WndNbrhood.6, ESETA1.Childhood, ESETA1.Infancy, ESETA1.Toddlerhood\" #> #> The following variables are designated as factors: #> [1] \"BioDadInHH2, DrnkFreq, HomeOwnd, PmBlac2, PmMrSt2, RHasSO.15, RHasSO.24, RHasSO.35, RHasSO.58, RHasSO.6, RHealth, SmokTotl, state, SurpPreg, TcBlac2\" #> #> Table: Other variable types #> #> | |variable |type | #> |:--------------|:--------------|:-------| #> |B18Raw.15 |B18Raw.15 |integer | #> |B18Raw.24 |B18Raw.24 |integer | #> |B18Raw.58 |B18Raw.58 |integer | #> |B18Raw.6 |B18Raw.6 |integer | #> |caregiv_health |caregiv_health |integer | #> |EARS_TJo.24 |EARS_TJo.24 |integer | #> |EARS_TJo.35 |EARS_TJo.35 |integer | #> |gov_assist |gov_assist |integer | #> |KFASTScr |KFASTScr |integer | #> |MDI.15 |MDI.15 |integer | #> |MDI.6 |MDI.6 |integer | #> |peri_health |peri_health |integer | #> |PmEd2 |PmEd2 |integer | #> |RMomAgeU |RMomAgeU |integer | #> |SWghtLB |SWghtLB |integer | #> #> #> #> #>
Summary of ESETA1 Information<\/caption> #>
#> #> | | ESETA1.6 | ESETA1.15 | ESETA1.24 | ESETA1.35 | ESETA1.58 | #> |:--|:---------------|:---------------|:---------------|:----------------|:----------------| #> | |Min. :-2.8090 |Min. :-3.1010 |Min. :-2.8580 |Min. :-3.24100 |Min. :-2.47800 | #> | |1st Qu.:-0.4193 |1st Qu.:-0.4153 |1st Qu.:-0.4665 |1st Qu.:-0.57050 |1st Qu.:-0.51100 | #> | |Median : 0.3030 |Median : 0.2165 |Median : 0.1445 |Median : 0.07300 |Median : 0.05650 | #> | |Mean : 0.2765 |Mean : 0.2115 |Mean : 0.1154 |Mean : 0.08565 |Mean : 0.07673 | #> | |3rd Qu.: 0.9000 |3rd Qu.: 0.8620 |3rd Qu.: 0.7258 |3rd Qu.: 0.74075 |3rd Qu.: 0.71425 | #> | |Max. : 4.0350 |Max. : 3.4740 |Max. : 3.2840 |Max. : 3.01400 |Max. : 3.17300 | #> #> <\/td> #> <\/tr> #> <\/tbody> #> <\/table> #> #> Table: Summary of StrDif_Tot.58 Information #> #> | Min.| X1st.Qu.| Median| Mean| X3rd.Qu.| Max.| #> |------:|--------:|------:|---------:|--------:|-----:| #> | -0.497| 0.297| 0.48| 0.4897314| 0.689| 1.448| #> Imputation 2 #> USER ALERT: Out of the total of 1292 individuals in the sample, below is the distribution of the 333 (26%) individuals that fall into 2 user-selected exposure histories (out of the 27 total) created from 30th and 60th percentile values for low and high levels of exposure-epoch Infancy, Toddlerhood, Childhood. #> USER ALERT: Please inspect the distribution of the sample across the following exposure histories and ensure there is sufficient spread to avoid extrapolation and low precision: #> #> +---------------+-----+ #> | epoch_history | n | #> +===============+=====+ #> | h-h-h | 218 | #> +---------------+-----+ #> | l-l-l | 115 | #> +---------------+-----+ #> #> Table: Summary of user-selected exposure histories based on exposure main effects Infancy, Toddlerhood, Childhood: #> USER ALERT: Below are the 55 variables spanning 32 unique domains that will be treated as confounding variables for the relation between ESETA1 and StrDif_Tot.58. #> Please inspect this list carefully. It should include all time-varying covariates, time invariant covariates, as well as lagged levels of exposure and outcome variables if they were collected at time points earlier than the outcome time point. #> [1] \"B18Raw.15\" \"B18Raw.24\" \"B18Raw.6\" \"BioDadInHH2\" #> [5] \"caregiv_health\" \"CORTB.15\" \"CORTB.24\" \"CORTB.6\" #> [9] \"DrnkFreq\" \"EARS_TJo.24\" \"EARS_TJo.35\" \"fscore.35\" #> [13] \"gov_assist\" \"HOMEETA1.15\" \"HOMEETA1.24\" \"HOMEETA1.35\" #> [17] \"HOMEETA1.6\" \"HomeOwnd\" \"IBRAttn.15\" \"IBRAttn.24\" #> [21] \"IBRAttn.6\" \"InRatioCor.15\" \"InRatioCor.24\" \"InRatioCor.35\" #> [25] \"InRatioCor.6\" \"KFASTScr\" \"LESMnNeg.24\" \"LESMnNeg.35\" #> [29] \"LESMnPos.24\" \"LESMnPos.35\" \"MDI.15\" \"MDI.6\" #> [33] \"peri_health\" \"PmAge2\" \"PmBlac2\" \"PmEd2\" #> [37] \"PmMrSt2\" \"RHasSO.15\" \"RHasSO.24\" \"RHasSO.35\" #> [41] \"RHasSO.6\" \"RHealth\" \"RMomAgeU\" \"SAAmylase.15\" #> [45] \"SAAmylase.24\" \"SAAmylase.6\" \"SmokTotl\" \"state\" #> [49] \"StrDif_Tot.35\" \"SurpPreg\" \"SWghtLB\" \"TcBlac2\" #> [53] \"WndNbrhood.24\" \"WndNbrhood.35\" \"WndNbrhood.6\" #> #> The following variables are designated as numeric: #> [1] \"ALI_Le.35, CORTB.15, CORTB.24, CORTB.6, ESETA1.15, ESETA1.24, ESETA1.35, ESETA1.58, ESETA1.6, fscore.35, fscore.58, HOMEETA1.15, HOMEETA1.24, HOMEETA1.35, HOMEETA1.58, HOMEETA1.6, IBRAttn.15, IBRAttn.24, IBRAttn.6, ID, InRatioCor.15, InRatioCor.24, InRatioCor.35, InRatioCor.58, InRatioCor.6, LESMnNeg.24, LESMnNeg.35, LESMnPos.24, LESMnPos.35, PmAge2, SAAmylase.15, SAAmylase.24, SAAmylase.6, StrDif_Tot.35, StrDif_Tot.58, WndNbrhood.24, WndNbrhood.35, WndNbrhood.58, WndNbrhood.6, ESETA1.Childhood, ESETA1.Infancy, ESETA1.Toddlerhood\" #> #> The following variables are designated as factors: #> [1] \"BioDadInHH2, DrnkFreq, HomeOwnd, PmBlac2, PmMrSt2, RHasSO.15, RHasSO.24, RHasSO.35, RHasSO.58, RHasSO.6, RHealth, SmokTotl, state, SurpPreg, TcBlac2\" #> #> Table: Other variable types #> #> | |variable |type | #> |:--------------|:--------------|:-------| #> |B18Raw.15 |B18Raw.15 |integer | #> |B18Raw.24 |B18Raw.24 |integer | #> |B18Raw.58 |B18Raw.58 |integer | #> |B18Raw.6 |B18Raw.6 |integer | #> |caregiv_health |caregiv_health |integer | #> |EARS_TJo.24 |EARS_TJo.24 |integer | #> |EARS_TJo.35 |EARS_TJo.35 |integer | #> |gov_assist |gov_assist |integer | #> |KFASTScr |KFASTScr |integer | #> |MDI.15 |MDI.15 |integer | #> |MDI.6 |MDI.6 |integer | #> |peri_health |peri_health |integer | #> |PmEd2 |PmEd2 |integer | #> |RMomAgeU |RMomAgeU |integer | #> |SWghtLB |SWghtLB |integer | #> #> #> #> #>
Summary of ESETA1 Information<\/caption> #>
#> #> | | ESETA1.6 | ESETA1.15 | ESETA1.24 | ESETA1.35 | ESETA1.58 | #> |:--|:---------------|:---------------|:---------------|:----------------|:----------------| #> | |Min. :-2.8090 |Min. :-3.1010 |Min. :-2.8580 |Min. :-3.24100 |Min. :-2.47800 | #> | |1st Qu.:-0.3245 |1st Qu.:-0.4133 |1st Qu.:-0.5020 |1st Qu.:-0.56900 |1st Qu.:-0.53350 | #> | |Median : 0.3440 |Median : 0.2215 |Median : 0.1160 |Median : 0.07400 |Median : 0.08300 | #> | |Mean : 0.3201 |Mean : 0.2022 |Mean : 0.1229 |Mean : 0.08662 |Mean : 0.07949 | #> | |3rd Qu.: 0.9423 |3rd Qu.: 0.8482 |3rd Qu.: 0.7380 |3rd Qu.: 0.74625 |3rd Qu.: 0.70550 | #> | |Max. : 4.0350 |Max. : 3.4740 |Max. : 3.2840 |Max. : 3.01400 |Max. : 3.17300 | #> #> <\/td> #> <\/tr> #> <\/tbody> #> <\/table> #> #> Table: Summary of StrDif_Tot.58 Information #> #> | Min.| X1st.Qu.| Median| Mean| X3rd.Qu.| Max.| #> |------:|--------:|------:|--------:|--------:|-----:| #> | -0.497| 0.29675| 0.472| 0.489219| 0.69325| 1.448| #> [[1]] #> NULL #> #> [[2]] #> NULL"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"phase-1-confounder-adjustment","dir":"Articles","previous_headings":"","what":"PHASE 1: Confounder Adjustment","title":"Workflow: Continuous Exposure","text":"goal first phase minimize associations confounders exposure using IPTW balancing weights. strongly advise user carefully inspect weights formula ensure weights created evaluated appropriately step. first create comprehensive, full weights formulas relating exposure confounders time point using createFormulas() function (type = “full”). step creates full formulas containing measured confounding variables exposure time point, including time-invariant confounders lagged time-varying confounders. code automatically excludes time-varying confounders contemporaneous time point given decisively differentiated mediators balanced (Thoemmes & Ong, 2016), although can modified user strong reason believe concurrent variable truly confounder (see ). user wishes specify interactions confounders weights formulas, need manually create data listing . Keep mind interactions include factor variables decomposed interactions factor level. required input create full weights formulas using createFormulas() function : MSM object (e.g., “obj”) setting type = “full”. Optional inputs create full weights formulas using createFormulas() function follows. user may specify list custom formulas specifying custom list formulas, one exposure time point (e.g., “exposure.time ~ variable.time + variable +…”) formula format. recommend first running createFormulas() function without custom formulas (custom = NULL) using output model required format custom formulas. createFormulas() function automatically check custom formulas ensure correctly formatted formula exposure time point exposure dependent variable. However, user responsible ensuring custom formulas contain appropriate confounders formula type generating. Please see Customize weights formulas vignette detail customize formulas. chose create custom formulas instead use createFormulas() make automatically example. first create full formulas. function returns list formulas, one exposure time point. inspect . full formula contains time invariant confounders well lagged time-varying confounders time point. inspection important step, verify appropriate confounders present formula. inspect formulas . next step examines initial imbalance, strongly exposure relates confounder time point, measured confounders prior weighting using assessBalance() function. function draws calcBalStats() function (see Assessing Balance Time-Varying Exposure section accompanying manuscript). assessBalance() function outputs balance statistics (correlations continuous exposures standardized mean differences binary exposures) relating exposure time point confounders table well plots. function also provides summary balance statistics averaging across time points (imputed datasets supplied). required inputs using assessBalance() function conduct pre-balance testing : data (data frame, mids object, list imputed datasets dataframes wide format) MSM object (e.g., “obj”). Please see Assessing Balance Time-Varying Exposures vignette detail function calculates balance. optional inputs follows. user may specify balance_thresh, threshold(s) determining confounder balance, one two ways. * First, can provide single number value (0-1) absolute value standardized balance statistic (either correlation continuous exposures standardized group mean difference binary exposures) exposure confounders confounders considered balanced, considered imbalanced (default 0.1; Stuart, 2010). Second, users may make priori assertion confounders important others based theory existing research. case, can provide two numbers represent balance thresholds important less important confounders, respectively. user supplies two balance thresholds, must also supply list important confounders (time-varying: “variable.t”, time invariant: “variable”) imp_conf field. balance threshold specification kept consistent throughout use workflow. , recommended, provide two balancing thresholds identify income parent education important confounders relation economic strain behavior problems. create prebalance statistics . function returns list (one entry per imputed dataset, applicable), contains table exposure time point. able contains confounders time point, associated standardized balance statistics relating confounder exposure time point, user-supplied balance threshold, binary indicator whether confounder balanced. shown , can print, summarize, plot several versions balance statistics option supply save.save viewed output home directory. functions takes optional t field view balance statistics one exposure time points. t takes integer value 1 total number time points. specified, output shown exposure time points. imputed data, functions takes option field can used view balance one imputed data set. specified, output shown averaged across absolute values balance statistics imputed datasets. can useful average across imputed datasets get overall sense balance. non-imputed data, specify . can view prebalance statistics single imputed dataset (e.g., first imputed dataset), using field. Note supply t integers 1 however number time points exposure measured. example, first time point measures ESETA1 6 months corresponds t = 1. , can view prebalance statistics averaged across imputed data sets different time points specifying . can also used view balance statistics data imputed. can also summarize assessBalance() output view average remaining relation confounders exposure well summary table showing total number imbalanced confounders exposure time point. can view one imputed dataset averaged across . Averaging across imputed datasets, see xx confounders imbalanced respect economic strain exposure respective balance threshold. Lastly, can plot balance summary one time points, one imputed dataset averaged across . dotted red lines denote balance thresholds points colored labeled red denote confounders imbalanced relation respective balance thresholds. love plots depict standardized associations confounder exposure exposure time point, vertical red dashed lines indicating balance thresholds. Imbalanced confounders shown red variable name labels. goal second step create shortened, parsimonious weights formulas determining optimal IPTW weighting method successfully reduces imbalance data. First, create shorter, parsimonious weights formulas relating exposure confounders time point using createFormulas() function (type = “short”). exposure time point, formulas contain time invariant confounders well time-varying confounders t-1 lag. logic balancing confounders recent prior time point (t-1 ) may achieve balance levels distal time points, given stability many confounders time. Importantly, empirically assess relax assumption needed subsequent steps (Steps 3a-b). required input create shortened weights formulas using createFormulas() function : MSM object (e.g., ‘obj’) setting type = “short”. addition optional input outlined Step 1a, user also option specify keep_conf, list time-varying confounders (e.g., “variable.t”) always retain lagged confounders shortened formulas. user may use argument retain specific time-varying confounders otherwise excluded step occur lags greater t-1 formula. create short formulas . get list entries containing formula exposure time point. inspect make sure contain time-varying covariates lag one prior exposure time point. formulas considerably shorter full formulas. instance, 58-month exposure time point, formula contains time invariant confounders time-varying confounders 35-month time point. created shorter, simplified weights formulas, now create first round IPTW balancing weights (Thoemmes & Ong, 2016) using createWeights() function, shortened weights formulas, available weighting methods. function calls weightitMSM() function WeightIt package (Greifer, 2023) uses time-specific formulas create weights time point automatically multiplying together create one weight per person. Weights stabilized, recommended (Cole & Hernan, 2008; Thoemmes & Ong, 2016), distributions can saved inspection. required inputs using createWeights() function create initial around IPTW balancing weights : MSM object (e.g, ‘obj’), complete data (data frame, mids object, list imputed datasets dataframes wide format), short formulas (see Step 2a). specify short formulas . optional inputs follows. method, provide one following methods calculating balancing weights using weightitMSM() methods validated longitudinal exposures: “cbps” (Covariate Balancing Propensity Score weighting), “gbm” (generalized boosted model), “glm” (generalized linear model; default), “super” (SuperLearner via SuperLearner package; Polley et al., 2013). information can found WeightIt documentation. begin specifying CBPS weighting method. createWeights() function can also take number additional arguments accapted weightitMSM() function (e.g., ‘criterion’, distribution’, ‘SL.library’). package defaults correspond weightIt defaults. user selects SuperLearner (“super”) method, default super learner libraries (‘SL.library’) “SL.glm” “SL.glm.interaction” alternative library can entered input createWeights function. binary exposures, “cbps” method allows specify estimand either ATE, ATT, ATC. “glm”, “super”, “bart” can specify ATE, ATT, ATC, ATO, ATM, ATOS. “gbm”, can specify ATE, ATT, ATC, ATO, ATM. default estimand binary exposures ATE. advise interested user review WeightIt documentation information additional optional arguments available weighting methods. Users option specify verbose = TRUE view information weights creation. function returns list weights objects form WeightItMSM output (entry imputed dataset appropriate). , create IPTW weights using default CBPS method. take run. Note save weights (supplying save.= TRUE custom file name createWeights() home directory initMWM()), function outputs file path use reading weights future use. can useful given weighting methods can take long time run, especially imputed datasets. previously saved CBPS weights, read instead re-creating . Given separate set weights created imputed dataset, conduct inspections imputed dataset. First, view basic statistics CBPS weights given imputed dataset. , note median weight value 0.77 (SD= 1.18) fairly extensive range 0 - 9. Next, look inside output summarize weighting process (drawing summary method weightIt, given imputed dataset. summary also provides effective sample size, sample size results applying weights original sample size, time point. Weighting can often result effective weighted sample size smaller orignal sample size something keep mind evaluating weighting methods. example, see original 1,292 sample reduced 605 upon weighting CBPS method. view distribution plot weights one imputed dataset. user option supply save.save plots home directory. shown , distribution heavy right tail (typical real-world data). right tail distribution represents individuals experienced statistically unexpected levels exposure given levels confounders. create inspect IPTW balancing weights using available methods order evaluate compare performance subsequent steps. , summarize plot averaging across imputed datasets order get sense overall performance. Example inspections first imputed dataset. shown , GLM method produces higher median 1.27 much greater range weights. GBM method produces similar mean GLM similarly large range (0-216). bart method similar median even larger range (0-945). super method produces similar median range 0-270. Next, evaluate well weights created using different weighting methods reduced imbalance using assessBalance() function. function calls calcBalStats() function using short formulas specifies balance statistics calculated using IPTW weights supplied. required inputs using assessBalance() function assess balance first round IPTW weights : complete data (data frame, mids object, list imputed datasets dataframes wide format), MSM object (e.g., ‘obj’), weights just created. optional inputs described Step 1b. assessBalance() function returns data frame (list) balance statistics, balance thresholds, binary balanced tag (1 = balanced, 0 = imbalanced) confounder relevant exposure time point. function outputs balance statistics (correlations continuous exposures standardized mean differences binary exposures) relating exposure time point confounders table well plots. function also provides summary balance statistics averaging across time points (imputed datasets supplied). retain optional important confounders (imp_conf) balance threshold (balance_thresh) specified earlier. first assess balance CBPS weighting method. function returns list balance statistics expsoure time point, one entry per imputed dataset (applicable). assessing balance using imputed data, can average across imputed datasets view overall summary performance method. can also examine imputed dataset individually. summarize CBPS balance statistics across imputed datasets examine balance first imputed dataset. user option supply save.save printed output home directory. Averaging across imputed datasets, find 2 imbalanced confounders remaining (35-month exposure time point) 241, median remaining correlation 0.06 maximum 0.07. can visualize imbalance love plots, averaging across imputed datasets, exposure time point (first time point shown ). can also plot balance given imputed datset. can see income 6 15 months remains imbalanced 4th (35-month) time point. can inspect balance statistics confounder relation exposure time points one individually, either averaging across imputed datasets one individually. user option supply save.save printed output home directory. , show example balance statistics first time point, averaged across imputed datasets. shown , two remaining imbalanced confounders related exposure correlation values 0.065 0.061. , assess balance weighting method comparing . summaries, identify optimal weighting method dataset, one yields best confounder balance. , can consider several criteria. note exist gold-standard, hard fast rules identifying optimal balance (especially using imputed data). However, can draw following guidance: Fewest imbalanced confounders remaining relative user-specified balance threshold(s) (summary output); Lowest median absolute balance statistic, across confounders time points, reflecting best overall attenuation confounding (summary output); Lowest maximum absolute balance statistic, across confounders time points (imputed datasets, applicable), indicating weakest remaining relation exposure confounder least balanced confounder (summary output); Reasonable effective sample size following weighting (imputed datasets, applicable), indicating reasonable power detect effects (weightiIt summary output). first three, examine summaries weighting methods. , find CBPS method fewest imbalanced confounders (2), lowest median balance statistic, lowest max balance statistic. examine fourth criterion, use weightIt summary method examine effective sample sizes (“Weighted”) compared orignal sample size (“Unweighted”) across weighting methods. just first imputed dataset. , also find CBPS method yields highest effective sample size 605. inspections, identify best performing weighting method CBPS. goal next step closely inspect balance reults best-performing weights created shortened weights formulas, add shortened formulas time-varying confounders lags > t-1 successfully balanced, create final round weights. next inspect balance produced weights created previous step best-performing weights method (.e., using SuperLearner method). , revisit assumption balancing proximal time-varying confounders (t-1) confers balance confounders distal prior time points (t- 1+). closely inspect balance CBPS weights, averaged across imputed datasets. real-world data, often difficult fully balance many confounding variables, especially across time. user find confounders remain imbalanced, can skip Step 3d. Given identified remaining imbalanced confounders, proceed Step 3b. Subsequently, update shortened formulas include time-varying confounders (t-1 +) successfully balanced full formulas, shown . , create final round weights formulas using createFormulas() function (setting type = “update” providing balance statistics bal_stats field). createFormulas() function draws user-provided balance statistics automatically identify add formulas exposure time point time-varying confounders lags greater 1 remain imbalanced weighting. function displays weights formula console message user time-varying confounders added. required input update shortened weights formulas using createFormulas() function : MSM object (e.g., “obj”), setting type = “update”, providing bal_stats balance statistics just created Step 3a. optional input detailed Step 1a. function returns list weights formulas labeled type, exposure, outcome, exposure time point. , update short formulas using balance statistics best-performing weights. inspect new formulas make sure imbalanced covariates added appropriate formulas. user option supply save.save printed output home directory. shown , income 6 15 months (“InRatioCor.6” “InRatioCor.15”) added 35-month weights formula. originally weights formula given lags greater t -1. remaining imbalance suggests achieving balance 24-month income successfully balance prior levels income. use weights formulas recreate CBPS weights effort achieve greatest reduction balance. Next, create final set balancing weights using optimal weighting method identified Step 2c updated formulas previous step using createWeights() function (method = “…’), SuperLearner method optimal weighting method identified Step 2c. function calls weightitMSM() function WeightIt package (Greifer, 2023) uses time-specific formulas create weights time point automatically multiplying together create one weight per person. Weights stabilized, recommended (Cole & Hernan, 2008; Thoemmes & Ong, 2016) distributions saved home directory inspection. required inputs using createWeights() function create final round IPTW balancing weights using updated short weights formulas : complete data (data frame, mids object, list imputed datasets dataframes wide format), MSM object (e.g., “obj”), best-performing weights method, updated formulas (see Step 3a). optional input createWeights() function listed Step 2b. function returns list form WeightItMSM output. , use updated formulas CPBS weighting method create final round IPTW balancing weights. inspect final weights imputed dataset. user option supply save.save printed plot output home directory. shown , weights median value 0.77 range 0-9, . next step trim (.e., winsorize) final set weights eliminate heavy right tail distribution using trimWeights() function. function draws Weightit package (Griefer, 2023) plots summarizes trimmed weights. function outputs list trimmed weights either single nested list (labeled “0” data data frame format) nested lists imputed dataset (data imputed). required input trimWeights() function final weights just created. optional input allows user specify quantile value (0-1; default 0.95) weights replaced weight value quantile, reduce heavy right tail. , use default 95th percentile trimming weights. trim final weights . function returns list weights objects, containing trimmed weights, form weightitMSM output ( one entry per imputed dataset, applicable). entry also specifies quantile value weights trimmed. inspect trimmed weights one imputed datasets . user option supply save.save plots home directory. shown , weights still median value 0.77 smaller standard deviation range now goes 0-4. create trimmed weights using two quantile values + /- ~0.3 previously chosen quantile value, order conduct recommended sensitivity analyses subsequent steps. first create weights 92nd quantile value. Trimming 92nd quantile preserves median 0.77 even smaller standard deviation range. 98th quantile value. Trimming instead 98th quantile produces larger standard deviation range. find comparable descriptive statistics sets weights, upper range value varying quantile cutoff. assess consequences differences (e.g., different ranges) subsequent steps. created trimmed final set IPTW balancing weights, next step conduct final evaluation well reduce imbalance. assess performance final trimmed untrimmed weights using assessBalance() function. required inputs using assessBalance() function assess final, trimmed weights achieve balance full formulas : complete data (data frame, mids object, list imputed datasets dataframes wide format), MSM object (e.g., “obj”), weights. optional inputs assessBalance() function detailed Step 1b. , assess balance trimmed weights. Assess balance trimmed weights Summarize inspect. shown , trimmed weights result one imbalanced confounder relation exposure 15 months effective sample size 719. assess balance untrimmed weights Summarize inspect see non-trimmed weights result imbalanced confounders effective sample size 611. scenario, given , trimmed weights, imbalanced confounder (income 6 months) related exposure -0.051 trimmed weights yield higher effective sample size, proceed trimmed weights. summarize final balance statistics, averaging across imputed datasets. user option supply save.save plot output home directory. outcome modeling step (Step 5), users option include remaining imbalanced confounders time invariant covariates final outcome model. case, manually list imbalanced confounders time invariant assign covariates. Subsequently, also assess balance weights trimmed two additional quantile values assess whether final balance assessment sensitive trim value. first assess balance weights trimmed 93rd quantile value. , similarly find income 6 months imbalanced respect exposure 15 months (albeit slighter stronger correlation main analyses). next assess balance weights trimmed 98th quantile value. , find remaining imbalanced confounders (similar untrimmed results).","code":"type <- \"full\" full_formulas <- createFormulas(obj = obj, type = type, save.out = save.out) print(full_formulas) #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 6, the full formula for ESETA1.6 is: #> ESETA1.6 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 15, the full formula for ESETA1.15 is: #> ESETA1.15 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + MDI.6 + RHasSO.6 + WndNbrhood.6 + IBRAttn.6 + B18Raw.6 + HOMEETA1.6 + InRatioCor.6 + CORTB.6 + ESETA1.6 #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 24, the full formula for ESETA1.24 is: #> ESETA1.24 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + SAAmylase.15 + MDI.6 + MDI.15 + RHasSO.6 + RHasSO.15 + WndNbrhood.6 + IBRAttn.6 + IBRAttn.15 + B18Raw.6 + B18Raw.15 + HOMEETA1.6 + HOMEETA1.15 + InRatioCor.6 + InRatioCor.15 + CORTB.6 + CORTB.15 + ESETA1.6 + ESETA1.15 #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 35, the full formula for ESETA1.35 is: #> ESETA1.35 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + SAAmylase.15 + SAAmylase.24 + MDI.6 + MDI.15 + RHasSO.6 + RHasSO.15 + RHasSO.24 + WndNbrhood.6 + WndNbrhood.24 + IBRAttn.6 + IBRAttn.15 + IBRAttn.24 + B18Raw.6 + B18Raw.15 + B18Raw.24 + HOMEETA1.6 + HOMEETA1.15 + HOMEETA1.24 + InRatioCor.6 + InRatioCor.15 + InRatioCor.24 + CORTB.6 + CORTB.15 + CORTB.24 + EARS_TJo.24 + LESMnPos.24 + LESMnNeg.24 + ESETA1.6 + ESETA1.15 + ESETA1.24 #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 58, the full formula for ESETA1.58 is: #> ESETA1.58 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + SAAmylase.15 + SAAmylase.24 + MDI.6 + MDI.15 + RHasSO.6 + RHasSO.15 + RHasSO.24 + RHasSO.35 + WndNbrhood.6 + WndNbrhood.24 + WndNbrhood.35 + IBRAttn.6 + IBRAttn.15 + IBRAttn.24 + B18Raw.6 + B18Raw.15 + B18Raw.24 + HOMEETA1.6 + HOMEETA1.15 + HOMEETA1.24 + HOMEETA1.35 + InRatioCor.6 + InRatioCor.15 + InRatioCor.24 + InRatioCor.35 + CORTB.6 + CORTB.15 + CORTB.24 + EARS_TJo.24 + EARS_TJo.35 + LESMnPos.24 + LESMnPos.35 + LESMnNeg.24 + LESMnNeg.35 + StrDif_Tot.35 + fscore.35 + ESETA1.6 + ESETA1.15 + ESETA1.24 + ESETA1.35 balance_thresh <- c(0.05, 0.1) imp_conf <- c(\"InRatioCor.6\", \"InRatioCor.15\", \"InRatioCor.24\", \"InRatioCor.35\", \"PmEd2\") prebalance_stats <- assessBalance(obj = obj, data = data, balance_thresh = balance_thresh, imp_conf = imp_conf, save.out = save.out) print(prebalance_stats, i = 1, t = 1, save.out = save.out) #> #> +----------+----------------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +==========+================+===============+============+==========+ #> | ESETA1.6 | state_1 | 0.13324 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | BioDadInHH2_1 | -0.13865 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmAge2 | -0.06481 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmBlac2_1 | 0.17598 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | TcBlac2_1 | 0.20129 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmMrSt2_1 | -0.14101 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmEd2 | -0.23888 | 0.05 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | KFASTScr | -0.18058 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RMomAgeU | -0.11428 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_1 | -0.08223 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_2 | -0.01624 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_3 | 0.07892 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_4 | 0.10536 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_5 | 0.0588 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_1 | -0.13681 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_2 | -0.0364 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_3 | 0.09405 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_4 | 0.15808 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SWghtLB | -0.09514 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SurpPreg_1 | 0.10405 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_1 | 0.00731 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_2 | 0.04693 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_3 | 0.04867 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | DrnkFreq_1 | -0.0182 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | DrnkFreq_2 | 0.02272 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | peri_health | 0.02042 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | caregiv_health | 0.14314 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | gov_assist | 0.31012 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> #> Table: Balance Stats for Exposure Time 1 for imputation (1) print(prebalance_stats, t = 1, save.out = save.out) #> #> +----------+----------------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +==========+================+===============+============+==========+ #> | ESETA1.6 | state_1 | 0.12646 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | BioDadInHH2_1 | -0.13395 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmAge2 | -0.0525 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmBlac2_1 | 0.18314 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | TcBlac2_1 | 0.20776 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmMrSt2_1 | -0.12948 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmEd2 | -0.23456 | 0.05 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | KFASTScr | -0.17153 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RMomAgeU | -0.10139 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_1 | -0.07479 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_2 | -0.01536 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_3 | 0.07441 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_4 | 0.10334 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_5 | 0.05769 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_1 | -0.13942 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_2 | -0.04196 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_3 | 0.10162 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_4 | 0.15135 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SWghtLB | -0.09639 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SurpPreg_1 | 0.10475 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_1 | 0.0135 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_2 | 0.04304 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_3 | 0.05533 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | DrnkFreq_1 | -0.00539 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | DrnkFreq_2 | 0.01557 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | peri_health | 0.02454 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | caregiv_health | 0.15074 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | gov_assist | 0.30943 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> #> Table: Balance Stats for Exposure Time 1 Averaging Across Imputed Datasets summary(prebalance_stats, i = 1, save.out = save.out) #> USER ALERT: For imputation 1: As shown below, 55 out of 241 (22.8%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.13 (max: 0.31): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 14 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 11 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 11 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 11 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 8 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates for imputation 1 summary(prebalance_stats, save.out = save.out) #> USER ALERT: Averaging across imputated datasets: As shown below, 60 out of 241 (24.9%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.13 (max: 0.31): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 15 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 12 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 11 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 14 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 8 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaged Across Imputed Datasets plot(prebalance_stats, i = 1, t = 1, save.out = save.out) plot(prebalance_stats, t = 1, save.out = save.out) type <- \"short\" short_formulas <- createFormulas(obj = obj, type = type, save.out = save.out) print(short_formulas) #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 6, the short formula for ESETA1.6 is: #> ESETA1.6 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 15, the short formula for ESETA1.15 is: #> ESETA1.15 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + MDI.6 + RHasSO.6 + WndNbrhood.6 + IBRAttn.6 + B18Raw.6 + HOMEETA1.6 + InRatioCor.6 + CORTB.6 + ESETA1.6 #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 24, the short formula for ESETA1.24 is: #> ESETA1.24 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.15 + MDI.15 + RHasSO.15 + IBRAttn.15 + B18Raw.15 + HOMEETA1.15 + InRatioCor.15 + CORTB.15 + ESETA1.15 #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 35, the short formula for ESETA1.35 is: #> ESETA1.35 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.24 + RHasSO.24 + WndNbrhood.24 + IBRAttn.24 + B18Raw.24 + HOMEETA1.24 + InRatioCor.24 + CORTB.24 + EARS_TJo.24 + LESMnPos.24 + LESMnNeg.24 + ESETA1.24 #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 58, the short formula for ESETA1.58 is: #> ESETA1.58 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + RHasSO.35 + WndNbrhood.35 + HOMEETA1.35 + InRatioCor.35 + EARS_TJo.35 + LESMnPos.35 + LESMnNeg.35 + StrDif_Tot.35 + fscore.35 + ESETA1.35 formulas <- short_formulas method <- \"cbps\" weights.cbps <- createWeights(obj = obj, data = data, method = method, formulas = formulas, verbose = TRUE, maxit = 1, # just for testing to speed up save.out = save.out) #> initial value 0.903706 #> final value 0.463025 #> stopped after 2 iterations #> Warning: The optimziation failed to converge; try again with a higher value of #> `maxit`. #> initial value 0.585184 #> final value 0.381680 #> stopped after 2 iterations #> Warning: The optimziation failed to converge; try again with a higher value of #> `maxit`. #> #> For imputation 1 and the `cbps` weighting method, the median weight value is 0.68 (SD = 1.01; range = 0-11). # weights.cbps <- readRDS('file_path_to_saved_weights.rds') print(weights.cbps, i = 1) #> #> For imputation 1 and the `cbps` weighting method, the median weight value is 0.68 (SD = 1.01; range = 0-11). summary(weights.cbps[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 10.69 #> #> - Units with the 5 most extreme weights: #> #> 798 1145 737 1235 877 #> all 7.7683 8.696 9.0943 9.1878 10.69 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.131 0.654 0.418 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 567.09 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 10.69 #> #> - Units with the 5 most extreme weights: #> #> 798 1145 737 1235 877 #> all 7.7683 8.696 9.0943 9.1878 10.69 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.131 0.654 0.418 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 567.09 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 10.69 #> #> - Units with the 5 most extreme weights: #> #> 798 1145 737 1235 877 #> all 7.7683 8.696 9.0943 9.1878 10.69 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.131 0.654 0.418 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 567.09 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 10.69 #> #> - Units with the 5 most extreme weights: #> #> 798 1145 737 1235 877 #> all 7.7683 8.696 9.0943 9.1878 10.69 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.131 0.654 0.418 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 567.09 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 10.69 #> #> - Units with the 5 most extreme weights: #> #> 798 1145 737 1235 877 #> all 7.7683 8.696 9.0943 9.1878 10.69 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.131 0.654 0.418 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 567.09 plot(weights.cbps, i = 1, save.out = save.out) method <- \"glm\" weights.glm <- createWeights(obj = obj, data = data, method = method, formulas = formulas, save.out = save.out) print(weights.glm, i = 1) #> #> For imputation 1 and the `glm` weighting method, the median weight value is 1.27 (SD = 10.03; range = 0-271). summary(weights.glm[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 271.3462 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.1877 58.3054 63.4626 178.9983 271.3462 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.824 0.96 1.144 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 82.74 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 271.3462 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.1877 58.3054 63.4626 178.9983 271.3462 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.824 0.96 1.144 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 82.74 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 271.3462 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.1877 58.3054 63.4626 178.9983 271.3462 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.824 0.96 1.144 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 82.74 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 271.3462 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.1877 58.3054 63.4626 178.9983 271.3462 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.824 0.96 1.144 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 82.74 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 271.3462 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.1877 58.3054 63.4626 178.9983 271.3462 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.824 0.96 1.144 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 82.74 plot(weights.glm, i = 1, save.out = save.out) # method <- \"gbm\" # # weights.gbm <- createWeights(obj = obj, # data = data, # method = method, # formulas = formulas, # save.out = save.out) # # print(weights.gbm, # i = 1) # # summary(weights.gbm[[1]]) # # plot(weights.gbm, # i = 1, # save.out = save.out) method <- \"bart\" weights.bart <- createWeights(obj = obj, data = data, method = method, formulas = formulas, save.out = save.out) print(weights.bart, i = 1) #> #> For imputation 1 and the `bart` weighting method, the median weight value is 1.24 (SD = 16.16; range = 0-545). summary(weights.bart[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 545.0708 #> #> - Units with the 5 most extreme weights: #> #> 30 1235 591 475 1145 #> all 57.9469 58.0412 77.0575 116.4033 545.0708 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 5.854 1.003 1.423 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 36.66 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 545.0708 #> #> - Units with the 5 most extreme weights: #> #> 30 1235 591 475 1145 #> all 57.9469 58.0412 77.0575 116.4033 545.0708 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 5.854 1.003 1.423 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 36.66 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 545.0708 #> #> - Units with the 5 most extreme weights: #> #> 30 1235 591 475 1145 #> all 57.9469 58.0412 77.0575 116.4033 545.0708 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 5.854 1.003 1.423 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 36.66 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 545.0708 #> #> - Units with the 5 most extreme weights: #> #> 30 1235 591 475 1145 #> all 57.9469 58.0412 77.0575 116.4033 545.0708 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 5.854 1.003 1.423 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 36.66 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 545.0708 #> #> - Units with the 5 most extreme weights: #> #> 30 1235 591 475 1145 #> all 57.9469 58.0412 77.0575 116.4033 545.0708 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 5.854 1.003 1.423 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 36.66 plot(weights.bart, i = 1, save.out = save.out) method <- \"super\" weights.super <- createWeights(obj = obj, data = data, method = method, formulas = formulas, save.out = save.out) #> Loading required package: nnls #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning: glm.fit: algorithm did not converge #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases print(weights.super, i = 1) #> #> For imputation 1 and the `super` weighting method, the median weight value is 1.27 (SD = 9.99; range = 0-270). summary(weights.super[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 270.0915 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.0024 58.0163 63.2837 178.6145 270.0915 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.816 0.959 1.141 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 83.08 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 270.0915 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.0024 58.0163 63.2837 178.6145 270.0915 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.816 0.959 1.141 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 83.08 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 270.0915 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.0024 58.0163 63.2837 178.6145 270.0915 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.816 0.959 1.141 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 83.08 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 270.0915 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.0024 58.0163 63.2837 178.6145 270.0915 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.816 0.959 1.141 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 83.08 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 270.0915 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.0024 58.0163 63.2837 178.6145 270.0915 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.816 0.959 1.141 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 83.08 plot(weights.super, i = 1, save.out = save.out) weights <- weights.cbps balance_stats.cbps <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) summary(balance_stats.cbps, save.out = save.out) #> Averaging across imputed datasets using cbps weighting method. #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 0 out of 241 (0.0%) covariates across time points remain imbalanced: #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps` summary(balance_stats.cbps, i = 1, save.out = save.out) #> USER ALERT: For imputation 1 using `cbps` weighting method: As shown below, 4 out of 241 (1.7%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.06 (max: 0.10): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 2 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates for imputation 1 using `cbps` plot(balance_stats.cbps, t = 4, save.out = save.out) plot(balance_stats.cbps, t = 4, i = 1, save.out = save.out) print(balance_stats.cbps, t = 4, save.out = save.out) #> #> +-----------+----------------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +===========+================+===============+============+==========+ #> | ESETA1.35 | state_1 | 0.0123 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | BioDadInHH2_1 | -0.00736 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmAge2 | -0.01172 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmBlac2_1 | -0.00143 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | TcBlac2_1 | -0.00951 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmMrSt2_1 | 0.0046 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmEd2 | -0.04146 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | KFASTScr | -0.0365 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RMomAgeU | 0.01453 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_1 | -0.01442 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_2 | -0.05725 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_3 | 0.06506 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_4 | 0.0196 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_5 | 0.0097 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_1 | 0.01158 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_2 | 0.02051 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_3 | -0.03071 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_4 | 0.00585 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SWghtLB | -0.01947 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SurpPreg_1 | 0.05972 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_1 | 0.01793 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_2 | -0.03624 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_3 | 0.0324 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | DrnkFreq_1 | -0.00796 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | DrnkFreq_2 | 0.00653 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | peri_health | 0.02427 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | caregiv_health | 0.00113 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | gov_assist | 0.00166 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.6 | -0.02835 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.15 | -0.01609 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.24 | 0.002 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | MDI.6 | -0.00345 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | MDI.15 | 0.01669 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.6_1 | 0.02717 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.15_1 | 0.06637 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.24_1 | 0.05935 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | WndNbrhood.6 | -0.04559 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | WndNbrhood.24 | -0.023 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.6 | -0.05173 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.15 | -0.03977 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.24 | -0.0018 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.6 | 0.05331 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.15 | 0.04418 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.24 | 0.0305 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.6 | -0.03406 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.15 | -0.03733 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.24 | -0.01687 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.6 | -0.03603 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.15 | -0.02261 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.24 | -0.01452 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.6 | 0.03428 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.15 | 0.00186 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.24 | 0.02188 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | EARS_TJo.24 | -0.00991 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | LESMnPos.24 | -0.01514 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | LESMnNeg.24 | 0.0321 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.6 | 0.08449 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.15 | 0.08033 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.24 | 0.0035 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> #> Table: Balance Stats for Exposure Time 4 Averaging Across Imputed Datasets weights <- weights.glm balance_stats.glm <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) # weights <- weights.gbm # # balance_stats.gbm <- assessBalance(data = data, # obj = obj, # weights = weights, # imp_conf = imp_conf, # balance_thresh = balance_thresh, # save.out = save.out) weights <- weights.bart balance_stats.bart <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) weights <- weights.super balance_stats.super <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) summary(balance_stats.cbps, save.out = save.out) #> Averaging across imputed datasets using cbps weighting method. #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 0 out of 241 (0.0%) covariates across time points remain imbalanced: #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps` summary(balance_stats.glm, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `glm` weighting method: As shown below, 31 out of 241 (12.9%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.13 (max: 0.29): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 7 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 18 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 2 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `glm` # summary(balance_stats.gbm, # save.out = save.out) summary(balance_stats.bart, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `bart` weighting method: As shown below, 16 out of 241 (6.6%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.13 (max: 0.19): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 3 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 9 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 4 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `bart` summary(balance_stats.super, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `super` weighting method: As shown below, 31 out of 241 (12.9%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.13 (max: 0.29): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 7 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 18 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 2 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `super` summary(weights.cbps[[1]])[[1]][6] #> $effective.sample.size #> Total #> Unweighted 1292.0000 #> Weighted 567.0924 summary(weights.glm[[1]])[[1]][6] #> $effective.sample.size #> Total #> Unweighted 1292.00000 #> Weighted 82.74434 # summary(weights.gbm[[1]])[[1]][6] summary(weights.bart[[1]])[[1]][6] #> $effective.sample.size #> Total #> Unweighted 1292.00000 #> Weighted 36.66269 summary(weights.super[[1]])[[1]][6] #> $effective.sample.size #> Total #> Unweighted 1292.0000 #> Weighted 83.0753 print(balance_stats.cbps) #> #> +-----------+----------------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +===========+================+===============+============+==========+ #> | ESETA1.6 | state_1 | -0.015841 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | BioDadInHH2_1 | 0.049787 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmAge2 | 0.021011 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmBlac2_1 | -0.033318 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | TcBlac2_1 | -0.017018 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmMrSt2_1 | 0.026148 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmEd2 | 0.001702 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | KFASTScr | -0.016403 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RMomAgeU | 0.072699 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_1 | -0.013994 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_2 | -0.020431 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_3 | 0.02928 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_4 | 0.01127 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_5 | 0.012702 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_1 | 0.003785 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_2 | 0.00374 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_3 | -0.005058 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_4 | -0.002294 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SWghtLB | -0.030219 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SurpPreg_1 | -0.004567 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_1 | 0.02189 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_2 | -0.027643 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_3 | 0.012046 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | DrnkFreq_1 | -0.026237 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | DrnkFreq_2 | 0.013558 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | peri_health | -0.035748 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | caregiv_health | -0.003855 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | gov_assist | -0.022816 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | state_1 | 0.036174 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | BioDadInHH2_1 | -0.012204 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmAge2 | 0.004854 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmBlac2_1 | 0.042683 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | TcBlac2_1 | 0.025346 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmMrSt2_1 | 0.004899 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmEd2 | -0.029365 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | KFASTScr | -0.037699 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RMomAgeU | -0.041403 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_1 | -0.035278 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_2 | 0.001438 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_3 | -0.011183 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_4 | 0.010747 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_5 | -0.049295 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_1 | -0.033142 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_2 | 0.044428 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_3 | -0.016749 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_4 | 0.000614 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SWghtLB | 0.020957 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SurpPreg_1 | 0.027651 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_1 | -0.050611 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_2 | 0.069412 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_3 | -0.026007 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | DrnkFreq_1 | -0.011565 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | DrnkFreq_2 | 0.003636 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | peri_health | 0.011326 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | caregiv_health | 0.007437 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | gov_assist | -0.015918 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SAAmylase.6 | -0.038498 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | MDI.6 | 0.045319 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHasSO.6_1 | -0.02082 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | WndNbrhood.6 | 0.004196 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | IBRAttn.6 | -0.019396 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | B18Raw.6 | 0.033228 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HOMEETA1.6 | -0.008945 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | InRatioCor.6 | -0.045347 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | CORTB.6 | 0.010691 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | ESETA1.6 | 0.043475 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | state_1 | 0.006241 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | BioDadInHH2_1 | -0.035814 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | PmAge2 | -0.017532 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | PmBlac2_1 | 0.015892 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | TcBlac2_1 | 0.030768 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | PmMrSt2_1 | 0.062369 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | PmEd2 | 0.00653 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | KFASTScr | 0.032766 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RMomAgeU | 0.032742 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHealth_1 | 0.00826 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHealth_2 | 0.025263 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHealth_3 | -0.029311 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHealth_4 | -0.020001 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHealth_5 | 0.057299 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | HomeOwnd_1 | -0.032929 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | HomeOwnd_2 | 0.008234 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | HomeOwnd_3 | 0.000591 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | HomeOwnd_4 | 0.022929 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SWghtLB | -0.008564 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SurpPreg_1 | -0.037616 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SmokTotl_1 | 0.011311 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SmokTotl_2 | -0.000889 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SmokTotl_3 | 0.002071 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | DrnkFreq_1 | -0.011027 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | DrnkFreq_2 | 0.012054 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | peri_health | -0.040005 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | caregiv_health | 0.002807 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | gov_assist | 0.017188 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SAAmylase.6 | 0.015602 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SAAmylase.15 | 0.043926 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | MDI.6 | 0.02066 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | MDI.15 | 0.002145 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHasSO.6_1 | -0.027332 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHasSO.15_1 | 0.000214 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | WndNbrhood.6 | -0.000298 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | IBRAttn.6 | 0.015692 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | IBRAttn.15 | 0.004147 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | B18Raw.6 | 0.093979 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | B18Raw.15 | -0.003861 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | HOMEETA1.6 | 0.006479 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | HOMEETA1.15 | 0.016107 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | InRatioCor.6 | -0.043574 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | InRatioCor.15 | -0.002573 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | CORTB.6 | 0.040583 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | CORTB.15 | -0.007733 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | ESETA1.6 | 0.038786 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | ESETA1.15 | 0.016269 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | state_1 | 0.012297 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | BioDadInHH2_1 | -0.007364 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmAge2 | -0.011717 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmBlac2_1 | -0.001426 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | TcBlac2_1 | -0.009506 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmMrSt2_1 | 0.004603 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmEd2 | -0.041457 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | KFASTScr | -0.036504 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RMomAgeU | 0.014532 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_1 | -0.014423 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_2 | -0.057253 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_3 | 0.065055 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_4 | 0.019599 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_5 | 0.009704 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_1 | 0.011584 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_2 | 0.020508 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_3 | -0.030714 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_4 | 0.005852 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SWghtLB | -0.019471 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SurpPreg_1 | 0.059723 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_1 | 0.017933 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_2 | -0.036241 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_3 | 0.0324 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | DrnkFreq_1 | -0.007962 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | DrnkFreq_2 | 0.006528 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | peri_health | 0.024272 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | caregiv_health | 0.001126 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | gov_assist | 0.001664 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.6 | -0.02835 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.15 | -0.016089 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.24 | 0.002003 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | MDI.6 | -0.003452 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | MDI.15 | 0.016688 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.6_1 | 0.027168 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.15_1 | 0.066367 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.24_1 | 0.059345 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | WndNbrhood.6 | -0.045594 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | WndNbrhood.24 | -0.023004 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.6 | -0.051726 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.15 | -0.039767 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.24 | -0.001796 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.6 | 0.053306 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.15 | 0.04418 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.24 | 0.030505 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.6 | -0.034064 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.15 | -0.037334 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.24 | -0.016869 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.6 | -0.03603 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.15 | -0.022606 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.24 | -0.014519 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.6 | 0.034283 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.15 | 0.00186 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.24 | 0.021881 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | EARS_TJo.24 | -0.009914 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | LESMnPos.24 | -0.015144 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | LESMnNeg.24 | 0.032104 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.6 | 0.084487 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.15 | 0.08033 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.24 | 0.003504 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | state_1 | 0.046707 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | BioDadInHH2_1 | -0.032556 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | PmAge2 | -0.011158 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | PmBlac2_1 | 0.045969 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | TcBlac2_1 | 0.062286 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | PmMrSt2_1 | -0.02112 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | PmEd2 | 0.003704 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | KFASTScr | 0.001911 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RMomAgeU | 0.042917 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHealth_1 | 0.001836 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHealth_2 | 0.011966 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHealth_3 | -0.000588 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHealth_4 | -0.031635 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHealth_5 | 0.03408 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HomeOwnd_1 | -0.020218 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HomeOwnd_2 | 0.024941 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HomeOwnd_3 | 0.002759 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HomeOwnd_4 | 0.002021 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SWghtLB | -0.022619 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SurpPreg_1 | -0.018775 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SmokTotl_1 | -0.044081 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SmokTotl_2 | 0.003514 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SmokTotl_3 | -0.008938 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | DrnkFreq_1 | 0.010825 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | DrnkFreq_2 | -0.012394 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | peri_health | -0.019048 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | caregiv_health | -0.001676 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | gov_assist | 0.01349 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SAAmylase.6 | 0.028656 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SAAmylase.15 | -0.02358 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SAAmylase.24 | -0.017473 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | MDI.6 | 0.035384 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | MDI.15 | -0.069623 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHasSO.6_1 | 0.066159 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHasSO.15_1 | 0.005755 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHasSO.24_1 | -0.025656 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHasSO.35_1 | -0.013387 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | WndNbrhood.6 | -0.042805 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | WndNbrhood.24 | -0.006412 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | WndNbrhood.35 | 0.003724 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | IBRAttn.6 | -0.04382 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | IBRAttn.15 | -0.01477 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | IBRAttn.24 | -0.048202 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | B18Raw.6 | 0.03759 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | B18Raw.15 | 0.078278 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | B18Raw.24 | 0.051997 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HOMEETA1.6 | -0.030969 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HOMEETA1.15 | 0.004609 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HOMEETA1.24 | -0.047911 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HOMEETA1.35 | -0.07415 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | InRatioCor.6 | -0.036626 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | InRatioCor.15 | -0.046776 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | InRatioCor.24 | -0.044794 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | InRatioCor.35 | -0.021949 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | CORTB.6 | 0.024018 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | CORTB.15 | -0.008257 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | CORTB.24 | 0.004373 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | EARS_TJo.24 | -0.018775 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | EARS_TJo.35 | 0.023288 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | LESMnPos.24 | -0.019433 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | LESMnPos.35 | -0.016828 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | LESMnNeg.24 | 0.027503 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | LESMnNeg.35 | 0.054757 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | StrDif_Tot.35 | 0.022732 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | fscore.35 | -0.059882 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | ESETA1.6 | 0.039731 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | ESETA1.15 | 0.031636 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | ESETA1.24 | 0.014185 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | ESETA1.35 | 0.019732 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> #> Table: Balance Stats for All Exposure Time Points Averaging Across Imputed Datasets plot(balance_stats.cbps, t = 4, save.out = save.out) type <- \"update\" bal_stats <- balance_stats.cbps updated_formulas <- createFormulas(obj = obj, type = type, bal_stats = bal_stats, save.out = save.out) print(updated_formulas, save.out = save.out) #> USER ALERT: Please manually inspect the updated balancing formula below that includes time-varying confounders at t-1 and those greater at further lags that remained imbalanced: #> At time point 6, the update formula for ESETA1.6 is: #> ESETA1.6 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist #> USER ALERT: Please manually inspect the updated balancing formula below that includes time-varying confounders at t-1 and those greater at further lags that remained imbalanced: #> At time point 15, the update formula for ESETA1.15 is: #> ESETA1.15 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + MDI.6 + RHasSO.6 + WndNbrhood.6 + IBRAttn.6 + B18Raw.6 + HOMEETA1.6 + InRatioCor.6 + CORTB.6 + ESETA1.6 #> USER ALERT: Please manually inspect the updated balancing formula below that includes time-varying confounders at t-1 and those greater at further lags that remained imbalanced: #> At time point 24, the update formula for ESETA1.24 is: #> ESETA1.24 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.15 + MDI.15 + RHasSO.15 + IBRAttn.15 + B18Raw.15 + HOMEETA1.15 + InRatioCor.15 + CORTB.15 + ESETA1.15 #> USER ALERT: Please manually inspect the updated balancing formula below that includes time-varying confounders at t-1 and those greater at further lags that remained imbalanced: #> At time point 35, the update formula for ESETA1.35 is: #> ESETA1.35 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.24 + RHasSO.24 + WndNbrhood.24 + IBRAttn.24 + B18Raw.24 + HOMEETA1.24 + InRatioCor.24 + CORTB.24 + EARS_TJo.24 + LESMnPos.24 + LESMnNeg.24 + ESETA1.24 #> USER ALERT: Please manually inspect the updated balancing formula below that includes time-varying confounders at t-1 and those greater at further lags that remained imbalanced: #> At time point 58, the update formula for ESETA1.58 is: #> ESETA1.58 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + RHasSO.35 + WndNbrhood.35 + HOMEETA1.35 + InRatioCor.35 + EARS_TJo.35 + LESMnPos.35 + LESMnNeg.35 + StrDif_Tot.35 + fscore.35 + ESETA1.35 formulas <- updated_formulas method <- \"cbps\" final_weights <- createWeights(data = data, obj = obj, method = method, formulas = formulas, max.it = 1, # testing only save.out = save.out) print(final_weights, i = 1) #> #> For imputation 1 and the `cbps` weighting method, the median weight value is 0.77 (SD = 1.18; range = 0-9). plot(final_weights, i = 1, save.out = save.out) quantile <- 0.95 weights <- final_weights trim_weights <- trimWeights(weights = weights, at = quantile, save.out = save.out) print(trim_weights, i = 1) #> #> For imputation 1 and the `cbps` weighting method, after trimming at 95th quantile, the median weight value is 0.77 (SD = 0.93; range = 0-4). plot(trim_weights, i = 1, save.out = save.out) quantile <- 0.92 trim_weights.s1 <- trimWeights(weights = weights, at = quantile, save.out = save.out) print(trim_weights.s1, i = 1) #> #> For imputation 1 and the `cbps` weighting method, after trimming at 92th quantile, the median weight value is 0.77 (SD = 0.82; range = 0-3). plot(trim_weights.s1, i = 1, save.out = save.out) quantile <- 0.98 trim_weights.s2 <- trimWeights(weights = weights, at = quantile, save.out = save.out) print(trim_weights.s2, i = 1) #> #> For imputation 1 and the `cbps` weighting method, after trimming at 98th quantile, the median weight value is 0.77 (SD = 1.06; range = 0-5). plot(trim_weights.s2, i = 1, save.out = save.out) weights <- trim_weights final_balance_stats_trim <- assessBalance(data = data, obj = obj, balance_thresh = balance_thresh, imp_conf = imp_conf, weights = weights, save.out = save.out) summary(final_balance_stats_trim, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 2 out of 241 (0.8%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.06 (max: 0.06): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps` print(final_balance_stats_trim, t = 2, save.out = save.out) #> #> +-----------+----------------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +===========+================+===============+============+==========+ #> | ESETA1.15 | state_1 | 0.018002 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | BioDadInHH2_1 | -0.01641 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmAge2 | -0.009705 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmBlac2_1 | 0.017384 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | TcBlac2_1 | 0.017685 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmMrSt2_1 | -0.00618 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmEd2 | -0.036545 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | KFASTScr | -0.020649 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RMomAgeU | -0.005992 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_1 | -0.001056 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_2 | -0.0065 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_3 | 0.004525 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_4 | 0.006969 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_5 | -0.011918 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_1 | -0.003678 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_2 | 0.003725 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_3 | 0.006049 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_4 | 0.008359 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SWghtLB | -0.000996 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SurpPreg_1 | 0.008394 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_1 | 0.010939 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_2 | 0.009158 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_3 | -0.005918 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | DrnkFreq_1 | 0.007173 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | DrnkFreq_2 | -0.017437 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | peri_health | -0.000413 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | caregiv_health | 0.008989 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | gov_assist | 0.015211 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SAAmylase.6 | 0.010964 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | MDI.6 | 0.01114 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHasSO.6_1 | 0.018068 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | WndNbrhood.6 | -0.017711 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | IBRAttn.6 | -0.002143 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | B18Raw.6 | 0.025159 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HOMEETA1.6 | -0.024603 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | InRatioCor.6 | -0.047661 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | CORTB.6 | -0.005651 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | ESETA1.6 | 0.03469 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> #> Table: Balance Stats for Exposure Time 2 Averaging Across Imputed Datasets summary(trim_weights[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 3.528 #> #> - Units with the 5 most extreme weights: #> #> 89 79 30 27 11 #> all 3.528 3.528 3.528 3.528 3.528 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 0.896 0.687 0.372 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 717.08 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 3.528 #> #> - Units with the 5 most extreme weights: #> #> 89 79 30 27 11 #> all 3.528 3.528 3.528 3.528 3.528 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 0.896 0.687 0.372 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 717.08 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 3.528 #> #> - Units with the 5 most extreme weights: #> #> 89 79 30 27 11 #> all 3.528 3.528 3.528 3.528 3.528 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 0.896 0.687 0.372 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 717.08 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 3.528 #> #> - Units with the 5 most extreme weights: #> #> 89 79 30 27 11 #> all 3.528 3.528 3.528 3.528 3.528 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 0.896 0.687 0.372 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 717.08 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 3.528 #> #> - Units with the 5 most extreme weights: #> #> 89 79 30 27 11 #> all 3.528 3.528 3.528 3.528 3.528 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 0.896 0.687 0.372 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 717.08 weights <- final_weights final_balance_stats_untrim <- assessBalance(data = data, obj = obj, balance_thresh = balance_thresh, imp_conf = imp_conf, weights = weights, save.out = save.out) summary(final_balance_stats_untrim, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 2 out of 241 (0.8%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.06 (max: 0.07): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps` summary(final_weights[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5138 #> #> - Units with the 5 most extreme weights: #> #> 1246 1145 294 697 919 #> all 7.4581 7.6788 7.9902 8.2032 8.5138 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.066 0.725 0.443 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 605.04 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5138 #> #> - Units with the 5 most extreme weights: #> #> 1246 1145 294 697 919 #> all 7.4581 7.6788 7.9902 8.2032 8.5138 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.066 0.725 0.443 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 605.04 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5138 #> #> - Units with the 5 most extreme weights: #> #> 1246 1145 294 697 919 #> all 7.4581 7.6788 7.9902 8.2032 8.5138 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.066 0.725 0.443 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 605.04 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5138 #> #> - Units with the 5 most extreme weights: #> #> 1246 1145 294 697 919 #> all 7.4581 7.6788 7.9902 8.2032 8.5138 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.066 0.725 0.443 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 605.04 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5138 #> #> - Units with the 5 most extreme weights: #> #> 1246 1145 294 697 919 #> all 7.4581 7.6788 7.9902 8.2032 8.5138 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.066 0.725 0.443 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 605.04 summary(final_balance_stats_trim, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 2 out of 241 (0.8%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.06 (max: 0.06): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps` plot(final_balance_stats_trim, t = 2, save.out = save.out) # covariates <- c(\"list_imbalanced_ti_conf\") weights <- trim_weights.s1 final_balance_stats.s1 <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) summary(final_balance_stats.s1, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 3 out of 241 (1.2%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.06 (max: 0.06): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 1 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps` print(final_balance_stats.s1, t = 2, save.out = save.out) #> #> +-----------+----------------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +===========+================+===============+============+==========+ #> | ESETA1.15 | state_1 | 0.02248 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | BioDadInHH2_1 | -0.02024 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmAge2 | -0.01219 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmBlac2_1 | 0.0244 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | TcBlac2_1 | 0.02265 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmMrSt2_1 | -0.00906 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmEd2 | -0.04175 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | KFASTScr | -0.02587 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RMomAgeU | -0.01202 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_1 | -0.00346 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_2 | -0.00661 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_3 | 0.00912 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_4 | 0.00351 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_5 | -0.01245 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_1 | -0.00579 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_2 | 0.00296 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_3 | 0.00995 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_4 | 0.00817 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SWghtLB | -0.00333 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SurpPreg_1 | 0.01431 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_1 | 0.01323 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_2 | 0.0114 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_3 | -0.00775 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | DrnkFreq_1 | 0.0125 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | DrnkFreq_2 | -0.02183 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | peri_health | -0.00145 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | caregiv_health | 0.01119 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | gov_assist | 0.01836 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SAAmylase.6 | 0.01106 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | MDI.6 | 0.016 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHasSO.6_1 | 0.0208 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | WndNbrhood.6 | -0.02262 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | IBRAttn.6 | -0.0034 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | B18Raw.6 | 0.02608 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HOMEETA1.6 | -0.02883 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | InRatioCor.6 | -0.06024 | 0.05 | 0 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | CORTB.6 | -0.00713 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | ESETA1.6 | 0.0427 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> #> Table: Balance Stats for Exposure Time 2 Averaging Across Imputed Datasets weights <- trim_weights.s2 final_balance_stats.s2 <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) summary(final_balance_stats.s2, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 2 out of 241 (0.8%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.06 (max: 0.06): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps`"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"step-1-create-full-weights-formulas-conduct-pre-balance-checking","dir":"Articles","previous_headings":"","what":"STEP 1: Create Full Weights Formulas & Conduct Pre-Balance Checking","title":"Workflow: Continuous Exposure","text":"first create comprehensive, full weights formulas relating exposure confounders time point using createFormulas() function (type = “full”). step creates full formulas containing measured confounding variables exposure time point, including time-invariant confounders lagged time-varying confounders. code automatically excludes time-varying confounders contemporaneous time point given decisively differentiated mediators balanced (Thoemmes & Ong, 2016), although can modified user strong reason believe concurrent variable truly confounder (see ). user wishes specify interactions confounders weights formulas, need manually create data listing . Keep mind interactions include factor variables decomposed interactions factor level. required input create full weights formulas using createFormulas() function : MSM object (e.g., “obj”) setting type = “full”. Optional inputs create full weights formulas using createFormulas() function follows. user may specify list custom formulas specifying custom list formulas, one exposure time point (e.g., “exposure.time ~ variable.time + variable +…”) formula format. recommend first running createFormulas() function without custom formulas (custom = NULL) using output model required format custom formulas. createFormulas() function automatically check custom formulas ensure correctly formatted formula exposure time point exposure dependent variable. However, user responsible ensuring custom formulas contain appropriate confounders formula type generating. Please see Customize weights formulas vignette detail customize formulas. chose create custom formulas instead use createFormulas() make automatically example. first create full formulas. function returns list formulas, one exposure time point. inspect . full formula contains time invariant confounders well lagged time-varying confounders time point. inspection important step, verify appropriate confounders present formula. inspect formulas . next step examines initial imbalance, strongly exposure relates confounder time point, measured confounders prior weighting using assessBalance() function. function draws calcBalStats() function (see Assessing Balance Time-Varying Exposure section accompanying manuscript). assessBalance() function outputs balance statistics (correlations continuous exposures standardized mean differences binary exposures) relating exposure time point confounders table well plots. function also provides summary balance statistics averaging across time points (imputed datasets supplied). required inputs using assessBalance() function conduct pre-balance testing : data (data frame, mids object, list imputed datasets dataframes wide format) MSM object (e.g., “obj”). Please see Assessing Balance Time-Varying Exposures vignette detail function calculates balance. optional inputs follows. user may specify balance_thresh, threshold(s) determining confounder balance, one two ways. * First, can provide single number value (0-1) absolute value standardized balance statistic (either correlation continuous exposures standardized group mean difference binary exposures) exposure confounders confounders considered balanced, considered imbalanced (default 0.1; Stuart, 2010). Second, users may make priori assertion confounders important others based theory existing research. case, can provide two numbers represent balance thresholds important less important confounders, respectively. user supplies two balance thresholds, must also supply list important confounders (time-varying: “variable.t”, time invariant: “variable”) imp_conf field. balance threshold specification kept consistent throughout use workflow. , recommended, provide two balancing thresholds identify income parent education important confounders relation economic strain behavior problems. create prebalance statistics . function returns list (one entry per imputed dataset, applicable), contains table exposure time point. able contains confounders time point, associated standardized balance statistics relating confounder exposure time point, user-supplied balance threshold, binary indicator whether confounder balanced. shown , can print, summarize, plot several versions balance statistics option supply save.save viewed output home directory. functions takes optional t field view balance statistics one exposure time points. t takes integer value 1 total number time points. specified, output shown exposure time points. imputed data, functions takes option field can used view balance one imputed data set. specified, output shown averaged across absolute values balance statistics imputed datasets. can useful average across imputed datasets get overall sense balance. non-imputed data, specify . can view prebalance statistics single imputed dataset (e.g., first imputed dataset), using field. Note supply t integers 1 however number time points exposure measured. example, first time point measures ESETA1 6 months corresponds t = 1. , can view prebalance statistics averaged across imputed data sets different time points specifying . can also used view balance statistics data imputed. can also summarize assessBalance() output view average remaining relation confounders exposure well summary table showing total number imbalanced confounders exposure time point. can view one imputed dataset averaged across . Averaging across imputed datasets, see xx confounders imbalanced respect economic strain exposure respective balance threshold. Lastly, can plot balance summary one time points, one imputed dataset averaged across . dotted red lines denote balance thresholds points colored labeled red denote confounders imbalanced relation respective balance thresholds. love plots depict standardized associations confounder exposure exposure time point, vertical red dashed lines indicating balance thresholds. Imbalanced confounders shown red variable name labels.","code":"type <- \"full\" full_formulas <- createFormulas(obj = obj, type = type, save.out = save.out) print(full_formulas) #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 6, the full formula for ESETA1.6 is: #> ESETA1.6 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 15, the full formula for ESETA1.15 is: #> ESETA1.15 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + MDI.6 + RHasSO.6 + WndNbrhood.6 + IBRAttn.6 + B18Raw.6 + HOMEETA1.6 + InRatioCor.6 + CORTB.6 + ESETA1.6 #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 24, the full formula for ESETA1.24 is: #> ESETA1.24 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + SAAmylase.15 + MDI.6 + MDI.15 + RHasSO.6 + RHasSO.15 + WndNbrhood.6 + IBRAttn.6 + IBRAttn.15 + B18Raw.6 + B18Raw.15 + HOMEETA1.6 + HOMEETA1.15 + InRatioCor.6 + InRatioCor.15 + CORTB.6 + CORTB.15 + ESETA1.6 + ESETA1.15 #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 35, the full formula for ESETA1.35 is: #> ESETA1.35 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + SAAmylase.15 + SAAmylase.24 + MDI.6 + MDI.15 + RHasSO.6 + RHasSO.15 + RHasSO.24 + WndNbrhood.6 + WndNbrhood.24 + IBRAttn.6 + IBRAttn.15 + IBRAttn.24 + B18Raw.6 + B18Raw.15 + B18Raw.24 + HOMEETA1.6 + HOMEETA1.15 + HOMEETA1.24 + InRatioCor.6 + InRatioCor.15 + InRatioCor.24 + CORTB.6 + CORTB.15 + CORTB.24 + EARS_TJo.24 + LESMnPos.24 + LESMnNeg.24 + ESETA1.6 + ESETA1.15 + ESETA1.24 #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 58, the full formula for ESETA1.58 is: #> ESETA1.58 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + SAAmylase.15 + SAAmylase.24 + MDI.6 + MDI.15 + RHasSO.6 + RHasSO.15 + RHasSO.24 + RHasSO.35 + WndNbrhood.6 + WndNbrhood.24 + WndNbrhood.35 + IBRAttn.6 + IBRAttn.15 + IBRAttn.24 + B18Raw.6 + B18Raw.15 + B18Raw.24 + HOMEETA1.6 + HOMEETA1.15 + HOMEETA1.24 + HOMEETA1.35 + InRatioCor.6 + InRatioCor.15 + InRatioCor.24 + InRatioCor.35 + CORTB.6 + CORTB.15 + CORTB.24 + EARS_TJo.24 + EARS_TJo.35 + LESMnPos.24 + LESMnPos.35 + LESMnNeg.24 + LESMnNeg.35 + StrDif_Tot.35 + fscore.35 + ESETA1.6 + ESETA1.15 + ESETA1.24 + ESETA1.35 balance_thresh <- c(0.05, 0.1) imp_conf <- c(\"InRatioCor.6\", \"InRatioCor.15\", \"InRatioCor.24\", \"InRatioCor.35\", \"PmEd2\") prebalance_stats <- assessBalance(obj = obj, data = data, balance_thresh = balance_thresh, imp_conf = imp_conf, save.out = save.out) print(prebalance_stats, i = 1, t = 1, save.out = save.out) #> #> +----------+----------------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +==========+================+===============+============+==========+ #> | ESETA1.6 | state_1 | 0.13324 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | BioDadInHH2_1 | -0.13865 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmAge2 | -0.06481 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmBlac2_1 | 0.17598 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | TcBlac2_1 | 0.20129 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmMrSt2_1 | -0.14101 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmEd2 | -0.23888 | 0.05 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | KFASTScr | -0.18058 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RMomAgeU | -0.11428 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_1 | -0.08223 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_2 | -0.01624 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_3 | 0.07892 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_4 | 0.10536 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_5 | 0.0588 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_1 | -0.13681 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_2 | -0.0364 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_3 | 0.09405 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_4 | 0.15808 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SWghtLB | -0.09514 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SurpPreg_1 | 0.10405 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_1 | 0.00731 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_2 | 0.04693 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_3 | 0.04867 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | DrnkFreq_1 | -0.0182 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | DrnkFreq_2 | 0.02272 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | peri_health | 0.02042 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | caregiv_health | 0.14314 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | gov_assist | 0.31012 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> #> Table: Balance Stats for Exposure Time 1 for imputation (1) print(prebalance_stats, t = 1, save.out = save.out) #> #> +----------+----------------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +==========+================+===============+============+==========+ #> | ESETA1.6 | state_1 | 0.12646 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | BioDadInHH2_1 | -0.13395 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmAge2 | -0.0525 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmBlac2_1 | 0.18314 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | TcBlac2_1 | 0.20776 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmMrSt2_1 | -0.12948 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmEd2 | -0.23456 | 0.05 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | KFASTScr | -0.17153 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RMomAgeU | -0.10139 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_1 | -0.07479 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_2 | -0.01536 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_3 | 0.07441 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_4 | 0.10334 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_5 | 0.05769 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_1 | -0.13942 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_2 | -0.04196 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_3 | 0.10162 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_4 | 0.15135 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SWghtLB | -0.09639 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SurpPreg_1 | 0.10475 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_1 | 0.0135 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_2 | 0.04304 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_3 | 0.05533 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | DrnkFreq_1 | -0.00539 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | DrnkFreq_2 | 0.01557 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | peri_health | 0.02454 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | caregiv_health | 0.15074 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | gov_assist | 0.30943 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> #> Table: Balance Stats for Exposure Time 1 Averaging Across Imputed Datasets summary(prebalance_stats, i = 1, save.out = save.out) #> USER ALERT: For imputation 1: As shown below, 55 out of 241 (22.8%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.13 (max: 0.31): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 14 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 11 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 11 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 11 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 8 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates for imputation 1 summary(prebalance_stats, save.out = save.out) #> USER ALERT: Averaging across imputated datasets: As shown below, 60 out of 241 (24.9%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.13 (max: 0.31): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 15 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 12 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 11 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 14 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 8 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaged Across Imputed Datasets plot(prebalance_stats, i = 1, t = 1, save.out = save.out) plot(prebalance_stats, t = 1, save.out = save.out)"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"a--create-full-weights-formulas-at-each-exposure-time-point","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"1a. Create Full Weights Formulas at each Exposure Time Point","title":"Workflow: Continuous Exposure","text":"first create comprehensive, full weights formulas relating exposure confounders time point using createFormulas() function (type = “full”). step creates full formulas containing measured confounding variables exposure time point, including time-invariant confounders lagged time-varying confounders. code automatically excludes time-varying confounders contemporaneous time point given decisively differentiated mediators balanced (Thoemmes & Ong, 2016), although can modified user strong reason believe concurrent variable truly confounder (see ). user wishes specify interactions confounders weights formulas, need manually create data listing . Keep mind interactions include factor variables decomposed interactions factor level. required input create full weights formulas using createFormulas() function : MSM object (e.g., “obj”) setting type = “full”. Optional inputs create full weights formulas using createFormulas() function follows. user may specify list custom formulas specifying custom list formulas, one exposure time point (e.g., “exposure.time ~ variable.time + variable +…”) formula format. recommend first running createFormulas() function without custom formulas (custom = NULL) using output model required format custom formulas. createFormulas() function automatically check custom formulas ensure correctly formatted formula exposure time point exposure dependent variable. However, user responsible ensuring custom formulas contain appropriate confounders formula type generating. Please see Customize weights formulas vignette detail customize formulas. chose create custom formulas instead use createFormulas() make automatically example. first create full formulas. function returns list formulas, one exposure time point. inspect . full formula contains time invariant confounders well lagged time-varying confounders time point. inspection important step, verify appropriate confounders present formula. inspect formulas .","code":"type <- \"full\" full_formulas <- createFormulas(obj = obj, type = type, save.out = save.out) print(full_formulas) #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 6, the full formula for ESETA1.6 is: #> ESETA1.6 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 15, the full formula for ESETA1.15 is: #> ESETA1.15 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + MDI.6 + RHasSO.6 + WndNbrhood.6 + IBRAttn.6 + B18Raw.6 + HOMEETA1.6 + InRatioCor.6 + CORTB.6 + ESETA1.6 #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 24, the full formula for ESETA1.24 is: #> ESETA1.24 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + SAAmylase.15 + MDI.6 + MDI.15 + RHasSO.6 + RHasSO.15 + WndNbrhood.6 + IBRAttn.6 + IBRAttn.15 + B18Raw.6 + B18Raw.15 + HOMEETA1.6 + HOMEETA1.15 + InRatioCor.6 + InRatioCor.15 + CORTB.6 + CORTB.15 + ESETA1.6 + ESETA1.15 #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 35, the full formula for ESETA1.35 is: #> ESETA1.35 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + SAAmylase.15 + SAAmylase.24 + MDI.6 + MDI.15 + RHasSO.6 + RHasSO.15 + RHasSO.24 + WndNbrhood.6 + WndNbrhood.24 + IBRAttn.6 + IBRAttn.15 + IBRAttn.24 + B18Raw.6 + B18Raw.15 + B18Raw.24 + HOMEETA1.6 + HOMEETA1.15 + HOMEETA1.24 + InRatioCor.6 + InRatioCor.15 + InRatioCor.24 + CORTB.6 + CORTB.15 + CORTB.24 + EARS_TJo.24 + LESMnPos.24 + LESMnNeg.24 + ESETA1.6 + ESETA1.15 + ESETA1.24 #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 58, the full formula for ESETA1.58 is: #> ESETA1.58 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + SAAmylase.15 + SAAmylase.24 + MDI.6 + MDI.15 + RHasSO.6 + RHasSO.15 + RHasSO.24 + RHasSO.35 + WndNbrhood.6 + WndNbrhood.24 + WndNbrhood.35 + IBRAttn.6 + IBRAttn.15 + IBRAttn.24 + B18Raw.6 + B18Raw.15 + B18Raw.24 + HOMEETA1.6 + HOMEETA1.15 + HOMEETA1.24 + HOMEETA1.35 + InRatioCor.6 + InRatioCor.15 + InRatioCor.24 + InRatioCor.35 + CORTB.6 + CORTB.15 + CORTB.24 + EARS_TJo.24 + EARS_TJo.35 + LESMnPos.24 + LESMnPos.35 + LESMnNeg.24 + LESMnNeg.35 + StrDif_Tot.35 + fscore.35 + ESETA1.6 + ESETA1.15 + ESETA1.24 + ESETA1.35"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"b--conduct-exploratory-pre-balance-assessment","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"1b. Conduct Exploratory Pre-Balance Assessment","title":"Workflow: Continuous Exposure","text":"next step examines initial imbalance, strongly exposure relates confounder time point, measured confounders prior weighting using assessBalance() function. function draws calcBalStats() function (see Assessing Balance Time-Varying Exposure section accompanying manuscript). assessBalance() function outputs balance statistics (correlations continuous exposures standardized mean differences binary exposures) relating exposure time point confounders table well plots. function also provides summary balance statistics averaging across time points (imputed datasets supplied). required inputs using assessBalance() function conduct pre-balance testing : data (data frame, mids object, list imputed datasets dataframes wide format) MSM object (e.g., “obj”). Please see Assessing Balance Time-Varying Exposures vignette detail function calculates balance. optional inputs follows. user may specify balance_thresh, threshold(s) determining confounder balance, one two ways. * First, can provide single number value (0-1) absolute value standardized balance statistic (either correlation continuous exposures standardized group mean difference binary exposures) exposure confounders confounders considered balanced, considered imbalanced (default 0.1; Stuart, 2010). Second, users may make priori assertion confounders important others based theory existing research. case, can provide two numbers represent balance thresholds important less important confounders, respectively. user supplies two balance thresholds, must also supply list important confounders (time-varying: “variable.t”, time invariant: “variable”) imp_conf field. balance threshold specification kept consistent throughout use workflow. , recommended, provide two balancing thresholds identify income parent education important confounders relation economic strain behavior problems. create prebalance statistics . function returns list (one entry per imputed dataset, applicable), contains table exposure time point. able contains confounders time point, associated standardized balance statistics relating confounder exposure time point, user-supplied balance threshold, binary indicator whether confounder balanced. shown , can print, summarize, plot several versions balance statistics option supply save.save viewed output home directory. functions takes optional t field view balance statistics one exposure time points. t takes integer value 1 total number time points. specified, output shown exposure time points. imputed data, functions takes option field can used view balance one imputed data set. specified, output shown averaged across absolute values balance statistics imputed datasets. can useful average across imputed datasets get overall sense balance. non-imputed data, specify . can view prebalance statistics single imputed dataset (e.g., first imputed dataset), using field. Note supply t integers 1 however number time points exposure measured. example, first time point measures ESETA1 6 months corresponds t = 1. , can view prebalance statistics averaged across imputed data sets different time points specifying . can also used view balance statistics data imputed. can also summarize assessBalance() output view average remaining relation confounders exposure well summary table showing total number imbalanced confounders exposure time point. can view one imputed dataset averaged across . Averaging across imputed datasets, see xx confounders imbalanced respect economic strain exposure respective balance threshold. Lastly, can plot balance summary one time points, one imputed dataset averaged across . dotted red lines denote balance thresholds points colored labeled red denote confounders imbalanced relation respective balance thresholds. love plots depict standardized associations confounder exposure exposure time point, vertical red dashed lines indicating balance thresholds. Imbalanced confounders shown red variable name labels.","code":"balance_thresh <- c(0.05, 0.1) imp_conf <- c(\"InRatioCor.6\", \"InRatioCor.15\", \"InRatioCor.24\", \"InRatioCor.35\", \"PmEd2\") prebalance_stats <- assessBalance(obj = obj, data = data, balance_thresh = balance_thresh, imp_conf = imp_conf, save.out = save.out) print(prebalance_stats, i = 1, t = 1, save.out = save.out) #> #> +----------+----------------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +==========+================+===============+============+==========+ #> | ESETA1.6 | state_1 | 0.13324 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | BioDadInHH2_1 | -0.13865 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmAge2 | -0.06481 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmBlac2_1 | 0.17598 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | TcBlac2_1 | 0.20129 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmMrSt2_1 | -0.14101 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmEd2 | -0.23888 | 0.05 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | KFASTScr | -0.18058 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RMomAgeU | -0.11428 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_1 | -0.08223 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_2 | -0.01624 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_3 | 0.07892 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_4 | 0.10536 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_5 | 0.0588 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_1 | -0.13681 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_2 | -0.0364 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_3 | 0.09405 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_4 | 0.15808 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SWghtLB | -0.09514 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SurpPreg_1 | 0.10405 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_1 | 0.00731 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_2 | 0.04693 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_3 | 0.04867 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | DrnkFreq_1 | -0.0182 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | DrnkFreq_2 | 0.02272 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | peri_health | 0.02042 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | caregiv_health | 0.14314 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | gov_assist | 0.31012 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> #> Table: Balance Stats for Exposure Time 1 for imputation (1) print(prebalance_stats, t = 1, save.out = save.out) #> #> +----------+----------------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +==========+================+===============+============+==========+ #> | ESETA1.6 | state_1 | 0.12646 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | BioDadInHH2_1 | -0.13395 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmAge2 | -0.0525 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmBlac2_1 | 0.18314 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | TcBlac2_1 | 0.20776 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmMrSt2_1 | -0.12948 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmEd2 | -0.23456 | 0.05 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | KFASTScr | -0.17153 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RMomAgeU | -0.10139 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_1 | -0.07479 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_2 | -0.01536 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_3 | 0.07441 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_4 | 0.10334 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_5 | 0.05769 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_1 | -0.13942 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_2 | -0.04196 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_3 | 0.10162 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_4 | 0.15135 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SWghtLB | -0.09639 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SurpPreg_1 | 0.10475 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_1 | 0.0135 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_2 | 0.04304 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_3 | 0.05533 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | DrnkFreq_1 | -0.00539 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | DrnkFreq_2 | 0.01557 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | peri_health | 0.02454 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | caregiv_health | 0.15074 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | gov_assist | 0.30943 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> #> Table: Balance Stats for Exposure Time 1 Averaging Across Imputed Datasets summary(prebalance_stats, i = 1, save.out = save.out) #> USER ALERT: For imputation 1: As shown below, 55 out of 241 (22.8%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.13 (max: 0.31): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 14 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 11 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 11 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 11 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 8 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates for imputation 1 summary(prebalance_stats, save.out = save.out) #> USER ALERT: Averaging across imputated datasets: As shown below, 60 out of 241 (24.9%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.13 (max: 0.31): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 15 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 12 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 11 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 14 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 8 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaged Across Imputed Datasets plot(prebalance_stats, i = 1, t = 1, save.out = save.out) plot(prebalance_stats, t = 1, save.out = save.out)"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"step-2-create-simplified-weights-formulas-determine-optimal-weighting-method","dir":"Articles","previous_headings":"","what":"STEP 2: Create Simplified Weights Formulas & Determine Optimal Weighting Method","title":"Workflow: Continuous Exposure","text":"goal second step create shortened, parsimonious weights formulas determining optimal IPTW weighting method successfully reduces imbalance data. First, create shorter, parsimonious weights formulas relating exposure confounders time point using createFormulas() function (type = “short”). exposure time point, formulas contain time invariant confounders well time-varying confounders t-1 lag. logic balancing confounders recent prior time point (t-1 ) may achieve balance levels distal time points, given stability many confounders time. Importantly, empirically assess relax assumption needed subsequent steps (Steps 3a-b). required input create shortened weights formulas using createFormulas() function : MSM object (e.g., ‘obj’) setting type = “short”. addition optional input outlined Step 1a, user also option specify keep_conf, list time-varying confounders (e.g., “variable.t”) always retain lagged confounders shortened formulas. user may use argument retain specific time-varying confounders otherwise excluded step occur lags greater t-1 formula. create short formulas . get list entries containing formula exposure time point. inspect make sure contain time-varying covariates lag one prior exposure time point. formulas considerably shorter full formulas. instance, 58-month exposure time point, formula contains time invariant confounders time-varying confounders 35-month time point. created shorter, simplified weights formulas, now create first round IPTW balancing weights (Thoemmes & Ong, 2016) using createWeights() function, shortened weights formulas, available weighting methods. function calls weightitMSM() function WeightIt package (Greifer, 2023) uses time-specific formulas create weights time point automatically multiplying together create one weight per person. Weights stabilized, recommended (Cole & Hernan, 2008; Thoemmes & Ong, 2016), distributions can saved inspection. required inputs using createWeights() function create initial around IPTW balancing weights : MSM object (e.g, ‘obj’), complete data (data frame, mids object, list imputed datasets dataframes wide format), short formulas (see Step 2a). specify short formulas . optional inputs follows. method, provide one following methods calculating balancing weights using weightitMSM() methods validated longitudinal exposures: “cbps” (Covariate Balancing Propensity Score weighting), “gbm” (generalized boosted model), “glm” (generalized linear model; default), “super” (SuperLearner via SuperLearner package; Polley et al., 2013). information can found WeightIt documentation. begin specifying CBPS weighting method. createWeights() function can also take number additional arguments accapted weightitMSM() function (e.g., ‘criterion’, distribution’, ‘SL.library’). package defaults correspond weightIt defaults. user selects SuperLearner (“super”) method, default super learner libraries (‘SL.library’) “SL.glm” “SL.glm.interaction” alternative library can entered input createWeights function. binary exposures, “cbps” method allows specify estimand either ATE, ATT, ATC. “glm”, “super”, “bart” can specify ATE, ATT, ATC, ATO, ATM, ATOS. “gbm”, can specify ATE, ATT, ATC, ATO, ATM. default estimand binary exposures ATE. advise interested user review WeightIt documentation information additional optional arguments available weighting methods. Users option specify verbose = TRUE view information weights creation. function returns list weights objects form WeightItMSM output (entry imputed dataset appropriate). , create IPTW weights using default CBPS method. take run. Note save weights (supplying save.= TRUE custom file name createWeights() home directory initMWM()), function outputs file path use reading weights future use. can useful given weighting methods can take long time run, especially imputed datasets. previously saved CBPS weights, read instead re-creating . Given separate set weights created imputed dataset, conduct inspections imputed dataset. First, view basic statistics CBPS weights given imputed dataset. , note median weight value 0.77 (SD= 1.18) fairly extensive range 0 - 9. Next, look inside output summarize weighting process (drawing summary method weightIt, given imputed dataset. summary also provides effective sample size, sample size results applying weights original sample size, time point. Weighting can often result effective weighted sample size smaller orignal sample size something keep mind evaluating weighting methods. example, see original 1,292 sample reduced 605 upon weighting CBPS method. view distribution plot weights one imputed dataset. user option supply save.save plots home directory. shown , distribution heavy right tail (typical real-world data). right tail distribution represents individuals experienced statistically unexpected levels exposure given levels confounders. create inspect IPTW balancing weights using available methods order evaluate compare performance subsequent steps. , summarize plot averaging across imputed datasets order get sense overall performance. Example inspections first imputed dataset. shown , GLM method produces higher median 1.27 much greater range weights. GBM method produces similar mean GLM similarly large range (0-216). bart method similar median even larger range (0-945). super method produces similar median range 0-270. Next, evaluate well weights created using different weighting methods reduced imbalance using assessBalance() function. function calls calcBalStats() function using short formulas specifies balance statistics calculated using IPTW weights supplied. required inputs using assessBalance() function assess balance first round IPTW weights : complete data (data frame, mids object, list imputed datasets dataframes wide format), MSM object (e.g., ‘obj’), weights just created. optional inputs described Step 1b. assessBalance() function returns data frame (list) balance statistics, balance thresholds, binary balanced tag (1 = balanced, 0 = imbalanced) confounder relevant exposure time point. function outputs balance statistics (correlations continuous exposures standardized mean differences binary exposures) relating exposure time point confounders table well plots. function also provides summary balance statistics averaging across time points (imputed datasets supplied). retain optional important confounders (imp_conf) balance threshold (balance_thresh) specified earlier. first assess balance CBPS weighting method. function returns list balance statistics expsoure time point, one entry per imputed dataset (applicable). assessing balance using imputed data, can average across imputed datasets view overall summary performance method. can also examine imputed dataset individually. summarize CBPS balance statistics across imputed datasets examine balance first imputed dataset. user option supply save.save printed output home directory. Averaging across imputed datasets, find 2 imbalanced confounders remaining (35-month exposure time point) 241, median remaining correlation 0.06 maximum 0.07. can visualize imbalance love plots, averaging across imputed datasets, exposure time point (first time point shown ). can also plot balance given imputed datset. can see income 6 15 months remains imbalanced 4th (35-month) time point. can inspect balance statistics confounder relation exposure time points one individually, either averaging across imputed datasets one individually. user option supply save.save printed output home directory. , show example balance statistics first time point, averaged across imputed datasets. shown , two remaining imbalanced confounders related exposure correlation values 0.065 0.061. , assess balance weighting method comparing . summaries, identify optimal weighting method dataset, one yields best confounder balance. , can consider several criteria. note exist gold-standard, hard fast rules identifying optimal balance (especially using imputed data). However, can draw following guidance: Fewest imbalanced confounders remaining relative user-specified balance threshold(s) (summary output); Lowest median absolute balance statistic, across confounders time points, reflecting best overall attenuation confounding (summary output); Lowest maximum absolute balance statistic, across confounders time points (imputed datasets, applicable), indicating weakest remaining relation exposure confounder least balanced confounder (summary output); Reasonable effective sample size following weighting (imputed datasets, applicable), indicating reasonable power detect effects (weightiIt summary output). first three, examine summaries weighting methods. , find CBPS method fewest imbalanced confounders (2), lowest median balance statistic, lowest max balance statistic. examine fourth criterion, use weightIt summary method examine effective sample sizes (“Weighted”) compared orignal sample size (“Unweighted”) across weighting methods. just first imputed dataset. , also find CBPS method yields highest effective sample size 605. inspections, identify best performing weighting method CBPS.","code":"type <- \"short\" short_formulas <- createFormulas(obj = obj, type = type, save.out = save.out) print(short_formulas) #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 6, the short formula for ESETA1.6 is: #> ESETA1.6 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 15, the short formula for ESETA1.15 is: #> ESETA1.15 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + MDI.6 + RHasSO.6 + WndNbrhood.6 + IBRAttn.6 + B18Raw.6 + HOMEETA1.6 + InRatioCor.6 + CORTB.6 + ESETA1.6 #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 24, the short formula for ESETA1.24 is: #> ESETA1.24 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.15 + MDI.15 + RHasSO.15 + IBRAttn.15 + B18Raw.15 + HOMEETA1.15 + InRatioCor.15 + CORTB.15 + ESETA1.15 #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 35, the short formula for ESETA1.35 is: #> ESETA1.35 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.24 + RHasSO.24 + WndNbrhood.24 + IBRAttn.24 + B18Raw.24 + HOMEETA1.24 + InRatioCor.24 + CORTB.24 + EARS_TJo.24 + LESMnPos.24 + LESMnNeg.24 + ESETA1.24 #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 58, the short formula for ESETA1.58 is: #> ESETA1.58 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + RHasSO.35 + WndNbrhood.35 + HOMEETA1.35 + InRatioCor.35 + EARS_TJo.35 + LESMnPos.35 + LESMnNeg.35 + StrDif_Tot.35 + fscore.35 + ESETA1.35 formulas <- short_formulas method <- \"cbps\" weights.cbps <- createWeights(obj = obj, data = data, method = method, formulas = formulas, verbose = TRUE, maxit = 1, # just for testing to speed up save.out = save.out) #> initial value 0.903706 #> final value 0.463025 #> stopped after 2 iterations #> Warning: The optimziation failed to converge; try again with a higher value of #> `maxit`. #> initial value 0.585184 #> final value 0.381680 #> stopped after 2 iterations #> Warning: The optimziation failed to converge; try again with a higher value of #> `maxit`. #> #> For imputation 1 and the `cbps` weighting method, the median weight value is 0.68 (SD = 1.01; range = 0-11). # weights.cbps <- readRDS('file_path_to_saved_weights.rds') print(weights.cbps, i = 1) #> #> For imputation 1 and the `cbps` weighting method, the median weight value is 0.68 (SD = 1.01; range = 0-11). summary(weights.cbps[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 10.69 #> #> - Units with the 5 most extreme weights: #> #> 798 1145 737 1235 877 #> all 7.7683 8.696 9.0943 9.1878 10.69 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.131 0.654 0.418 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 567.09 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 10.69 #> #> - Units with the 5 most extreme weights: #> #> 798 1145 737 1235 877 #> all 7.7683 8.696 9.0943 9.1878 10.69 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.131 0.654 0.418 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 567.09 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 10.69 #> #> - Units with the 5 most extreme weights: #> #> 798 1145 737 1235 877 #> all 7.7683 8.696 9.0943 9.1878 10.69 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.131 0.654 0.418 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 567.09 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 10.69 #> #> - Units with the 5 most extreme weights: #> #> 798 1145 737 1235 877 #> all 7.7683 8.696 9.0943 9.1878 10.69 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.131 0.654 0.418 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 567.09 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 10.69 #> #> - Units with the 5 most extreme weights: #> #> 798 1145 737 1235 877 #> all 7.7683 8.696 9.0943 9.1878 10.69 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.131 0.654 0.418 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 567.09 plot(weights.cbps, i = 1, save.out = save.out) method <- \"glm\" weights.glm <- createWeights(obj = obj, data = data, method = method, formulas = formulas, save.out = save.out) print(weights.glm, i = 1) #> #> For imputation 1 and the `glm` weighting method, the median weight value is 1.27 (SD = 10.03; range = 0-271). summary(weights.glm[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 271.3462 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.1877 58.3054 63.4626 178.9983 271.3462 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.824 0.96 1.144 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 82.74 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 271.3462 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.1877 58.3054 63.4626 178.9983 271.3462 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.824 0.96 1.144 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 82.74 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 271.3462 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.1877 58.3054 63.4626 178.9983 271.3462 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.824 0.96 1.144 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 82.74 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 271.3462 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.1877 58.3054 63.4626 178.9983 271.3462 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.824 0.96 1.144 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 82.74 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 271.3462 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.1877 58.3054 63.4626 178.9983 271.3462 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.824 0.96 1.144 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 82.74 plot(weights.glm, i = 1, save.out = save.out) # method <- \"gbm\" # # weights.gbm <- createWeights(obj = obj, # data = data, # method = method, # formulas = formulas, # save.out = save.out) # # print(weights.gbm, # i = 1) # # summary(weights.gbm[[1]]) # # plot(weights.gbm, # i = 1, # save.out = save.out) method <- \"bart\" weights.bart <- createWeights(obj = obj, data = data, method = method, formulas = formulas, save.out = save.out) print(weights.bart, i = 1) #> #> For imputation 1 and the `bart` weighting method, the median weight value is 1.24 (SD = 16.16; range = 0-545). summary(weights.bart[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 545.0708 #> #> - Units with the 5 most extreme weights: #> #> 30 1235 591 475 1145 #> all 57.9469 58.0412 77.0575 116.4033 545.0708 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 5.854 1.003 1.423 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 36.66 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 545.0708 #> #> - Units with the 5 most extreme weights: #> #> 30 1235 591 475 1145 #> all 57.9469 58.0412 77.0575 116.4033 545.0708 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 5.854 1.003 1.423 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 36.66 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 545.0708 #> #> - Units with the 5 most extreme weights: #> #> 30 1235 591 475 1145 #> all 57.9469 58.0412 77.0575 116.4033 545.0708 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 5.854 1.003 1.423 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 36.66 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 545.0708 #> #> - Units with the 5 most extreme weights: #> #> 30 1235 591 475 1145 #> all 57.9469 58.0412 77.0575 116.4033 545.0708 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 5.854 1.003 1.423 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 36.66 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 545.0708 #> #> - Units with the 5 most extreme weights: #> #> 30 1235 591 475 1145 #> all 57.9469 58.0412 77.0575 116.4033 545.0708 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 5.854 1.003 1.423 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 36.66 plot(weights.bart, i = 1, save.out = save.out) method <- \"super\" weights.super <- createWeights(obj = obj, data = data, method = method, formulas = formulas, save.out = save.out) #> Loading required package: nnls #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning: glm.fit: algorithm did not converge #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases print(weights.super, i = 1) #> #> For imputation 1 and the `super` weighting method, the median weight value is 1.27 (SD = 9.99; range = 0-270). summary(weights.super[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 270.0915 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.0024 58.0163 63.2837 178.6145 270.0915 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.816 0.959 1.141 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 83.08 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 270.0915 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.0024 58.0163 63.2837 178.6145 270.0915 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.816 0.959 1.141 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 83.08 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 270.0915 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.0024 58.0163 63.2837 178.6145 270.0915 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.816 0.959 1.141 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 83.08 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 270.0915 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.0024 58.0163 63.2837 178.6145 270.0915 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.816 0.959 1.141 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 83.08 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 270.0915 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.0024 58.0163 63.2837 178.6145 270.0915 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.816 0.959 1.141 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 83.08 plot(weights.super, i = 1, save.out = save.out) weights <- weights.cbps balance_stats.cbps <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) summary(balance_stats.cbps, save.out = save.out) #> Averaging across imputed datasets using cbps weighting method. #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 0 out of 241 (0.0%) covariates across time points remain imbalanced: #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps` summary(balance_stats.cbps, i = 1, save.out = save.out) #> USER ALERT: For imputation 1 using `cbps` weighting method: As shown below, 4 out of 241 (1.7%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.06 (max: 0.10): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 2 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates for imputation 1 using `cbps` plot(balance_stats.cbps, t = 4, save.out = save.out) plot(balance_stats.cbps, t = 4, i = 1, save.out = save.out) print(balance_stats.cbps, t = 4, save.out = save.out) #> #> +-----------+----------------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +===========+================+===============+============+==========+ #> | ESETA1.35 | state_1 | 0.0123 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | BioDadInHH2_1 | -0.00736 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmAge2 | -0.01172 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmBlac2_1 | -0.00143 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | TcBlac2_1 | -0.00951 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmMrSt2_1 | 0.0046 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmEd2 | -0.04146 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | KFASTScr | -0.0365 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RMomAgeU | 0.01453 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_1 | -0.01442 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_2 | -0.05725 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_3 | 0.06506 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_4 | 0.0196 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_5 | 0.0097 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_1 | 0.01158 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_2 | 0.02051 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_3 | -0.03071 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_4 | 0.00585 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SWghtLB | -0.01947 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SurpPreg_1 | 0.05972 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_1 | 0.01793 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_2 | -0.03624 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_3 | 0.0324 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | DrnkFreq_1 | -0.00796 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | DrnkFreq_2 | 0.00653 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | peri_health | 0.02427 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | caregiv_health | 0.00113 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | gov_assist | 0.00166 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.6 | -0.02835 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.15 | -0.01609 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.24 | 0.002 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | MDI.6 | -0.00345 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | MDI.15 | 0.01669 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.6_1 | 0.02717 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.15_1 | 0.06637 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.24_1 | 0.05935 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | WndNbrhood.6 | -0.04559 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | WndNbrhood.24 | -0.023 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.6 | -0.05173 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.15 | -0.03977 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.24 | -0.0018 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.6 | 0.05331 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.15 | 0.04418 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.24 | 0.0305 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.6 | -0.03406 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.15 | -0.03733 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.24 | -0.01687 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.6 | -0.03603 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.15 | -0.02261 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.24 | -0.01452 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.6 | 0.03428 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.15 | 0.00186 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.24 | 0.02188 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | EARS_TJo.24 | -0.00991 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | LESMnPos.24 | -0.01514 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | LESMnNeg.24 | 0.0321 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.6 | 0.08449 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.15 | 0.08033 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.24 | 0.0035 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> #> Table: Balance Stats for Exposure Time 4 Averaging Across Imputed Datasets weights <- weights.glm balance_stats.glm <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) # weights <- weights.gbm # # balance_stats.gbm <- assessBalance(data = data, # obj = obj, # weights = weights, # imp_conf = imp_conf, # balance_thresh = balance_thresh, # save.out = save.out) weights <- weights.bart balance_stats.bart <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) weights <- weights.super balance_stats.super <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) summary(balance_stats.cbps, save.out = save.out) #> Averaging across imputed datasets using cbps weighting method. #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 0 out of 241 (0.0%) covariates across time points remain imbalanced: #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps` summary(balance_stats.glm, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `glm` weighting method: As shown below, 31 out of 241 (12.9%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.13 (max: 0.29): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 7 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 18 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 2 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `glm` # summary(balance_stats.gbm, # save.out = save.out) summary(balance_stats.bart, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `bart` weighting method: As shown below, 16 out of 241 (6.6%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.13 (max: 0.19): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 3 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 9 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 4 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `bart` summary(balance_stats.super, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `super` weighting method: As shown below, 31 out of 241 (12.9%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.13 (max: 0.29): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 7 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 18 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 2 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `super` summary(weights.cbps[[1]])[[1]][6] #> $effective.sample.size #> Total #> Unweighted 1292.0000 #> Weighted 567.0924 summary(weights.glm[[1]])[[1]][6] #> $effective.sample.size #> Total #> Unweighted 1292.00000 #> Weighted 82.74434 # summary(weights.gbm[[1]])[[1]][6] summary(weights.bart[[1]])[[1]][6] #> $effective.sample.size #> Total #> Unweighted 1292.00000 #> Weighted 36.66269 summary(weights.super[[1]])[[1]][6] #> $effective.sample.size #> Total #> Unweighted 1292.0000 #> Weighted 83.0753"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"a--create-simplified-weights-formulas","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"2a. Create Simplified Weights Formulas","title":"Workflow: Continuous Exposure","text":"First, create shorter, parsimonious weights formulas relating exposure confounders time point using createFormulas() function (type = “short”). exposure time point, formulas contain time invariant confounders well time-varying confounders t-1 lag. logic balancing confounders recent prior time point (t-1 ) may achieve balance levels distal time points, given stability many confounders time. Importantly, empirically assess relax assumption needed subsequent steps (Steps 3a-b). required input create shortened weights formulas using createFormulas() function : MSM object (e.g., ‘obj’) setting type = “short”. addition optional input outlined Step 1a, user also option specify keep_conf, list time-varying confounders (e.g., “variable.t”) always retain lagged confounders shortened formulas. user may use argument retain specific time-varying confounders otherwise excluded step occur lags greater t-1 formula. create short formulas . get list entries containing formula exposure time point. inspect make sure contain time-varying covariates lag one prior exposure time point. formulas considerably shorter full formulas. instance, 58-month exposure time point, formula contains time invariant confounders time-varying confounders 35-month time point.","code":"type <- \"short\" short_formulas <- createFormulas(obj = obj, type = type, save.out = save.out) print(short_formulas) #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 6, the short formula for ESETA1.6 is: #> ESETA1.6 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 15, the short formula for ESETA1.15 is: #> ESETA1.15 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + MDI.6 + RHasSO.6 + WndNbrhood.6 + IBRAttn.6 + B18Raw.6 + HOMEETA1.6 + InRatioCor.6 + CORTB.6 + ESETA1.6 #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 24, the short formula for ESETA1.24 is: #> ESETA1.24 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.15 + MDI.15 + RHasSO.15 + IBRAttn.15 + B18Raw.15 + HOMEETA1.15 + InRatioCor.15 + CORTB.15 + ESETA1.15 #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 35, the short formula for ESETA1.35 is: #> ESETA1.35 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.24 + RHasSO.24 + WndNbrhood.24 + IBRAttn.24 + B18Raw.24 + HOMEETA1.24 + InRatioCor.24 + CORTB.24 + EARS_TJo.24 + LESMnPos.24 + LESMnNeg.24 + ESETA1.24 #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 58, the short formula for ESETA1.58 is: #> ESETA1.58 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + RHasSO.35 + WndNbrhood.35 + HOMEETA1.35 + InRatioCor.35 + EARS_TJo.35 + LESMnPos.35 + LESMnNeg.35 + StrDif_Tot.35 + fscore.35 + ESETA1.35"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"b--create-iptw-balancing-weights-using-multiple-weighting-methods","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"2b. Create IPTW Balancing Weights Using Multiple Weighting Methods","title":"Workflow: Continuous Exposure","text":"created shorter, simplified weights formulas, now create first round IPTW balancing weights (Thoemmes & Ong, 2016) using createWeights() function, shortened weights formulas, available weighting methods. function calls weightitMSM() function WeightIt package (Greifer, 2023) uses time-specific formulas create weights time point automatically multiplying together create one weight per person. Weights stabilized, recommended (Cole & Hernan, 2008; Thoemmes & Ong, 2016), distributions can saved inspection. required inputs using createWeights() function create initial around IPTW balancing weights : MSM object (e.g, ‘obj’), complete data (data frame, mids object, list imputed datasets dataframes wide format), short formulas (see Step 2a). specify short formulas . optional inputs follows. method, provide one following methods calculating balancing weights using weightitMSM() methods validated longitudinal exposures: “cbps” (Covariate Balancing Propensity Score weighting), “gbm” (generalized boosted model), “glm” (generalized linear model; default), “super” (SuperLearner via SuperLearner package; Polley et al., 2013). information can found WeightIt documentation. begin specifying CBPS weighting method. createWeights() function can also take number additional arguments accapted weightitMSM() function (e.g., ‘criterion’, distribution’, ‘SL.library’). package defaults correspond weightIt defaults. user selects SuperLearner (“super”) method, default super learner libraries (‘SL.library’) “SL.glm” “SL.glm.interaction” alternative library can entered input createWeights function. binary exposures, “cbps” method allows specify estimand either ATE, ATT, ATC. “glm”, “super”, “bart” can specify ATE, ATT, ATC, ATO, ATM, ATOS. “gbm”, can specify ATE, ATT, ATC, ATO, ATM. default estimand binary exposures ATE. advise interested user review WeightIt documentation information additional optional arguments available weighting methods. Users option specify verbose = TRUE view information weights creation. function returns list weights objects form WeightItMSM output (entry imputed dataset appropriate). , create IPTW weights using default CBPS method. take run. Note save weights (supplying save.= TRUE custom file name createWeights() home directory initMWM()), function outputs file path use reading weights future use. can useful given weighting methods can take long time run, especially imputed datasets. previously saved CBPS weights, read instead re-creating . Given separate set weights created imputed dataset, conduct inspections imputed dataset. First, view basic statistics CBPS weights given imputed dataset. , note median weight value 0.77 (SD= 1.18) fairly extensive range 0 - 9. Next, look inside output summarize weighting process (drawing summary method weightIt, given imputed dataset. summary also provides effective sample size, sample size results applying weights original sample size, time point. Weighting can often result effective weighted sample size smaller orignal sample size something keep mind evaluating weighting methods. example, see original 1,292 sample reduced 605 upon weighting CBPS method. view distribution plot weights one imputed dataset. user option supply save.save plots home directory. shown , distribution heavy right tail (typical real-world data). right tail distribution represents individuals experienced statistically unexpected levels exposure given levels confounders. create inspect IPTW balancing weights using available methods order evaluate compare performance subsequent steps. , summarize plot averaging across imputed datasets order get sense overall performance. Example inspections first imputed dataset. shown , GLM method produces higher median 1.27 much greater range weights. GBM method produces similar mean GLM similarly large range (0-216). bart method similar median even larger range (0-945). super method produces similar median range 0-270.","code":"formulas <- short_formulas method <- \"cbps\" weights.cbps <- createWeights(obj = obj, data = data, method = method, formulas = formulas, verbose = TRUE, maxit = 1, # just for testing to speed up save.out = save.out) #> initial value 0.903706 #> final value 0.463025 #> stopped after 2 iterations #> Warning: The optimziation failed to converge; try again with a higher value of #> `maxit`. #> initial value 0.585184 #> final value 0.381680 #> stopped after 2 iterations #> Warning: The optimziation failed to converge; try again with a higher value of #> `maxit`. #> #> For imputation 1 and the `cbps` weighting method, the median weight value is 0.68 (SD = 1.01; range = 0-11). # weights.cbps <- readRDS('file_path_to_saved_weights.rds') print(weights.cbps, i = 1) #> #> For imputation 1 and the `cbps` weighting method, the median weight value is 0.68 (SD = 1.01; range = 0-11). summary(weights.cbps[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 10.69 #> #> - Units with the 5 most extreme weights: #> #> 798 1145 737 1235 877 #> all 7.7683 8.696 9.0943 9.1878 10.69 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.131 0.654 0.418 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 567.09 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 10.69 #> #> - Units with the 5 most extreme weights: #> #> 798 1145 737 1235 877 #> all 7.7683 8.696 9.0943 9.1878 10.69 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.131 0.654 0.418 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 567.09 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 10.69 #> #> - Units with the 5 most extreme weights: #> #> 798 1145 737 1235 877 #> all 7.7683 8.696 9.0943 9.1878 10.69 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.131 0.654 0.418 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 567.09 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 10.69 #> #> - Units with the 5 most extreme weights: #> #> 798 1145 737 1235 877 #> all 7.7683 8.696 9.0943 9.1878 10.69 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.131 0.654 0.418 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 567.09 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 10.69 #> #> - Units with the 5 most extreme weights: #> #> 798 1145 737 1235 877 #> all 7.7683 8.696 9.0943 9.1878 10.69 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.131 0.654 0.418 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 567.09 plot(weights.cbps, i = 1, save.out = save.out) method <- \"glm\" weights.glm <- createWeights(obj = obj, data = data, method = method, formulas = formulas, save.out = save.out) print(weights.glm, i = 1) #> #> For imputation 1 and the `glm` weighting method, the median weight value is 1.27 (SD = 10.03; range = 0-271). summary(weights.glm[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 271.3462 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.1877 58.3054 63.4626 178.9983 271.3462 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.824 0.96 1.144 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 82.74 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 271.3462 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.1877 58.3054 63.4626 178.9983 271.3462 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.824 0.96 1.144 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 82.74 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 271.3462 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.1877 58.3054 63.4626 178.9983 271.3462 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.824 0.96 1.144 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 82.74 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 271.3462 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.1877 58.3054 63.4626 178.9983 271.3462 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.824 0.96 1.144 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 82.74 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 271.3462 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.1877 58.3054 63.4626 178.9983 271.3462 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.824 0.96 1.144 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 82.74 plot(weights.glm, i = 1, save.out = save.out) # method <- \"gbm\" # # weights.gbm <- createWeights(obj = obj, # data = data, # method = method, # formulas = formulas, # save.out = save.out) # # print(weights.gbm, # i = 1) # # summary(weights.gbm[[1]]) # # plot(weights.gbm, # i = 1, # save.out = save.out) method <- \"bart\" weights.bart <- createWeights(obj = obj, data = data, method = method, formulas = formulas, save.out = save.out) print(weights.bart, i = 1) #> #> For imputation 1 and the `bart` weighting method, the median weight value is 1.24 (SD = 16.16; range = 0-545). summary(weights.bart[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 545.0708 #> #> - Units with the 5 most extreme weights: #> #> 30 1235 591 475 1145 #> all 57.9469 58.0412 77.0575 116.4033 545.0708 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 5.854 1.003 1.423 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 36.66 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 545.0708 #> #> - Units with the 5 most extreme weights: #> #> 30 1235 591 475 1145 #> all 57.9469 58.0412 77.0575 116.4033 545.0708 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 5.854 1.003 1.423 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 36.66 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 545.0708 #> #> - Units with the 5 most extreme weights: #> #> 30 1235 591 475 1145 #> all 57.9469 58.0412 77.0575 116.4033 545.0708 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 5.854 1.003 1.423 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 36.66 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 545.0708 #> #> - Units with the 5 most extreme weights: #> #> 30 1235 591 475 1145 #> all 57.9469 58.0412 77.0575 116.4033 545.0708 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 5.854 1.003 1.423 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 36.66 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 545.0708 #> #> - Units with the 5 most extreme weights: #> #> 30 1235 591 475 1145 #> all 57.9469 58.0412 77.0575 116.4033 545.0708 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 5.854 1.003 1.423 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 36.66 plot(weights.bart, i = 1, save.out = save.out) method <- \"super\" weights.super <- createWeights(obj = obj, data = data, method = method, formulas = formulas, save.out = save.out) #> Loading required package: nnls #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning: glm.fit: algorithm did not converge #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases print(weights.super, i = 1) #> #> For imputation 1 and the `super` weighting method, the median weight value is 1.27 (SD = 9.99; range = 0-270). summary(weights.super[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 270.0915 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.0024 58.0163 63.2837 178.6145 270.0915 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.816 0.959 1.141 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 83.08 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 270.0915 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.0024 58.0163 63.2837 178.6145 270.0915 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.816 0.959 1.141 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 83.08 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 270.0915 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.0024 58.0163 63.2837 178.6145 270.0915 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.816 0.959 1.141 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 83.08 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 270.0915 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.0024 58.0163 63.2837 178.6145 270.0915 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.816 0.959 1.141 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 83.08 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 270.0915 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.0024 58.0163 63.2837 178.6145 270.0915 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.816 0.959 1.141 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 83.08 plot(weights.super, i = 1, save.out = save.out)"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"cbps","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"CBPS","title":"Workflow: Continuous Exposure","text":", create IPTW weights using default CBPS method. take run. Note save weights (supplying save.= TRUE custom file name createWeights() home directory initMWM()), function outputs file path use reading weights future use. can useful given weighting methods can take long time run, especially imputed datasets. previously saved CBPS weights, read instead re-creating . Given separate set weights created imputed dataset, conduct inspections imputed dataset. First, view basic statistics CBPS weights given imputed dataset. , note median weight value 0.77 (SD= 1.18) fairly extensive range 0 - 9. Next, look inside output summarize weighting process (drawing summary method weightIt, given imputed dataset. summary also provides effective sample size, sample size results applying weights original sample size, time point. Weighting can often result effective weighted sample size smaller orignal sample size something keep mind evaluating weighting methods. example, see original 1,292 sample reduced 605 upon weighting CBPS method. view distribution plot weights one imputed dataset. user option supply save.save plots home directory. shown , distribution heavy right tail (typical real-world data). right tail distribution represents individuals experienced statistically unexpected levels exposure given levels confounders. create inspect IPTW balancing weights using available methods order evaluate compare performance subsequent steps. , summarize plot averaging across imputed datasets order get sense overall performance. Example inspections first imputed dataset.","code":"weights.cbps <- createWeights(obj = obj, data = data, method = method, formulas = formulas, verbose = TRUE, maxit = 1, # just for testing to speed up save.out = save.out) #> initial value 0.903706 #> final value 0.463025 #> stopped after 2 iterations #> Warning: The optimziation failed to converge; try again with a higher value of #> `maxit`. #> initial value 0.585184 #> final value 0.381680 #> stopped after 2 iterations #> Warning: The optimziation failed to converge; try again with a higher value of #> `maxit`. #> #> For imputation 1 and the `cbps` weighting method, the median weight value is 0.68 (SD = 1.01; range = 0-11). # weights.cbps <- readRDS('file_path_to_saved_weights.rds') print(weights.cbps, i = 1) #> #> For imputation 1 and the `cbps` weighting method, the median weight value is 0.68 (SD = 1.01; range = 0-11). summary(weights.cbps[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 10.69 #> #> - Units with the 5 most extreme weights: #> #> 798 1145 737 1235 877 #> all 7.7683 8.696 9.0943 9.1878 10.69 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.131 0.654 0.418 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 567.09 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 10.69 #> #> - Units with the 5 most extreme weights: #> #> 798 1145 737 1235 877 #> all 7.7683 8.696 9.0943 9.1878 10.69 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.131 0.654 0.418 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 567.09 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 10.69 #> #> - Units with the 5 most extreme weights: #> #> 798 1145 737 1235 877 #> all 7.7683 8.696 9.0943 9.1878 10.69 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.131 0.654 0.418 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 567.09 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 10.69 #> #> - Units with the 5 most extreme weights: #> #> 798 1145 737 1235 877 #> all 7.7683 8.696 9.0943 9.1878 10.69 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.131 0.654 0.418 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 567.09 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 10.69 #> #> - Units with the 5 most extreme weights: #> #> 798 1145 737 1235 877 #> all 7.7683 8.696 9.0943 9.1878 10.69 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.131 0.654 0.418 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 567.09 plot(weights.cbps, i = 1, save.out = save.out)"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"glm","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"GLM","title":"Workflow: Continuous Exposure","text":"shown , GLM method produces higher median 1.27 much greater range weights.","code":"method <- \"glm\" weights.glm <- createWeights(obj = obj, data = data, method = method, formulas = formulas, save.out = save.out) print(weights.glm, i = 1) #> #> For imputation 1 and the `glm` weighting method, the median weight value is 1.27 (SD = 10.03; range = 0-271). summary(weights.glm[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 271.3462 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.1877 58.3054 63.4626 178.9983 271.3462 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.824 0.96 1.144 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 82.74 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 271.3462 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.1877 58.3054 63.4626 178.9983 271.3462 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.824 0.96 1.144 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 82.74 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 271.3462 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.1877 58.3054 63.4626 178.9983 271.3462 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.824 0.96 1.144 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 82.74 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 271.3462 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.1877 58.3054 63.4626 178.9983 271.3462 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.824 0.96 1.144 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 82.74 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 271.3462 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.1877 58.3054 63.4626 178.9983 271.3462 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.824 0.96 1.144 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 82.74 plot(weights.glm, i = 1, save.out = save.out)"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"gbm","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"GBM","title":"Workflow: Continuous Exposure","text":"GBM method produces similar mean GLM similarly large range (0-216).","code":"# method <- \"gbm\" # # weights.gbm <- createWeights(obj = obj, # data = data, # method = method, # formulas = formulas, # save.out = save.out) # # print(weights.gbm, # i = 1) # # summary(weights.gbm[[1]]) # # plot(weights.gbm, # i = 1, # save.out = save.out)"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"bart","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"Bart","title":"Workflow: Continuous Exposure","text":"bart method similar median even larger range (0-945).","code":"method <- \"bart\" weights.bart <- createWeights(obj = obj, data = data, method = method, formulas = formulas, save.out = save.out) print(weights.bart, i = 1) #> #> For imputation 1 and the `bart` weighting method, the median weight value is 1.24 (SD = 16.16; range = 0-545). summary(weights.bart[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 545.0708 #> #> - Units with the 5 most extreme weights: #> #> 30 1235 591 475 1145 #> all 57.9469 58.0412 77.0575 116.4033 545.0708 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 5.854 1.003 1.423 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 36.66 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 545.0708 #> #> - Units with the 5 most extreme weights: #> #> 30 1235 591 475 1145 #> all 57.9469 58.0412 77.0575 116.4033 545.0708 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 5.854 1.003 1.423 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 36.66 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 545.0708 #> #> - Units with the 5 most extreme weights: #> #> 30 1235 591 475 1145 #> all 57.9469 58.0412 77.0575 116.4033 545.0708 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 5.854 1.003 1.423 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 36.66 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 545.0708 #> #> - Units with the 5 most extreme weights: #> #> 30 1235 591 475 1145 #> all 57.9469 58.0412 77.0575 116.4033 545.0708 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 5.854 1.003 1.423 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 36.66 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 545.0708 #> #> - Units with the 5 most extreme weights: #> #> 30 1235 591 475 1145 #> all 57.9469 58.0412 77.0575 116.4033 545.0708 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 5.854 1.003 1.423 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 36.66 plot(weights.bart, i = 1, save.out = save.out)"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"super","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"Super","title":"Workflow: Continuous Exposure","text":"super method produces similar median range 0-270.","code":"method <- \"super\" weights.super <- createWeights(obj = obj, data = data, method = method, formulas = formulas, save.out = save.out) #> Loading required package: nnls #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning: glm.fit: algorithm did not converge #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases print(weights.super, i = 1) #> #> For imputation 1 and the `super` weighting method, the median weight value is 1.27 (SD = 9.99; range = 0-270). summary(weights.super[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 270.0915 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.0024 58.0163 63.2837 178.6145 270.0915 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.816 0.959 1.141 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 83.08 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 270.0915 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.0024 58.0163 63.2837 178.6145 270.0915 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.816 0.959 1.141 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 83.08 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 270.0915 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.0024 58.0163 63.2837 178.6145 270.0915 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.816 0.959 1.141 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 83.08 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 270.0915 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.0024 58.0163 63.2837 178.6145 270.0915 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.816 0.959 1.141 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 83.08 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 270.0915 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.0024 58.0163 63.2837 178.6145 270.0915 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.816 0.959 1.141 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 83.08 plot(weights.super, i = 1, save.out = save.out)"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"c--assess-all-weighting-methods-to-determine-optimal-method","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"2c. Assess All Weighting Methods to Determine Optimal Method","title":"Workflow: Continuous Exposure","text":"Next, evaluate well weights created using different weighting methods reduced imbalance using assessBalance() function. function calls calcBalStats() function using short formulas specifies balance statistics calculated using IPTW weights supplied. required inputs using assessBalance() function assess balance first round IPTW weights : complete data (data frame, mids object, list imputed datasets dataframes wide format), MSM object (e.g., ‘obj’), weights just created. optional inputs described Step 1b. assessBalance() function returns data frame (list) balance statistics, balance thresholds, binary balanced tag (1 = balanced, 0 = imbalanced) confounder relevant exposure time point. function outputs balance statistics (correlations continuous exposures standardized mean differences binary exposures) relating exposure time point confounders table well plots. function also provides summary balance statistics averaging across time points (imputed datasets supplied). retain optional important confounders (imp_conf) balance threshold (balance_thresh) specified earlier. first assess balance CBPS weighting method. function returns list balance statistics expsoure time point, one entry per imputed dataset (applicable). assessing balance using imputed data, can average across imputed datasets view overall summary performance method. can also examine imputed dataset individually. summarize CBPS balance statistics across imputed datasets examine balance first imputed dataset. user option supply save.save printed output home directory. Averaging across imputed datasets, find 2 imbalanced confounders remaining (35-month exposure time point) 241, median remaining correlation 0.06 maximum 0.07. can visualize imbalance love plots, averaging across imputed datasets, exposure time point (first time point shown ). can also plot balance given imputed datset. can see income 6 15 months remains imbalanced 4th (35-month) time point. can inspect balance statistics confounder relation exposure time points one individually, either averaging across imputed datasets one individually. user option supply save.save printed output home directory. , show example balance statistics first time point, averaged across imputed datasets. shown , two remaining imbalanced confounders related exposure correlation values 0.065 0.061. , assess balance weighting method comparing . summaries, identify optimal weighting method dataset, one yields best confounder balance. , can consider several criteria. note exist gold-standard, hard fast rules identifying optimal balance (especially using imputed data). However, can draw following guidance: Fewest imbalanced confounders remaining relative user-specified balance threshold(s) (summary output); Lowest median absolute balance statistic, across confounders time points, reflecting best overall attenuation confounding (summary output); Lowest maximum absolute balance statistic, across confounders time points (imputed datasets, applicable), indicating weakest remaining relation exposure confounder least balanced confounder (summary output); Reasonable effective sample size following weighting (imputed datasets, applicable), indicating reasonable power detect effects (weightiIt summary output). first three, examine summaries weighting methods. , find CBPS method fewest imbalanced confounders (2), lowest median balance statistic, lowest max balance statistic. examine fourth criterion, use weightIt summary method examine effective sample sizes (“Weighted”) compared orignal sample size (“Unweighted”) across weighting methods. just first imputed dataset. , also find CBPS method yields highest effective sample size 605. inspections, identify best performing weighting method CBPS.","code":"weights <- weights.cbps balance_stats.cbps <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) summary(balance_stats.cbps, save.out = save.out) #> Averaging across imputed datasets using cbps weighting method. #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 0 out of 241 (0.0%) covariates across time points remain imbalanced: #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps` summary(balance_stats.cbps, i = 1, save.out = save.out) #> USER ALERT: For imputation 1 using `cbps` weighting method: As shown below, 4 out of 241 (1.7%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.06 (max: 0.10): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 2 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates for imputation 1 using `cbps` plot(balance_stats.cbps, t = 4, save.out = save.out) plot(balance_stats.cbps, t = 4, i = 1, save.out = save.out) print(balance_stats.cbps, t = 4, save.out = save.out) #> #> +-----------+----------------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +===========+================+===============+============+==========+ #> | ESETA1.35 | state_1 | 0.0123 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | BioDadInHH2_1 | -0.00736 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmAge2 | -0.01172 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmBlac2_1 | -0.00143 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | TcBlac2_1 | -0.00951 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmMrSt2_1 | 0.0046 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmEd2 | -0.04146 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | KFASTScr | -0.0365 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RMomAgeU | 0.01453 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_1 | -0.01442 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_2 | -0.05725 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_3 | 0.06506 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_4 | 0.0196 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_5 | 0.0097 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_1 | 0.01158 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_2 | 0.02051 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_3 | -0.03071 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_4 | 0.00585 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SWghtLB | -0.01947 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SurpPreg_1 | 0.05972 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_1 | 0.01793 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_2 | -0.03624 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_3 | 0.0324 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | DrnkFreq_1 | -0.00796 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | DrnkFreq_2 | 0.00653 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | peri_health | 0.02427 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | caregiv_health | 0.00113 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | gov_assist | 0.00166 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.6 | -0.02835 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.15 | -0.01609 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.24 | 0.002 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | MDI.6 | -0.00345 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | MDI.15 | 0.01669 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.6_1 | 0.02717 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.15_1 | 0.06637 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.24_1 | 0.05935 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | WndNbrhood.6 | -0.04559 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | WndNbrhood.24 | -0.023 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.6 | -0.05173 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.15 | -0.03977 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.24 | -0.0018 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.6 | 0.05331 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.15 | 0.04418 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.24 | 0.0305 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.6 | -0.03406 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.15 | -0.03733 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.24 | -0.01687 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.6 | -0.03603 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.15 | -0.02261 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.24 | -0.01452 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.6 | 0.03428 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.15 | 0.00186 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.24 | 0.02188 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | EARS_TJo.24 | -0.00991 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | LESMnPos.24 | -0.01514 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | LESMnNeg.24 | 0.0321 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.6 | 0.08449 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.15 | 0.08033 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.24 | 0.0035 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> #> Table: Balance Stats for Exposure Time 4 Averaging Across Imputed Datasets weights <- weights.glm balance_stats.glm <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) # weights <- weights.gbm # # balance_stats.gbm <- assessBalance(data = data, # obj = obj, # weights = weights, # imp_conf = imp_conf, # balance_thresh = balance_thresh, # save.out = save.out) weights <- weights.bart balance_stats.bart <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) weights <- weights.super balance_stats.super <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) summary(balance_stats.cbps, save.out = save.out) #> Averaging across imputed datasets using cbps weighting method. #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 0 out of 241 (0.0%) covariates across time points remain imbalanced: #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps` summary(balance_stats.glm, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `glm` weighting method: As shown below, 31 out of 241 (12.9%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.13 (max: 0.29): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 7 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 18 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 2 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `glm` # summary(balance_stats.gbm, # save.out = save.out) summary(balance_stats.bart, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `bart` weighting method: As shown below, 16 out of 241 (6.6%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.13 (max: 0.19): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 3 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 9 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 4 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `bart` summary(balance_stats.super, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `super` weighting method: As shown below, 31 out of 241 (12.9%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.13 (max: 0.29): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 7 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 18 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 2 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `super` summary(weights.cbps[[1]])[[1]][6] #> $effective.sample.size #> Total #> Unweighted 1292.0000 #> Weighted 567.0924 summary(weights.glm[[1]])[[1]][6] #> $effective.sample.size #> Total #> Unweighted 1292.00000 #> Weighted 82.74434 # summary(weights.gbm[[1]])[[1]][6] summary(weights.bart[[1]])[[1]][6] #> $effective.sample.size #> Total #> Unweighted 1292.00000 #> Weighted 36.66269 summary(weights.super[[1]])[[1]][6] #> $effective.sample.size #> Total #> Unweighted 1292.0000 #> Weighted 83.0753"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"cbps-1","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"CBPS","title":"Workflow: Continuous Exposure","text":"first assess balance CBPS weighting method. function returns list balance statistics expsoure time point, one entry per imputed dataset (applicable). assessing balance using imputed data, can average across imputed datasets view overall summary performance method. can also examine imputed dataset individually. summarize CBPS balance statistics across imputed datasets examine balance first imputed dataset. user option supply save.save printed output home directory. Averaging across imputed datasets, find 2 imbalanced confounders remaining (35-month exposure time point) 241, median remaining correlation 0.06 maximum 0.07. can visualize imbalance love plots, averaging across imputed datasets, exposure time point (first time point shown ). can also plot balance given imputed datset. can see income 6 15 months remains imbalanced 4th (35-month) time point. can inspect balance statistics confounder relation exposure time points one individually, either averaging across imputed datasets one individually. user option supply save.save printed output home directory. , show example balance statistics first time point, averaged across imputed datasets. shown , two remaining imbalanced confounders related exposure correlation values 0.065 0.061. , assess balance weighting method comparing .","code":"weights <- weights.cbps balance_stats.cbps <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) summary(balance_stats.cbps, save.out = save.out) #> Averaging across imputed datasets using cbps weighting method. #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 0 out of 241 (0.0%) covariates across time points remain imbalanced: #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps` summary(balance_stats.cbps, i = 1, save.out = save.out) #> USER ALERT: For imputation 1 using `cbps` weighting method: As shown below, 4 out of 241 (1.7%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.06 (max: 0.10): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 2 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates for imputation 1 using `cbps` plot(balance_stats.cbps, t = 4, save.out = save.out) plot(balance_stats.cbps, t = 4, i = 1, save.out = save.out) print(balance_stats.cbps, t = 4, save.out = save.out) #> #> +-----------+----------------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +===========+================+===============+============+==========+ #> | ESETA1.35 | state_1 | 0.0123 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | BioDadInHH2_1 | -0.00736 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmAge2 | -0.01172 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmBlac2_1 | -0.00143 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | TcBlac2_1 | -0.00951 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmMrSt2_1 | 0.0046 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmEd2 | -0.04146 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | KFASTScr | -0.0365 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RMomAgeU | 0.01453 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_1 | -0.01442 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_2 | -0.05725 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_3 | 0.06506 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_4 | 0.0196 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_5 | 0.0097 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_1 | 0.01158 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_2 | 0.02051 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_3 | -0.03071 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_4 | 0.00585 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SWghtLB | -0.01947 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SurpPreg_1 | 0.05972 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_1 | 0.01793 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_2 | -0.03624 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_3 | 0.0324 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | DrnkFreq_1 | -0.00796 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | DrnkFreq_2 | 0.00653 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | peri_health | 0.02427 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | caregiv_health | 0.00113 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | gov_assist | 0.00166 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.6 | -0.02835 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.15 | -0.01609 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.24 | 0.002 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | MDI.6 | -0.00345 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | MDI.15 | 0.01669 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.6_1 | 0.02717 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.15_1 | 0.06637 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.24_1 | 0.05935 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | WndNbrhood.6 | -0.04559 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | WndNbrhood.24 | -0.023 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.6 | -0.05173 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.15 | -0.03977 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.24 | -0.0018 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.6 | 0.05331 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.15 | 0.04418 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.24 | 0.0305 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.6 | -0.03406 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.15 | -0.03733 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.24 | -0.01687 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.6 | -0.03603 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.15 | -0.02261 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.24 | -0.01452 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.6 | 0.03428 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.15 | 0.00186 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.24 | 0.02188 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | EARS_TJo.24 | -0.00991 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | LESMnPos.24 | -0.01514 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | LESMnNeg.24 | 0.0321 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.6 | 0.08449 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.15 | 0.08033 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.24 | 0.0035 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> #> Table: Balance Stats for Exposure Time 4 Averaging Across Imputed Datasets"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"glm-1","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"GLM","title":"Workflow: Continuous Exposure","text":"","code":"weights <- weights.glm balance_stats.glm <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out)"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"gbm-1","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"GBM","title":"Workflow: Continuous Exposure","text":"","code":"# weights <- weights.gbm # # balance_stats.gbm <- assessBalance(data = data, # obj = obj, # weights = weights, # imp_conf = imp_conf, # balance_thresh = balance_thresh, # save.out = save.out)"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"bart-1","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"Bart","title":"Workflow: Continuous Exposure","text":"","code":"weights <- weights.bart balance_stats.bart <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out)"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"super-1","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"Super","title":"Workflow: Continuous Exposure","text":"summaries, identify optimal weighting method dataset, one yields best confounder balance. , can consider several criteria. note exist gold-standard, hard fast rules identifying optimal balance (especially using imputed data). However, can draw following guidance: Fewest imbalanced confounders remaining relative user-specified balance threshold(s) (summary output); Lowest median absolute balance statistic, across confounders time points, reflecting best overall attenuation confounding (summary output); Lowest maximum absolute balance statistic, across confounders time points (imputed datasets, applicable), indicating weakest remaining relation exposure confounder least balanced confounder (summary output); Reasonable effective sample size following weighting (imputed datasets, applicable), indicating reasonable power detect effects (weightiIt summary output). first three, examine summaries weighting methods. , find CBPS method fewest imbalanced confounders (2), lowest median balance statistic, lowest max balance statistic. examine fourth criterion, use weightIt summary method examine effective sample sizes (“Weighted”) compared orignal sample size (“Unweighted”) across weighting methods. just first imputed dataset. , also find CBPS method yields highest effective sample size 605. inspections, identify best performing weighting method CBPS.","code":"weights <- weights.super balance_stats.super <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) summary(balance_stats.cbps, save.out = save.out) #> Averaging across imputed datasets using cbps weighting method. #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 0 out of 241 (0.0%) covariates across time points remain imbalanced: #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps` summary(balance_stats.glm, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `glm` weighting method: As shown below, 31 out of 241 (12.9%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.13 (max: 0.29): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 7 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 18 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 2 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `glm` # summary(balance_stats.gbm, # save.out = save.out) summary(balance_stats.bart, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `bart` weighting method: As shown below, 16 out of 241 (6.6%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.13 (max: 0.19): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 3 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 9 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 4 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `bart` summary(balance_stats.super, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `super` weighting method: As shown below, 31 out of 241 (12.9%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.13 (max: 0.29): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 7 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 18 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 2 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `super` summary(weights.cbps[[1]])[[1]][6] #> $effective.sample.size #> Total #> Unweighted 1292.0000 #> Weighted 567.0924 summary(weights.glm[[1]])[[1]][6] #> $effective.sample.size #> Total #> Unweighted 1292.00000 #> Weighted 82.74434 # summary(weights.gbm[[1]])[[1]][6] summary(weights.bart[[1]])[[1]][6] #> $effective.sample.size #> Total #> Unweighted 1292.00000 #> Weighted 36.66269 summary(weights.super[[1]])[[1]][6] #> $effective.sample.size #> Total #> Unweighted 1292.0000 #> Weighted 83.0753"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"step-3-create-updated-formulas-re-specify-weights-using-optimal-weighting-method","dir":"Articles","previous_headings":"","what":"STEP 3: Create Updated Formulas & Re-Specify Weights Using Optimal Weighting Method","title":"Workflow: Continuous Exposure","text":"goal next step closely inspect balance reults best-performing weights created shortened weights formulas, add shortened formulas time-varying confounders lags > t-1 successfully balanced, create final round weights. next inspect balance produced weights created previous step best-performing weights method (.e., using SuperLearner method). , revisit assumption balancing proximal time-varying confounders (t-1) confers balance confounders distal prior time points (t- 1+). closely inspect balance CBPS weights, averaged across imputed datasets. real-world data, often difficult fully balance many confounding variables, especially across time. user find confounders remain imbalanced, can skip Step 3d. Given identified remaining imbalanced confounders, proceed Step 3b. Subsequently, update shortened formulas include time-varying confounders (t-1 +) successfully balanced full formulas, shown . , create final round weights formulas using createFormulas() function (setting type = “update” providing balance statistics bal_stats field). createFormulas() function draws user-provided balance statistics automatically identify add formulas exposure time point time-varying confounders lags greater 1 remain imbalanced weighting. function displays weights formula console message user time-varying confounders added. required input update shortened weights formulas using createFormulas() function : MSM object (e.g., “obj”), setting type = “update”, providing bal_stats balance statistics just created Step 3a. optional input detailed Step 1a. function returns list weights formulas labeled type, exposure, outcome, exposure time point. , update short formulas using balance statistics best-performing weights. inspect new formulas make sure imbalanced covariates added appropriate formulas. user option supply save.save printed output home directory. shown , income 6 15 months (“InRatioCor.6” “InRatioCor.15”) added 35-month weights formula. originally weights formula given lags greater t -1. remaining imbalance suggests achieving balance 24-month income successfully balance prior levels income. use weights formulas recreate CBPS weights effort achieve greatest reduction balance. Next, create final set balancing weights using optimal weighting method identified Step 2c updated formulas previous step using createWeights() function (method = “…’), SuperLearner method optimal weighting method identified Step 2c. function calls weightitMSM() function WeightIt package (Greifer, 2023) uses time-specific formulas create weights time point automatically multiplying together create one weight per person. Weights stabilized, recommended (Cole & Hernan, 2008; Thoemmes & Ong, 2016) distributions saved home directory inspection. required inputs using createWeights() function create final round IPTW balancing weights using updated short weights formulas : complete data (data frame, mids object, list imputed datasets dataframes wide format), MSM object (e.g., “obj”), best-performing weights method, updated formulas (see Step 3a). optional input createWeights() function listed Step 2b. function returns list form WeightItMSM output. , use updated formulas CPBS weighting method create final round IPTW balancing weights. inspect final weights imputed dataset. user option supply save.save printed plot output home directory. shown , weights median value 0.77 range 0-9, . next step trim (.e., winsorize) final set weights eliminate heavy right tail distribution using trimWeights() function. function draws Weightit package (Griefer, 2023) plots summarizes trimmed weights. function outputs list trimmed weights either single nested list (labeled “0” data data frame format) nested lists imputed dataset (data imputed). required input trimWeights() function final weights just created. optional input allows user specify quantile value (0-1; default 0.95) weights replaced weight value quantile, reduce heavy right tail. , use default 95th percentile trimming weights. trim final weights . function returns list weights objects, containing trimmed weights, form weightitMSM output ( one entry per imputed dataset, applicable). entry also specifies quantile value weights trimmed. inspect trimmed weights one imputed datasets . user option supply save.save plots home directory. shown , weights still median value 0.77 smaller standard deviation range now goes 0-4. create trimmed weights using two quantile values + /- ~0.3 previously chosen quantile value, order conduct recommended sensitivity analyses subsequent steps. first create weights 92nd quantile value. Trimming 92nd quantile preserves median 0.77 even smaller standard deviation range. 98th quantile value. Trimming instead 98th quantile produces larger standard deviation range. find comparable descriptive statistics sets weights, upper range value varying quantile cutoff. assess consequences differences (e.g., different ranges) subsequent steps.","code":"print(balance_stats.cbps) #> #> +-----------+----------------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +===========+================+===============+============+==========+ #> | ESETA1.6 | state_1 | -0.015841 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | BioDadInHH2_1 | 0.049787 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmAge2 | 0.021011 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmBlac2_1 | -0.033318 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | TcBlac2_1 | -0.017018 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmMrSt2_1 | 0.026148 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmEd2 | 0.001702 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | KFASTScr | -0.016403 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RMomAgeU | 0.072699 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_1 | -0.013994 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_2 | -0.020431 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_3 | 0.02928 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_4 | 0.01127 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_5 | 0.012702 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_1 | 0.003785 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_2 | 0.00374 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_3 | -0.005058 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_4 | -0.002294 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SWghtLB | -0.030219 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SurpPreg_1 | -0.004567 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_1 | 0.02189 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_2 | -0.027643 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_3 | 0.012046 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | DrnkFreq_1 | -0.026237 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | DrnkFreq_2 | 0.013558 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | peri_health | -0.035748 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | caregiv_health | -0.003855 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | gov_assist | -0.022816 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | state_1 | 0.036174 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | BioDadInHH2_1 | -0.012204 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmAge2 | 0.004854 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmBlac2_1 | 0.042683 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | TcBlac2_1 | 0.025346 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmMrSt2_1 | 0.004899 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmEd2 | -0.029365 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | KFASTScr | -0.037699 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RMomAgeU | -0.041403 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_1 | -0.035278 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_2 | 0.001438 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_3 | -0.011183 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_4 | 0.010747 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_5 | -0.049295 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_1 | -0.033142 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_2 | 0.044428 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_3 | -0.016749 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_4 | 0.000614 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SWghtLB | 0.020957 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SurpPreg_1 | 0.027651 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_1 | -0.050611 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_2 | 0.069412 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_3 | -0.026007 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | DrnkFreq_1 | -0.011565 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | DrnkFreq_2 | 0.003636 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | peri_health | 0.011326 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | caregiv_health | 0.007437 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | gov_assist | -0.015918 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SAAmylase.6 | -0.038498 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | MDI.6 | 0.045319 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHasSO.6_1 | -0.02082 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | WndNbrhood.6 | 0.004196 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | IBRAttn.6 | -0.019396 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | B18Raw.6 | 0.033228 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HOMEETA1.6 | -0.008945 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | InRatioCor.6 | -0.045347 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | CORTB.6 | 0.010691 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | ESETA1.6 | 0.043475 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | state_1 | 0.006241 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | BioDadInHH2_1 | -0.035814 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | PmAge2 | -0.017532 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | PmBlac2_1 | 0.015892 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | TcBlac2_1 | 0.030768 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | PmMrSt2_1 | 0.062369 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | PmEd2 | 0.00653 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | KFASTScr | 0.032766 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RMomAgeU | 0.032742 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHealth_1 | 0.00826 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHealth_2 | 0.025263 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHealth_3 | -0.029311 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHealth_4 | -0.020001 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHealth_5 | 0.057299 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | HomeOwnd_1 | -0.032929 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | HomeOwnd_2 | 0.008234 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | HomeOwnd_3 | 0.000591 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | HomeOwnd_4 | 0.022929 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SWghtLB | -0.008564 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SurpPreg_1 | -0.037616 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SmokTotl_1 | 0.011311 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SmokTotl_2 | -0.000889 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SmokTotl_3 | 0.002071 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | DrnkFreq_1 | -0.011027 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | DrnkFreq_2 | 0.012054 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | peri_health | -0.040005 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | caregiv_health | 0.002807 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | gov_assist | 0.017188 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SAAmylase.6 | 0.015602 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SAAmylase.15 | 0.043926 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | MDI.6 | 0.02066 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | MDI.15 | 0.002145 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHasSO.6_1 | -0.027332 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHasSO.15_1 | 0.000214 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | WndNbrhood.6 | -0.000298 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | IBRAttn.6 | 0.015692 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | IBRAttn.15 | 0.004147 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | B18Raw.6 | 0.093979 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | B18Raw.15 | -0.003861 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | HOMEETA1.6 | 0.006479 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | HOMEETA1.15 | 0.016107 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | InRatioCor.6 | -0.043574 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | InRatioCor.15 | -0.002573 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | CORTB.6 | 0.040583 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | CORTB.15 | -0.007733 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | ESETA1.6 | 0.038786 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | ESETA1.15 | 0.016269 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | state_1 | 0.012297 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | BioDadInHH2_1 | -0.007364 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmAge2 | -0.011717 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmBlac2_1 | -0.001426 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | TcBlac2_1 | -0.009506 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmMrSt2_1 | 0.004603 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmEd2 | -0.041457 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | KFASTScr | -0.036504 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RMomAgeU | 0.014532 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_1 | -0.014423 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_2 | -0.057253 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_3 | 0.065055 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_4 | 0.019599 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_5 | 0.009704 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_1 | 0.011584 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_2 | 0.020508 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_3 | -0.030714 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_4 | 0.005852 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SWghtLB | -0.019471 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SurpPreg_1 | 0.059723 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_1 | 0.017933 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_2 | -0.036241 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_3 | 0.0324 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | DrnkFreq_1 | -0.007962 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | DrnkFreq_2 | 0.006528 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | peri_health | 0.024272 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | caregiv_health | 0.001126 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | gov_assist | 0.001664 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.6 | -0.02835 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.15 | -0.016089 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.24 | 0.002003 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | MDI.6 | -0.003452 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | MDI.15 | 0.016688 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.6_1 | 0.027168 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.15_1 | 0.066367 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.24_1 | 0.059345 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | WndNbrhood.6 | -0.045594 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | WndNbrhood.24 | -0.023004 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.6 | -0.051726 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.15 | -0.039767 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.24 | -0.001796 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.6 | 0.053306 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.15 | 0.04418 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.24 | 0.030505 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.6 | -0.034064 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.15 | -0.037334 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.24 | -0.016869 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.6 | -0.03603 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.15 | -0.022606 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.24 | -0.014519 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.6 | 0.034283 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.15 | 0.00186 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.24 | 0.021881 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | EARS_TJo.24 | -0.009914 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | LESMnPos.24 | -0.015144 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | LESMnNeg.24 | 0.032104 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.6 | 0.084487 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.15 | 0.08033 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.24 | 0.003504 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | state_1 | 0.046707 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | BioDadInHH2_1 | -0.032556 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | PmAge2 | -0.011158 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | PmBlac2_1 | 0.045969 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | TcBlac2_1 | 0.062286 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | PmMrSt2_1 | -0.02112 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | PmEd2 | 0.003704 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | KFASTScr | 0.001911 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RMomAgeU | 0.042917 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHealth_1 | 0.001836 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHealth_2 | 0.011966 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHealth_3 | -0.000588 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHealth_4 | -0.031635 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHealth_5 | 0.03408 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HomeOwnd_1 | -0.020218 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HomeOwnd_2 | 0.024941 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HomeOwnd_3 | 0.002759 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HomeOwnd_4 | 0.002021 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SWghtLB | -0.022619 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SurpPreg_1 | -0.018775 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SmokTotl_1 | -0.044081 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SmokTotl_2 | 0.003514 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SmokTotl_3 | -0.008938 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | DrnkFreq_1 | 0.010825 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | DrnkFreq_2 | -0.012394 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | peri_health | -0.019048 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | caregiv_health | -0.001676 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | gov_assist | 0.01349 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SAAmylase.6 | 0.028656 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SAAmylase.15 | -0.02358 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SAAmylase.24 | -0.017473 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | MDI.6 | 0.035384 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | MDI.15 | -0.069623 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHasSO.6_1 | 0.066159 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHasSO.15_1 | 0.005755 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHasSO.24_1 | -0.025656 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHasSO.35_1 | -0.013387 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | WndNbrhood.6 | -0.042805 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | WndNbrhood.24 | -0.006412 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | WndNbrhood.35 | 0.003724 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | IBRAttn.6 | -0.04382 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | IBRAttn.15 | -0.01477 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | IBRAttn.24 | -0.048202 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | B18Raw.6 | 0.03759 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | B18Raw.15 | 0.078278 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | B18Raw.24 | 0.051997 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HOMEETA1.6 | -0.030969 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HOMEETA1.15 | 0.004609 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HOMEETA1.24 | -0.047911 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HOMEETA1.35 | -0.07415 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | InRatioCor.6 | -0.036626 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | InRatioCor.15 | -0.046776 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | InRatioCor.24 | -0.044794 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | InRatioCor.35 | -0.021949 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | CORTB.6 | 0.024018 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | CORTB.15 | -0.008257 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | CORTB.24 | 0.004373 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | EARS_TJo.24 | -0.018775 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | EARS_TJo.35 | 0.023288 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | LESMnPos.24 | -0.019433 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | LESMnPos.35 | -0.016828 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | LESMnNeg.24 | 0.027503 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | LESMnNeg.35 | 0.054757 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | StrDif_Tot.35 | 0.022732 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | fscore.35 | -0.059882 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | ESETA1.6 | 0.039731 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | ESETA1.15 | 0.031636 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | ESETA1.24 | 0.014185 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | ESETA1.35 | 0.019732 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> #> Table: Balance Stats for All Exposure Time Points Averaging Across Imputed Datasets plot(balance_stats.cbps, t = 4, save.out = save.out) type <- \"update\" bal_stats <- balance_stats.cbps updated_formulas <- createFormulas(obj = obj, type = type, bal_stats = bal_stats, save.out = save.out) print(updated_formulas, save.out = save.out) #> USER ALERT: Please manually inspect the updated balancing formula below that includes time-varying confounders at t-1 and those greater at further lags that remained imbalanced: #> At time point 6, the update formula for ESETA1.6 is: #> ESETA1.6 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist #> USER ALERT: Please manually inspect the updated balancing formula below that includes time-varying confounders at t-1 and those greater at further lags that remained imbalanced: #> At time point 15, the update formula for ESETA1.15 is: #> ESETA1.15 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + MDI.6 + RHasSO.6 + WndNbrhood.6 + IBRAttn.6 + B18Raw.6 + HOMEETA1.6 + InRatioCor.6 + CORTB.6 + ESETA1.6 #> USER ALERT: Please manually inspect the updated balancing formula below that includes time-varying confounders at t-1 and those greater at further lags that remained imbalanced: #> At time point 24, the update formula for ESETA1.24 is: #> ESETA1.24 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.15 + MDI.15 + RHasSO.15 + IBRAttn.15 + B18Raw.15 + HOMEETA1.15 + InRatioCor.15 + CORTB.15 + ESETA1.15 #> USER ALERT: Please manually inspect the updated balancing formula below that includes time-varying confounders at t-1 and those greater at further lags that remained imbalanced: #> At time point 35, the update formula for ESETA1.35 is: #> ESETA1.35 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.24 + RHasSO.24 + WndNbrhood.24 + IBRAttn.24 + B18Raw.24 + HOMEETA1.24 + InRatioCor.24 + CORTB.24 + EARS_TJo.24 + LESMnPos.24 + LESMnNeg.24 + ESETA1.24 #> USER ALERT: Please manually inspect the updated balancing formula below that includes time-varying confounders at t-1 and those greater at further lags that remained imbalanced: #> At time point 58, the update formula for ESETA1.58 is: #> ESETA1.58 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + RHasSO.35 + WndNbrhood.35 + HOMEETA1.35 + InRatioCor.35 + EARS_TJo.35 + LESMnPos.35 + LESMnNeg.35 + StrDif_Tot.35 + fscore.35 + ESETA1.35 formulas <- updated_formulas method <- \"cbps\" final_weights <- createWeights(data = data, obj = obj, method = method, formulas = formulas, max.it = 1, # testing only save.out = save.out) print(final_weights, i = 1) #> #> For imputation 1 and the `cbps` weighting method, the median weight value is 0.77 (SD = 1.18; range = 0-9). plot(final_weights, i = 1, save.out = save.out) quantile <- 0.95 weights <- final_weights trim_weights <- trimWeights(weights = weights, at = quantile, save.out = save.out) print(trim_weights, i = 1) #> #> For imputation 1 and the `cbps` weighting method, after trimming at 95th quantile, the median weight value is 0.77 (SD = 0.93; range = 0-4). plot(trim_weights, i = 1, save.out = save.out) quantile <- 0.92 trim_weights.s1 <- trimWeights(weights = weights, at = quantile, save.out = save.out) print(trim_weights.s1, i = 1) #> #> For imputation 1 and the `cbps` weighting method, after trimming at 92th quantile, the median weight value is 0.77 (SD = 0.82; range = 0-3). plot(trim_weights.s1, i = 1, save.out = save.out) quantile <- 0.98 trim_weights.s2 <- trimWeights(weights = weights, at = quantile, save.out = save.out) print(trim_weights.s2, i = 1) #> #> For imputation 1 and the `cbps` weighting method, after trimming at 98th quantile, the median weight value is 0.77 (SD = 1.06; range = 0-5). plot(trim_weights.s2, i = 1, save.out = save.out)"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"a--examine-balance-of-optimal-weighting-method","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"3a. Examine Balance of Optimal Weighting Method","title":"Workflow: Continuous Exposure","text":"next inspect balance produced weights created previous step best-performing weights method (.e., using SuperLearner method). , revisit assumption balancing proximal time-varying confounders (t-1) confers balance confounders distal prior time points (t- 1+). closely inspect balance CBPS weights, averaged across imputed datasets. real-world data, often difficult fully balance many confounding variables, especially across time. user find confounders remain imbalanced, can skip Step 3d. Given identified remaining imbalanced confounders, proceed Step 3b.","code":"print(balance_stats.cbps) #> #> +-----------+----------------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +===========+================+===============+============+==========+ #> | ESETA1.6 | state_1 | -0.015841 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | BioDadInHH2_1 | 0.049787 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmAge2 | 0.021011 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmBlac2_1 | -0.033318 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | TcBlac2_1 | -0.017018 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmMrSt2_1 | 0.026148 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmEd2 | 0.001702 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | KFASTScr | -0.016403 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RMomAgeU | 0.072699 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_1 | -0.013994 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_2 | -0.020431 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_3 | 0.02928 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_4 | 0.01127 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_5 | 0.012702 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_1 | 0.003785 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_2 | 0.00374 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_3 | -0.005058 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_4 | -0.002294 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SWghtLB | -0.030219 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SurpPreg_1 | -0.004567 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_1 | 0.02189 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_2 | -0.027643 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_3 | 0.012046 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | DrnkFreq_1 | -0.026237 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | DrnkFreq_2 | 0.013558 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | peri_health | -0.035748 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | caregiv_health | -0.003855 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | gov_assist | -0.022816 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | state_1 | 0.036174 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | BioDadInHH2_1 | -0.012204 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmAge2 | 0.004854 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmBlac2_1 | 0.042683 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | TcBlac2_1 | 0.025346 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmMrSt2_1 | 0.004899 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmEd2 | -0.029365 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | KFASTScr | -0.037699 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RMomAgeU | -0.041403 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_1 | -0.035278 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_2 | 0.001438 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_3 | -0.011183 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_4 | 0.010747 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_5 | -0.049295 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_1 | -0.033142 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_2 | 0.044428 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_3 | -0.016749 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_4 | 0.000614 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SWghtLB | 0.020957 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SurpPreg_1 | 0.027651 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_1 | -0.050611 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_2 | 0.069412 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_3 | -0.026007 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | DrnkFreq_1 | -0.011565 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | DrnkFreq_2 | 0.003636 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | peri_health | 0.011326 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | caregiv_health | 0.007437 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | gov_assist | -0.015918 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SAAmylase.6 | -0.038498 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | MDI.6 | 0.045319 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHasSO.6_1 | -0.02082 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | WndNbrhood.6 | 0.004196 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | IBRAttn.6 | -0.019396 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | B18Raw.6 | 0.033228 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HOMEETA1.6 | -0.008945 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | InRatioCor.6 | -0.045347 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | CORTB.6 | 0.010691 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | ESETA1.6 | 0.043475 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | state_1 | 0.006241 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | BioDadInHH2_1 | -0.035814 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | PmAge2 | -0.017532 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | PmBlac2_1 | 0.015892 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | TcBlac2_1 | 0.030768 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | PmMrSt2_1 | 0.062369 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | PmEd2 | 0.00653 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | KFASTScr | 0.032766 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RMomAgeU | 0.032742 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHealth_1 | 0.00826 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHealth_2 | 0.025263 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHealth_3 | -0.029311 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHealth_4 | -0.020001 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHealth_5 | 0.057299 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | HomeOwnd_1 | -0.032929 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | HomeOwnd_2 | 0.008234 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | HomeOwnd_3 | 0.000591 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | HomeOwnd_4 | 0.022929 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SWghtLB | -0.008564 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SurpPreg_1 | -0.037616 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SmokTotl_1 | 0.011311 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SmokTotl_2 | -0.000889 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SmokTotl_3 | 0.002071 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | DrnkFreq_1 | -0.011027 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | DrnkFreq_2 | 0.012054 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | peri_health | -0.040005 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | caregiv_health | 0.002807 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | gov_assist | 0.017188 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SAAmylase.6 | 0.015602 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SAAmylase.15 | 0.043926 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | MDI.6 | 0.02066 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | MDI.15 | 0.002145 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHasSO.6_1 | -0.027332 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHasSO.15_1 | 0.000214 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | WndNbrhood.6 | -0.000298 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | IBRAttn.6 | 0.015692 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | IBRAttn.15 | 0.004147 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | B18Raw.6 | 0.093979 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | B18Raw.15 | -0.003861 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | HOMEETA1.6 | 0.006479 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | HOMEETA1.15 | 0.016107 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | InRatioCor.6 | -0.043574 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | InRatioCor.15 | -0.002573 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | CORTB.6 | 0.040583 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | CORTB.15 | -0.007733 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | ESETA1.6 | 0.038786 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | ESETA1.15 | 0.016269 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | state_1 | 0.012297 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | BioDadInHH2_1 | -0.007364 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmAge2 | -0.011717 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmBlac2_1 | -0.001426 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | TcBlac2_1 | -0.009506 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmMrSt2_1 | 0.004603 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmEd2 | -0.041457 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | KFASTScr | -0.036504 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RMomAgeU | 0.014532 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_1 | -0.014423 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_2 | -0.057253 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_3 | 0.065055 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_4 | 0.019599 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_5 | 0.009704 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_1 | 0.011584 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_2 | 0.020508 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_3 | -0.030714 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_4 | 0.005852 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SWghtLB | -0.019471 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SurpPreg_1 | 0.059723 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_1 | 0.017933 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_2 | -0.036241 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_3 | 0.0324 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | DrnkFreq_1 | -0.007962 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | DrnkFreq_2 | 0.006528 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | peri_health | 0.024272 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | caregiv_health | 0.001126 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | gov_assist | 0.001664 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.6 | -0.02835 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.15 | -0.016089 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.24 | 0.002003 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | MDI.6 | -0.003452 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | MDI.15 | 0.016688 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.6_1 | 0.027168 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.15_1 | 0.066367 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.24_1 | 0.059345 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | WndNbrhood.6 | -0.045594 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | WndNbrhood.24 | -0.023004 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.6 | -0.051726 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.15 | -0.039767 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.24 | -0.001796 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.6 | 0.053306 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.15 | 0.04418 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.24 | 0.030505 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.6 | -0.034064 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.15 | -0.037334 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.24 | -0.016869 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.6 | -0.03603 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.15 | -0.022606 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.24 | -0.014519 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.6 | 0.034283 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.15 | 0.00186 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.24 | 0.021881 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | EARS_TJo.24 | -0.009914 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | LESMnPos.24 | -0.015144 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | LESMnNeg.24 | 0.032104 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.6 | 0.084487 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.15 | 0.08033 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.24 | 0.003504 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | state_1 | 0.046707 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | BioDadInHH2_1 | -0.032556 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | PmAge2 | -0.011158 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | PmBlac2_1 | 0.045969 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | TcBlac2_1 | 0.062286 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | PmMrSt2_1 | -0.02112 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | PmEd2 | 0.003704 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | KFASTScr | 0.001911 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RMomAgeU | 0.042917 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHealth_1 | 0.001836 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHealth_2 | 0.011966 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHealth_3 | -0.000588 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHealth_4 | -0.031635 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHealth_5 | 0.03408 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HomeOwnd_1 | -0.020218 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HomeOwnd_2 | 0.024941 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HomeOwnd_3 | 0.002759 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HomeOwnd_4 | 0.002021 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SWghtLB | -0.022619 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SurpPreg_1 | -0.018775 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SmokTotl_1 | -0.044081 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SmokTotl_2 | 0.003514 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SmokTotl_3 | -0.008938 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | DrnkFreq_1 | 0.010825 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | DrnkFreq_2 | -0.012394 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | peri_health | -0.019048 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | caregiv_health | -0.001676 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | gov_assist | 0.01349 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SAAmylase.6 | 0.028656 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SAAmylase.15 | -0.02358 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SAAmylase.24 | -0.017473 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | MDI.6 | 0.035384 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | MDI.15 | -0.069623 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHasSO.6_1 | 0.066159 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHasSO.15_1 | 0.005755 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHasSO.24_1 | -0.025656 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHasSO.35_1 | -0.013387 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | WndNbrhood.6 | -0.042805 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | WndNbrhood.24 | -0.006412 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | WndNbrhood.35 | 0.003724 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | IBRAttn.6 | -0.04382 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | IBRAttn.15 | -0.01477 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | IBRAttn.24 | -0.048202 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | B18Raw.6 | 0.03759 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | B18Raw.15 | 0.078278 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | B18Raw.24 | 0.051997 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HOMEETA1.6 | -0.030969 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HOMEETA1.15 | 0.004609 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HOMEETA1.24 | -0.047911 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HOMEETA1.35 | -0.07415 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | InRatioCor.6 | -0.036626 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | InRatioCor.15 | -0.046776 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | InRatioCor.24 | -0.044794 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | InRatioCor.35 | -0.021949 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | CORTB.6 | 0.024018 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | CORTB.15 | -0.008257 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | CORTB.24 | 0.004373 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | EARS_TJo.24 | -0.018775 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | EARS_TJo.35 | 0.023288 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | LESMnPos.24 | -0.019433 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | LESMnPos.35 | -0.016828 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | LESMnNeg.24 | 0.027503 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | LESMnNeg.35 | 0.054757 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | StrDif_Tot.35 | 0.022732 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | fscore.35 | -0.059882 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | ESETA1.6 | 0.039731 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | ESETA1.15 | 0.031636 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | ESETA1.24 | 0.014185 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | ESETA1.35 | 0.019732 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> #> Table: Balance Stats for All Exposure Time Points Averaging Across Imputed Datasets plot(balance_stats.cbps, t = 4, save.out = save.out)"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"step-3b--update-simplified-formulas","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"Step 3b. Update Simplified Formulas","title":"Workflow: Continuous Exposure","text":"Subsequently, update shortened formulas include time-varying confounders (t-1 +) successfully balanced full formulas, shown . , create final round weights formulas using createFormulas() function (setting type = “update” providing balance statistics bal_stats field). createFormulas() function draws user-provided balance statistics automatically identify add formulas exposure time point time-varying confounders lags greater 1 remain imbalanced weighting. function displays weights formula console message user time-varying confounders added. required input update shortened weights formulas using createFormulas() function : MSM object (e.g., “obj”), setting type = “update”, providing bal_stats balance statistics just created Step 3a. optional input detailed Step 1a. function returns list weights formulas labeled type, exposure, outcome, exposure time point. , update short formulas using balance statistics best-performing weights. inspect new formulas make sure imbalanced covariates added appropriate formulas. user option supply save.save printed output home directory. shown , income 6 15 months (“InRatioCor.6” “InRatioCor.15”) added 35-month weights formula. originally weights formula given lags greater t -1. remaining imbalance suggests achieving balance 24-month income successfully balance prior levels income. use weights formulas recreate CBPS weights effort achieve greatest reduction balance.","code":"type <- \"update\" bal_stats <- balance_stats.cbps updated_formulas <- createFormulas(obj = obj, type = type, bal_stats = bal_stats, save.out = save.out) print(updated_formulas, save.out = save.out) #> USER ALERT: Please manually inspect the updated balancing formula below that includes time-varying confounders at t-1 and those greater at further lags that remained imbalanced: #> At time point 6, the update formula for ESETA1.6 is: #> ESETA1.6 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist #> USER ALERT: Please manually inspect the updated balancing formula below that includes time-varying confounders at t-1 and those greater at further lags that remained imbalanced: #> At time point 15, the update formula for ESETA1.15 is: #> ESETA1.15 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + MDI.6 + RHasSO.6 + WndNbrhood.6 + IBRAttn.6 + B18Raw.6 + HOMEETA1.6 + InRatioCor.6 + CORTB.6 + ESETA1.6 #> USER ALERT: Please manually inspect the updated balancing formula below that includes time-varying confounders at t-1 and those greater at further lags that remained imbalanced: #> At time point 24, the update formula for ESETA1.24 is: #> ESETA1.24 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.15 + MDI.15 + RHasSO.15 + IBRAttn.15 + B18Raw.15 + HOMEETA1.15 + InRatioCor.15 + CORTB.15 + ESETA1.15 #> USER ALERT: Please manually inspect the updated balancing formula below that includes time-varying confounders at t-1 and those greater at further lags that remained imbalanced: #> At time point 35, the update formula for ESETA1.35 is: #> ESETA1.35 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.24 + RHasSO.24 + WndNbrhood.24 + IBRAttn.24 + B18Raw.24 + HOMEETA1.24 + InRatioCor.24 + CORTB.24 + EARS_TJo.24 + LESMnPos.24 + LESMnNeg.24 + ESETA1.24 #> USER ALERT: Please manually inspect the updated balancing formula below that includes time-varying confounders at t-1 and those greater at further lags that remained imbalanced: #> At time point 58, the update formula for ESETA1.58 is: #> ESETA1.58 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + RHasSO.35 + WndNbrhood.35 + HOMEETA1.35 + InRatioCor.35 + EARS_TJo.35 + LESMnPos.35 + LESMnNeg.35 + StrDif_Tot.35 + fscore.35 + ESETA1.35"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"step-3c--create-final-balancing-weights","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"Step 3c. Create Final Balancing Weights","title":"Workflow: Continuous Exposure","text":"Next, create final set balancing weights using optimal weighting method identified Step 2c updated formulas previous step using createWeights() function (method = “…’), SuperLearner method optimal weighting method identified Step 2c. function calls weightitMSM() function WeightIt package (Greifer, 2023) uses time-specific formulas create weights time point automatically multiplying together create one weight per person. Weights stabilized, recommended (Cole & Hernan, 2008; Thoemmes & Ong, 2016) distributions saved home directory inspection. required inputs using createWeights() function create final round IPTW balancing weights using updated short weights formulas : complete data (data frame, mids object, list imputed datasets dataframes wide format), MSM object (e.g., “obj”), best-performing weights method, updated formulas (see Step 3a). optional input createWeights() function listed Step 2b. function returns list form WeightItMSM output. , use updated formulas CPBS weighting method create final round IPTW balancing weights. inspect final weights imputed dataset. user option supply save.save printed plot output home directory. shown , weights median value 0.77 range 0-9, .","code":"formulas <- updated_formulas method <- \"cbps\" final_weights <- createWeights(data = data, obj = obj, method = method, formulas = formulas, max.it = 1, # testing only save.out = save.out) print(final_weights, i = 1) #> #> For imputation 1 and the `cbps` weighting method, the median weight value is 0.77 (SD = 1.18; range = 0-9). plot(final_weights, i = 1, save.out = save.out)"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"d--trim-final-balancing-weights","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"3d. Trim Final Balancing Weights","title":"Workflow: Continuous Exposure","text":"next step trim (.e., winsorize) final set weights eliminate heavy right tail distribution using trimWeights() function. function draws Weightit package (Griefer, 2023) plots summarizes trimmed weights. function outputs list trimmed weights either single nested list (labeled “0” data data frame format) nested lists imputed dataset (data imputed). required input trimWeights() function final weights just created. optional input allows user specify quantile value (0-1; default 0.95) weights replaced weight value quantile, reduce heavy right tail. , use default 95th percentile trimming weights. trim final weights . function returns list weights objects, containing trimmed weights, form weightitMSM output ( one entry per imputed dataset, applicable). entry also specifies quantile value weights trimmed. inspect trimmed weights one imputed datasets . user option supply save.save plots home directory. shown , weights still median value 0.77 smaller standard deviation range now goes 0-4. create trimmed weights using two quantile values + /- ~0.3 previously chosen quantile value, order conduct recommended sensitivity analyses subsequent steps. first create weights 92nd quantile value. Trimming 92nd quantile preserves median 0.77 even smaller standard deviation range. 98th quantile value. Trimming instead 98th quantile produces larger standard deviation range. find comparable descriptive statistics sets weights, upper range value varying quantile cutoff. assess consequences differences (e.g., different ranges) subsequent steps.","code":"quantile <- 0.95 weights <- final_weights trim_weights <- trimWeights(weights = weights, at = quantile, save.out = save.out) print(trim_weights, i = 1) #> #> For imputation 1 and the `cbps` weighting method, after trimming at 95th quantile, the median weight value is 0.77 (SD = 0.93; range = 0-4). plot(trim_weights, i = 1, save.out = save.out) quantile <- 0.92 trim_weights.s1 <- trimWeights(weights = weights, at = quantile, save.out = save.out) print(trim_weights.s1, i = 1) #> #> For imputation 1 and the `cbps` weighting method, after trimming at 92th quantile, the median weight value is 0.77 (SD = 0.82; range = 0-3). plot(trim_weights.s1, i = 1, save.out = save.out) quantile <- 0.98 trim_weights.s2 <- trimWeights(weights = weights, at = quantile, save.out = save.out) print(trim_weights.s2, i = 1) #> #> For imputation 1 and the `cbps` weighting method, after trimming at 98th quantile, the median weight value is 0.77 (SD = 1.06; range = 0-5). plot(trim_weights.s2, i = 1, save.out = save.out)"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"sensitvity-analyses","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"Sensitvity Analyses","title":"Workflow: Continuous Exposure","text":"create trimmed weights using two quantile values + /- ~0.3 previously chosen quantile value, order conduct recommended sensitivity analyses subsequent steps. first create weights 92nd quantile value. Trimming 92nd quantile preserves median 0.77 even smaller standard deviation range. 98th quantile value. Trimming instead 98th quantile produces larger standard deviation range. find comparable descriptive statistics sets weights, upper range value varying quantile cutoff. assess consequences differences (e.g., different ranges) subsequent steps.","code":"quantile <- 0.92 trim_weights.s1 <- trimWeights(weights = weights, at = quantile, save.out = save.out) print(trim_weights.s1, i = 1) #> #> For imputation 1 and the `cbps` weighting method, after trimming at 92th quantile, the median weight value is 0.77 (SD = 0.82; range = 0-3). plot(trim_weights.s1, i = 1, save.out = save.out) quantile <- 0.98 trim_weights.s2 <- trimWeights(weights = weights, at = quantile, save.out = save.out) print(trim_weights.s2, i = 1) #> #> For imputation 1 and the `cbps` weighting method, after trimming at 98th quantile, the median weight value is 0.77 (SD = 1.06; range = 0-5). plot(trim_weights.s2, i = 1, save.out = save.out)"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"step-4-conduct-final-balance-assessment","dir":"Articles","previous_headings":"","what":"Step 4: Conduct Final Balance Assessment","title":"Workflow: Continuous Exposure","text":"created trimmed final set IPTW balancing weights, next step conduct final evaluation well reduce imbalance. assess performance final trimmed untrimmed weights using assessBalance() function. required inputs using assessBalance() function assess final, trimmed weights achieve balance full formulas : complete data (data frame, mids object, list imputed datasets dataframes wide format), MSM object (e.g., “obj”), weights. optional inputs assessBalance() function detailed Step 1b. , assess balance trimmed weights. Assess balance trimmed weights Summarize inspect. shown , trimmed weights result one imbalanced confounder relation exposure 15 months effective sample size 719. assess balance untrimmed weights Summarize inspect see non-trimmed weights result imbalanced confounders effective sample size 611. scenario, given , trimmed weights, imbalanced confounder (income 6 months) related exposure -0.051 trimmed weights yield higher effective sample size, proceed trimmed weights. summarize final balance statistics, averaging across imputed datasets. user option supply save.save plot output home directory. outcome modeling step (Step 5), users option include remaining imbalanced confounders time invariant covariates final outcome model. case, manually list imbalanced confounders time invariant assign covariates. Subsequently, also assess balance weights trimmed two additional quantile values assess whether final balance assessment sensitive trim value. first assess balance weights trimmed 93rd quantile value. , similarly find income 6 months imbalanced respect exposure 15 months (albeit slighter stronger correlation main analyses). next assess balance weights trimmed 98th quantile value. , find remaining imbalanced confounders (similar untrimmed results).","code":"weights <- trim_weights final_balance_stats_trim <- assessBalance(data = data, obj = obj, balance_thresh = balance_thresh, imp_conf = imp_conf, weights = weights, save.out = save.out) summary(final_balance_stats_trim, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 2 out of 241 (0.8%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.06 (max: 0.06): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps` print(final_balance_stats_trim, t = 2, save.out = save.out) #> #> +-----------+----------------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +===========+================+===============+============+==========+ #> | ESETA1.15 | state_1 | 0.018002 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | BioDadInHH2_1 | -0.01641 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmAge2 | -0.009705 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmBlac2_1 | 0.017384 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | TcBlac2_1 | 0.017685 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmMrSt2_1 | -0.00618 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmEd2 | -0.036545 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | KFASTScr | -0.020649 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RMomAgeU | -0.005992 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_1 | -0.001056 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_2 | -0.0065 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_3 | 0.004525 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_4 | 0.006969 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_5 | -0.011918 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_1 | -0.003678 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_2 | 0.003725 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_3 | 0.006049 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_4 | 0.008359 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SWghtLB | -0.000996 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SurpPreg_1 | 0.008394 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_1 | 0.010939 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_2 | 0.009158 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_3 | -0.005918 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | DrnkFreq_1 | 0.007173 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | DrnkFreq_2 | -0.017437 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | peri_health | -0.000413 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | caregiv_health | 0.008989 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | gov_assist | 0.015211 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SAAmylase.6 | 0.010964 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | MDI.6 | 0.01114 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHasSO.6_1 | 0.018068 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | WndNbrhood.6 | -0.017711 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | IBRAttn.6 | -0.002143 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | B18Raw.6 | 0.025159 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HOMEETA1.6 | -0.024603 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | InRatioCor.6 | -0.047661 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | CORTB.6 | -0.005651 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | ESETA1.6 | 0.03469 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> #> Table: Balance Stats for Exposure Time 2 Averaging Across Imputed Datasets summary(trim_weights[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 3.528 #> #> - Units with the 5 most extreme weights: #> #> 89 79 30 27 11 #> all 3.528 3.528 3.528 3.528 3.528 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 0.896 0.687 0.372 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 717.08 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 3.528 #> #> - Units with the 5 most extreme weights: #> #> 89 79 30 27 11 #> all 3.528 3.528 3.528 3.528 3.528 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 0.896 0.687 0.372 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 717.08 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 3.528 #> #> - Units with the 5 most extreme weights: #> #> 89 79 30 27 11 #> all 3.528 3.528 3.528 3.528 3.528 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 0.896 0.687 0.372 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 717.08 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 3.528 #> #> - Units with the 5 most extreme weights: #> #> 89 79 30 27 11 #> all 3.528 3.528 3.528 3.528 3.528 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 0.896 0.687 0.372 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 717.08 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 3.528 #> #> - Units with the 5 most extreme weights: #> #> 89 79 30 27 11 #> all 3.528 3.528 3.528 3.528 3.528 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 0.896 0.687 0.372 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 717.08 weights <- final_weights final_balance_stats_untrim <- assessBalance(data = data, obj = obj, balance_thresh = balance_thresh, imp_conf = imp_conf, weights = weights, save.out = save.out) summary(final_balance_stats_untrim, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 2 out of 241 (0.8%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.06 (max: 0.07): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps` summary(final_weights[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5138 #> #> - Units with the 5 most extreme weights: #> #> 1246 1145 294 697 919 #> all 7.4581 7.6788 7.9902 8.2032 8.5138 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.066 0.725 0.443 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 605.04 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5138 #> #> - Units with the 5 most extreme weights: #> #> 1246 1145 294 697 919 #> all 7.4581 7.6788 7.9902 8.2032 8.5138 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.066 0.725 0.443 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 605.04 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5138 #> #> - Units with the 5 most extreme weights: #> #> 1246 1145 294 697 919 #> all 7.4581 7.6788 7.9902 8.2032 8.5138 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.066 0.725 0.443 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 605.04 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5138 #> #> - Units with the 5 most extreme weights: #> #> 1246 1145 294 697 919 #> all 7.4581 7.6788 7.9902 8.2032 8.5138 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.066 0.725 0.443 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 605.04 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5138 #> #> - Units with the 5 most extreme weights: #> #> 1246 1145 294 697 919 #> all 7.4581 7.6788 7.9902 8.2032 8.5138 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.066 0.725 0.443 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 605.04 summary(final_balance_stats_trim, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 2 out of 241 (0.8%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.06 (max: 0.06): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps` plot(final_balance_stats_trim, t = 2, save.out = save.out) # covariates <- c(\"list_imbalanced_ti_conf\") weights <- trim_weights.s1 final_balance_stats.s1 <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) summary(final_balance_stats.s1, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 3 out of 241 (1.2%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.06 (max: 0.06): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 1 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps` print(final_balance_stats.s1, t = 2, save.out = save.out) #> #> +-----------+----------------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +===========+================+===============+============+==========+ #> | ESETA1.15 | state_1 | 0.02248 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | BioDadInHH2_1 | -0.02024 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmAge2 | -0.01219 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmBlac2_1 | 0.0244 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | TcBlac2_1 | 0.02265 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmMrSt2_1 | -0.00906 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmEd2 | -0.04175 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | KFASTScr | -0.02587 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RMomAgeU | -0.01202 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_1 | -0.00346 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_2 | -0.00661 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_3 | 0.00912 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_4 | 0.00351 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_5 | -0.01245 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_1 | -0.00579 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_2 | 0.00296 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_3 | 0.00995 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_4 | 0.00817 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SWghtLB | -0.00333 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SurpPreg_1 | 0.01431 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_1 | 0.01323 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_2 | 0.0114 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_3 | -0.00775 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | DrnkFreq_1 | 0.0125 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | DrnkFreq_2 | -0.02183 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | peri_health | -0.00145 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | caregiv_health | 0.01119 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | gov_assist | 0.01836 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SAAmylase.6 | 0.01106 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | MDI.6 | 0.016 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHasSO.6_1 | 0.0208 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | WndNbrhood.6 | -0.02262 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | IBRAttn.6 | -0.0034 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | B18Raw.6 | 0.02608 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HOMEETA1.6 | -0.02883 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | InRatioCor.6 | -0.06024 | 0.05 | 0 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | CORTB.6 | -0.00713 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | ESETA1.6 | 0.0427 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> #> Table: Balance Stats for Exposure Time 2 Averaging Across Imputed Datasets weights <- trim_weights.s2 final_balance_stats.s2 <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) summary(final_balance_stats.s2, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 2 out of 241 (0.8%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.06 (max: 0.06): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps`"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"trimmed","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"Trimmed","title":"Workflow: Continuous Exposure","text":"Assess balance trimmed weights Summarize inspect. shown , trimmed weights result one imbalanced confounder relation exposure 15 months effective sample size 719.","code":"weights <- trim_weights final_balance_stats_trim <- assessBalance(data = data, obj = obj, balance_thresh = balance_thresh, imp_conf = imp_conf, weights = weights, save.out = save.out) summary(final_balance_stats_trim, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 2 out of 241 (0.8%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.06 (max: 0.06): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps` print(final_balance_stats_trim, t = 2, save.out = save.out) #> #> +-----------+----------------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +===========+================+===============+============+==========+ #> | ESETA1.15 | state_1 | 0.018002 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | BioDadInHH2_1 | -0.01641 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmAge2 | -0.009705 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmBlac2_1 | 0.017384 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | TcBlac2_1 | 0.017685 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmMrSt2_1 | -0.00618 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmEd2 | -0.036545 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | KFASTScr | -0.020649 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RMomAgeU | -0.005992 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_1 | -0.001056 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_2 | -0.0065 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_3 | 0.004525 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_4 | 0.006969 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_5 | -0.011918 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_1 | -0.003678 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_2 | 0.003725 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_3 | 0.006049 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_4 | 0.008359 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SWghtLB | -0.000996 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SurpPreg_1 | 0.008394 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_1 | 0.010939 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_2 | 0.009158 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_3 | -0.005918 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | DrnkFreq_1 | 0.007173 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | DrnkFreq_2 | -0.017437 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | peri_health | -0.000413 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | caregiv_health | 0.008989 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | gov_assist | 0.015211 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SAAmylase.6 | 0.010964 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | MDI.6 | 0.01114 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHasSO.6_1 | 0.018068 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | WndNbrhood.6 | -0.017711 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | IBRAttn.6 | -0.002143 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | B18Raw.6 | 0.025159 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HOMEETA1.6 | -0.024603 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | InRatioCor.6 | -0.047661 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | CORTB.6 | -0.005651 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | ESETA1.6 | 0.03469 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> #> Table: Balance Stats for Exposure Time 2 Averaging Across Imputed Datasets summary(trim_weights[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 3.528 #> #> - Units with the 5 most extreme weights: #> #> 89 79 30 27 11 #> all 3.528 3.528 3.528 3.528 3.528 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 0.896 0.687 0.372 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 717.08 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 3.528 #> #> - Units with the 5 most extreme weights: #> #> 89 79 30 27 11 #> all 3.528 3.528 3.528 3.528 3.528 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 0.896 0.687 0.372 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 717.08 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 3.528 #> #> - Units with the 5 most extreme weights: #> #> 89 79 30 27 11 #> all 3.528 3.528 3.528 3.528 3.528 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 0.896 0.687 0.372 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 717.08 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 3.528 #> #> - Units with the 5 most extreme weights: #> #> 89 79 30 27 11 #> all 3.528 3.528 3.528 3.528 3.528 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 0.896 0.687 0.372 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 717.08 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 3.528 #> #> - Units with the 5 most extreme weights: #> #> 89 79 30 27 11 #> all 3.528 3.528 3.528 3.528 3.528 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 0.896 0.687 0.372 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 717.08"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"untrimmed","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"Untrimmed","title":"Workflow: Continuous Exposure","text":"assess balance untrimmed weights Summarize inspect see non-trimmed weights result imbalanced confounders effective sample size 611. scenario, given , trimmed weights, imbalanced confounder (income 6 months) related exposure -0.051 trimmed weights yield higher effective sample size, proceed trimmed weights. summarize final balance statistics, averaging across imputed datasets. user option supply save.save plot output home directory. outcome modeling step (Step 5), users option include remaining imbalanced confounders time invariant covariates final outcome model. case, manually list imbalanced confounders time invariant assign covariates.","code":"weights <- final_weights final_balance_stats_untrim <- assessBalance(data = data, obj = obj, balance_thresh = balance_thresh, imp_conf = imp_conf, weights = weights, save.out = save.out) summary(final_balance_stats_untrim, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 2 out of 241 (0.8%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.06 (max: 0.07): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps` summary(final_weights[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5138 #> #> - Units with the 5 most extreme weights: #> #> 1246 1145 294 697 919 #> all 7.4581 7.6788 7.9902 8.2032 8.5138 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.066 0.725 0.443 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 605.04 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5138 #> #> - Units with the 5 most extreme weights: #> #> 1246 1145 294 697 919 #> all 7.4581 7.6788 7.9902 8.2032 8.5138 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.066 0.725 0.443 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 605.04 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5138 #> #> - Units with the 5 most extreme weights: #> #> 1246 1145 294 697 919 #> all 7.4581 7.6788 7.9902 8.2032 8.5138 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.066 0.725 0.443 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 605.04 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5138 #> #> - Units with the 5 most extreme weights: #> #> 1246 1145 294 697 919 #> all 7.4581 7.6788 7.9902 8.2032 8.5138 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.066 0.725 0.443 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 605.04 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5138 #> #> - Units with the 5 most extreme weights: #> #> 1246 1145 294 697 919 #> all 7.4581 7.6788 7.9902 8.2032 8.5138 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.066 0.725 0.443 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 605.04 summary(final_balance_stats_trim, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 2 out of 241 (0.8%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.06 (max: 0.06): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps` plot(final_balance_stats_trim, t = 2, save.out = save.out) # covariates <- c(\"list_imbalanced_ti_conf\")"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"sensitvity-analyses-1","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"Sensitvity Analyses","title":"Workflow: Continuous Exposure","text":"Subsequently, also assess balance weights trimmed two additional quantile values assess whether final balance assessment sensitive trim value. first assess balance weights trimmed 93rd quantile value. , similarly find income 6 months imbalanced respect exposure 15 months (albeit slighter stronger correlation main analyses). next assess balance weights trimmed 98th quantile value. , find remaining imbalanced confounders (similar untrimmed results).","code":"weights <- trim_weights.s1 final_balance_stats.s1 <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) summary(final_balance_stats.s1, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 3 out of 241 (1.2%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.06 (max: 0.06): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 1 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps` print(final_balance_stats.s1, t = 2, save.out = save.out) #> #> +-----------+----------------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +===========+================+===============+============+==========+ #> | ESETA1.15 | state_1 | 0.02248 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | BioDadInHH2_1 | -0.02024 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmAge2 | -0.01219 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmBlac2_1 | 0.0244 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | TcBlac2_1 | 0.02265 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmMrSt2_1 | -0.00906 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmEd2 | -0.04175 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | KFASTScr | -0.02587 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RMomAgeU | -0.01202 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_1 | -0.00346 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_2 | -0.00661 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_3 | 0.00912 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_4 | 0.00351 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_5 | -0.01245 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_1 | -0.00579 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_2 | 0.00296 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_3 | 0.00995 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_4 | 0.00817 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SWghtLB | -0.00333 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SurpPreg_1 | 0.01431 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_1 | 0.01323 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_2 | 0.0114 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_3 | -0.00775 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | DrnkFreq_1 | 0.0125 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | DrnkFreq_2 | -0.02183 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | peri_health | -0.00145 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | caregiv_health | 0.01119 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | gov_assist | 0.01836 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SAAmylase.6 | 0.01106 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | MDI.6 | 0.016 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHasSO.6_1 | 0.0208 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | WndNbrhood.6 | -0.02262 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | IBRAttn.6 | -0.0034 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | B18Raw.6 | 0.02608 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HOMEETA1.6 | -0.02883 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | InRatioCor.6 | -0.06024 | 0.05 | 0 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | CORTB.6 | -0.00713 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | ESETA1.6 | 0.0427 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> #> Table: Balance Stats for Exposure Time 2 Averaging Across Imputed Datasets weights <- trim_weights.s2 final_balance_stats.s2 <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) summary(final_balance_stats.s2, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 2 out of 241 (0.8%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.06 (max: 0.06): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps`"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"phase-2-assess-substantive-associations-between-exposure-and-outcome","dir":"Articles","previous_headings":"","what":"PHASE 2: Assess Substantive Associations between Exposure and Outcome","title":"Workflow: Continuous Exposure","text":"created IPTW balancing weights minimize associations confounders exposure time point, can move substantive modeling phase. goal final step fit weighted model relating exposure meaningful epochs developmental time outcome, summarizing visualizing results. step, user models compares various counterfactuals, effects different developmental histories exposure outcome, test substantive hypotheses dose timing. First, use fitModel() function fit weighted generalized linear model relating exposure outcome. function draws glm_weightit() function WeightIt package (Greifer, 2023). exposure main effects models reflect exposure levels exposure time point unless exposure epochs specified. One benefits creating balancing weights can used variety different marginal outcome models encompassed function subset possible models. Note models can get complex advise interpreting individual terms. required inputs using fitModel() function : complete data (data frame, mids object, list imputed datasets dataframes wide format), MSM object (e.g., “obj”), outcome, list trimmed weights, model list (“m0”, “m1”, “m2”, “m3”). first inspect following list models. M0: Baseline model regressing outcome main effects exposure (e.g., infancy, toddlerhood, childhood). M1: Covariate model regressing outcome main effects exposure well user-specified covariates (e.g., confounders measured baseline first time point remained imbalanced weighting Step 4). M2: Interaction model regressing outcome main effects exposure well interactions exposure main effects (e.g., infancy:toddlerhood) user-specified interaction order M3: Full model regressing outcome main effects exposure, user-specified covariates, well exposure main effect interactions interactions expoure covariates, user-specified interaction order , specify M0 model. user selects covariate model (“m1” “m3”), required supply list covariates corresponds covariates wide data (see Step 4). optional inputs fitModel() function follows. user selects interaction model (“m2” “m3”), required provide interaction order integer int_order field reflects maximum interaction (e.g., 3) (automatically include lower order interactions (e.g., 2-way)). interaction order exceed total number exposure main effects (3 case, specified 3 exposure epochs). specify interaction model (“m2” “m3”), also need specify interaction order ( included lower-level interactoins) exposure main effects fitModel() function . user can also specify family (function, quotations; e.g., gaussian) link (quotations, e.g., “identity”) functions generalized linear model (defaults gaussian “link”, respectively). possible families : binomial, gaussian, Gama, inverse.gaussian, poisson, quasi, quasibinomial, quasipoisson. binomial Poisson families, set family quasibinomial quasipoisson, respectively, avoid warning non-integer numbers successes. `quasi’ versions family objects give point estimates standard errors give warning. gaussian family accepts links: “identity”, “log” “inverse”; binomial family links “logit”, “probit”, “cauchit”, (corresponding logistic, normal Cauchy CDFs respectively) “log” “cloglog” (complementary log-log); Gamma family links “inverse”, “identity”, “log”; poisson family links “log”, “identity”, “sqrt”; inverse.gaussian family links 1/mu^2, inverse, identity log. quasi family accepts links “logit”, “probit”, “cloglog”, “identity”, “inverse”, “log”, “1/mu^2”, “sqrt”, function power can used create power link function. , retain default family link functions. function returns list fitted model objects, glm output. fit outcome model using trimmed weights . function returns list models (one per imputed dataset, applicable). inspect model output. user option supply save.save printed output home directory. inspect model averaged across imputed datasets. Importantly, first examine results Wald test top output. case imputed data, likelihood ratio test done pooling parameters via Rubin’s Rules. test compares user-specified model nested version model omits exposure variables test whether exposure predicts variation outcome. Models pooled prior conducting likelihood ratio test imputed data.) conduct sensitivity analyses, fitting model weights trimmed two different values. note save.= TRUE using default file naming, saving model output overwrite output main model. save sensitivity analyses, recomend user supply new name (e.g., save.= “model_m1_s1.rds”). first fit model weights trimmed 92nd quantile. similarly find significant likelihoood ratio test. fit model weights trimmed 98th quantile. comparable result. final step, use fitted model results test substantive hypotheses dose timing. estimate compare average marginal estimates outcome user-specified exposure history (.e., permutation high (“h) low (“l”) levels exposure exposure epoch) using compareHistories() function. draws primarily avg_predictions() hypotheses() functions marginaleffects package (Arel-Bundock, 2023). First, compareHistories() function creates average predictions outcome exposure history. n combinations user-specified exposure histories, set value predictors full dataset values combination, leaving variables . gives us n datasets, size original dataset used fit model. n datasets, compute predicted values given model taking average predicted value n datasets. n averaged predicted values expected potential outcomes combination. (imputed data, function outputs pooled predicted values using Rubin’s Rules.) Next, using predicted values, function conducts comparisons different histories (pooling across imputed datasets imputed data using Rubin’s Rules). Lastly, function implements correction multiple comparisons (treating run function family) plotting results. Box plots display outcome x-axis exposure history y-axis whiskers display standard errors. required inputs using compareHistories() function : MSM object (e.g., “obj”) fitted model output (previous steps). optional inputs follows. create histories high low values continuous exposures, hi_lo_cut user can specify list two quantile values (0-1; default median split +/- 0.001) demarcating high low levels exposure, respectively. (Imputed data stacked calculate cutoff values.) suggest drawing existing hypotheses examining variability exposure variable determine high low cutoffs. recommend users begin specifying meaningful high low percentile cutoffs examining many individuals sample fall user-specified exposure histories created percentile cutoffs (see Specify Core Inputs vignette). gold standard recommendations sufficient cell numbers per history, users ensure reasonable coverage histories avoid extrapolation maximize precision. , draw high low cutoffs previously specified, 60th 30th percentile values denote high low levels economic strain, respectively. user also option estimate compare custom subset user-specified exposure histories (.e., sequences high low levels exposure epoch time point) using reference comparison fields. conduct recommended customized comparisons, users must provide least one unique valid history (e.g., “l-l-l”) reference , quotations, provide string (list strings) lowercase l’s h’s (separated -), corresponding exposure epoch (time point), signify sequence exposure levels (“low” “high”, respectively). user supplies reference history, required provide least one unique valid history comparison , quotations, providing comparison string (list strings) l’s h’s (separated “-”), corresponding exposure epoch, signify sequence exposure levels (“low” “high”, respectively) constitutes comparison exposure history/histories compared reference. user supplies one comparisons, least one reference must specified. reference exposure history compared comparison history comparisons subject multiple comparison correction. reference comparison specified, histories compared . 4 exposure main effects (either epochs exposure time points), user required select subset history comparisons (Step 5b), given base code (see hypotheses() function marginaleffects package; Arel-Bundock, 2023) accommodate pairwise history comparisons 5 time points. user can also specify multiple comparison method mc_method quotations, providing shorthand method (“holm”, “hochberg”,“hommel”, “bonferroni”, “BH” (default), “”, “fdr”, “n” (see stats::p.adjust documentation; R Core Team) multiple comparison correction applied final (pooled across imputed datasets applicable) contrasts comparing effects different exposure histories outcome (default Benjamini-Hochburg). code run considered family. user iterates function specifying different comparisons time, strongly recommend interpreting outcome inclusive set comparisons avoid false discovery. , retain default Benjamini-Hochburg method multiple comparison. Based substantive interests, user also option choose level dosage (“h” “l”) tallied labels dose counts tables figures (dose_level; default “h”). example, exposure variable coded way lower levels conceptualized exposure (e.g., lower income), user may wish choose dosage level “l”. , given interest histories high economic strain, specify wish tally high doses exposure. Lastly, user can provide alternate plotting labels exposure outcome exp_lab out_lab fields (defaults variable names), well list (equal number exposure main effects +1) colors Brewer color palette (colors; default “Dark2”). See RColorBrewer::display.brewer.() https://r-graph-gallery.com/38-rcolorbrewers-palettes.html). , specify plotting labels 4 colors. function returns data frame user-specified history comparisons containing contrast estimates, standard errors, statistics, p-values, low high confidence intervals, corrected p-values, labeled history dose. function outputs list two entries. first contains predicted values history second contains comparisons. inspect compared histories output (now averaged across imputed datsets). user option supply save.save printed output home directory. first confirm distribution sample across exposure histories reasonable. summarize results. inspect history comparison conclude evidence children experienced different histories exposure economic strain infancy, toddlerhood, early childhood differ behavioral problems early childhood. Lastly, plot results. user option supply save.save plot output home directory. conduct sensitivity analyses assessing comparing histories drawing models used weights trimmed two different values. note save.= TRUE using default file naming, saving model output overwrite output main model. save sensitivity analyses, recommend user supply new name (e.g., save.= “history_comparisons_s1.rds”). first compare histories using model fit weights trimmed 92nd quantile value. shown , results indicate marginal non-significant contrast “l-l-l” “h-h-h” histories economic strain exposure relation behavior problems early childhood. compare histories using model fit weights trimmed 98th quantile value. Similarly, find evidence differences behavioral problems function history exposure economic strain.","code":"m <- \"m0\" #int_order <- 2 family <- gaussian link <- \"identity\" weights <- trim_weights models <- fitModel(data = data, obj = obj, weights = weights, outcome = outcome, model = m, family = family, link = link, save.out = save.out) print(models, save.out = save.out) #> Please inspect the Wald test to determine if the exposures collectively predict significant variation in the outcome compared to a model without exposure terms. #> We strongly suggest only conducting history comparisons if the test is significant. #> test statistic df1 df2 dfcom p.value riv #> 1 ~~ 2 -1.181783 3 0.4300163 NA 1 2.021014 #> #> #> The marginal model, m0, pooled across imputed datasets is summarized below: #> +--------------------+-------+-----------------+--------+ #> | | (1) | #> +--------------------+-------+-----------------+--------+ #> | | Est. | CI | p | #> +====================+=======+=================+========+ #> | (Intercept) | 0.483 | [0.452, 0.513] | <0.001 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Childhood | 0.028 | [-0.112, 0.169] | 0.442 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Infancy | 0.003 | [-0.042, 0.048] | 0.891 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Toddlerhood | 0.012 | [-0.054, 0.079] | 0.650 | #> +--------------------+-------+-----------------+--------+ #> | Num.Obs. | 1292 | | | #> +--------------------+-------+-----------------+--------+ weights <- trim_weights.s1 models.s1 <- fitModel(data = data, obj = obj, weights = weights, outcome = outcome, model = m, family = family, link = link, save.out = save.out) print(models.s1, save.out = save.out) #> Please inspect the Wald test to determine if the exposures collectively predict significant variation in the outcome compared to a model without exposure terms. #> We strongly suggest only conducting history comparisons if the test is significant. #> test statistic df1 df2 dfcom p.value riv #> 1 ~~ 2 -0.42805 3 0.6223825 NA 1 1.252613 #> #> #> The marginal model, m0, pooled across imputed datasets is summarized below: #> +--------------------+-------+-----------------+--------+ #> | | (1) | #> +--------------------+-------+-----------------+--------+ #> | | Est. | CI | p | #> +====================+=======+=================+========+ #> | (Intercept) | 0.481 | [0.450, 0.513] | <0.001 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Childhood | 0.028 | [-0.085, 0.141] | 0.400 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Infancy | 0.006 | [-0.040, 0.051] | 0.784 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Toddlerhood | 0.015 | [-0.061, 0.091] | 0.601 | #> +--------------------+-------+-----------------+--------+ #> | Num.Obs. | 1292 | | | #> +--------------------+-------+-----------------+--------+ weights <- trim_weights.s2 models.s2 <- fitModel(data = data, obj = obj, weights = weights, outcome = outcome, model = m, family = family, link = link, save.out = save.out) print(models.s2, save.out = save.out) #> Please inspect the Wald test to determine if the exposures collectively predict significant variation in the outcome compared to a model without exposure terms. #> We strongly suggest only conducting history comparisons if the test is significant. #> test statistic df1 df2 dfcom p.value riv #> 1 ~~ 2 -1.653469 3 0.3504546 NA 1 2.86164 #> #> #> The marginal model, m0, pooled across imputed datasets is summarized below: #> +--------------------+--------+-----------------+--------+ #> | | (1) | #> +--------------------+--------+-----------------+--------+ #> | | Est. | CI | p | #> +====================+========+=================+========+ #> | (Intercept) | 0.485 | [0.454, 0.515] | <0.001 | #> +--------------------+--------+-----------------+--------+ #> | ESETA1.Childhood | 0.029 | [-0.150, 0.209] | 0.487 | #> +--------------------+--------+-----------------+--------+ #> | ESETA1.Infancy | -0.002 | [-0.055, 0.052] | 0.934 | #> +--------------------+--------+-----------------+--------+ #> | ESETA1.Toddlerhood | 0.009 | [-0.061, 0.080] | 0.748 | #> +--------------------+--------+-----------------+--------+ #> | Num.Obs. | 1292 | | | #> +--------------------+--------+-----------------+--------+ hi_lo_cut <- c(0.6, 0.3) mc_comp_method <- \"BH\" dose_level <- \"h\" exp_lab <- \"Economic Strain\" out_lab <- \"Behavior Problems\" colors <- c(\"blue4\", \"darkgreen\", \"darkgoldenrod\", \"red2\") model <- models results <- compareHistories(fit = model, comparison = comparison, reference = reference, hi_lo_cut = hi_lo_cut, mc_comp_method = mc_comp_method, dose = \"h\", save.out = save.out) print(results) #> Summary of Exposure Main Effects: #> USER ALERT: Out of the total of 1292 individuals in the sample, below is the distribution of the 333 (26%) individuals that fall into 2 user-selected exposure histories (out of the 27 total) created from 30th and 60th percentile values for low and high levels of exposure-epoch Infancy, Toddlerhood, Childhood. #> USER ALERT: Please inspect the distribution of the sample across the following exposure histories and ensure there is sufficient spread to avoid extrapolation and low precision: #> #> +---------------+-----+ #> | epoch_history | n | #> +===============+=====+ #> | h-h-h | 214 | #> +---------------+-----+ #> | l-l-l | 119 | #> +---------------+-----+ #> #> Table: Summary of user-selected exposure histories based on exposure main effects Infancy, Toddlerhood, Childhood: #> #> Below are the pooled average predictions by user-specified history: #> +-------+----------+-----------+----------+-----------+ #> | term | estimate | std.error | conf.low | conf.high | #> +=======+==========+===========+==========+===========+ #> | l-l-l | 0.47 | 0.014 | 0.44 | 0.49 | #> +-------+----------+-----------+----------+-----------+ #> | h-h-h | 0.5 | 0.019 | 0.43 | 0.57 | #> +-------+----------+-----------+----------+-----------+ #> #> Conducting multiple comparison correction for all pairings between comparison histories and each refernece history using the BH method. #> #> #> +-------------------+------------+------------+-----------+-------------+------------+--------------+ #> | term | estimate | std.error | p.value | conf.low | conf.high | p.value_corr | #> +===================+============+============+===========+=============+============+==============+ #> | (h-h-h) - (l-l-l) | 0.02991272 | 0.01979075 | 0.2172254 | -0.02903923 | 0.08886468 | 0.2172254 | #> +-------------------+------------+------------+-----------+-------------+------------+--------------+ summary(results, save.out = save.out) #> term estimate std.error statistic df p.value #> 1 (h-h-h) - (l-l-l) 0.02991272 0.01979075 1.511449 3.40476 0.2172254 #> conf.low conf.high dose p.value_corr #> 1 -0.02903923 0.08886468 3 - 0 0.2172254 plot(results, save.out = save.out) model <- models.s1 results.s1 <- compareHistories(fit = model, comparison = comparison, reference = reference, hi_lo_cut = hi_lo_cut, mc_comp_method = mc_comp_method, dose = \"h\", save.out = save.out) summary(results.s1, save.out = save.out) #> term estimate std.error statistic df p.value #> 1 (h-h-h) - (l-l-l) 0.03275407 0.01735569 1.887224 5.210738 0.1154298 #> conf.low conf.high dose p.value_corr #> 1 -0.01132286 0.07683101 3 - 0 0.1154298 model <- models.s2 results.s2 <- compareHistories(fit = model, comparison = comparison, reference = reference, hi_lo_cut = hi_lo_cut, mc_comp_method = mc_comp_method, dose = \"h\", save.out = save.out) summary(results.s2, save.out = save.out) #> term estimate std.error statistic df p.value #> 1 (h-h-h) - (l-l-l) 0.02588619 0.0234072 1.105907 2.462813 0.3649947 #> conf.low conf.high dose p.value_corr #> 1 -0.05869734 0.1104697 3 - 0 0.3649947"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"step-5-fit-weighted-outcome-model-summarize-visualize-results","dir":"Articles","previous_headings":"","what":"Step 5: Fit Weighted Outcome Model & Summarize & Visualize Results","title":"Workflow: Continuous Exposure","text":"goal final step fit weighted model relating exposure meaningful epochs developmental time outcome, summarizing visualizing results. step, user models compares various counterfactuals, effects different developmental histories exposure outcome, test substantive hypotheses dose timing. First, use fitModel() function fit weighted generalized linear model relating exposure outcome. function draws glm_weightit() function WeightIt package (Greifer, 2023). exposure main effects models reflect exposure levels exposure time point unless exposure epochs specified. One benefits creating balancing weights can used variety different marginal outcome models encompassed function subset possible models. Note models can get complex advise interpreting individual terms. required inputs using fitModel() function : complete data (data frame, mids object, list imputed datasets dataframes wide format), MSM object (e.g., “obj”), outcome, list trimmed weights, model list (“m0”, “m1”, “m2”, “m3”). first inspect following list models. M0: Baseline model regressing outcome main effects exposure (e.g., infancy, toddlerhood, childhood). M1: Covariate model regressing outcome main effects exposure well user-specified covariates (e.g., confounders measured baseline first time point remained imbalanced weighting Step 4). M2: Interaction model regressing outcome main effects exposure well interactions exposure main effects (e.g., infancy:toddlerhood) user-specified interaction order M3: Full model regressing outcome main effects exposure, user-specified covariates, well exposure main effect interactions interactions expoure covariates, user-specified interaction order , specify M0 model. user selects covariate model (“m1” “m3”), required supply list covariates corresponds covariates wide data (see Step 4). optional inputs fitModel() function follows. user selects interaction model (“m2” “m3”), required provide interaction order integer int_order field reflects maximum interaction (e.g., 3) (automatically include lower order interactions (e.g., 2-way)). interaction order exceed total number exposure main effects (3 case, specified 3 exposure epochs). specify interaction model (“m2” “m3”), also need specify interaction order ( included lower-level interactoins) exposure main effects fitModel() function . user can also specify family (function, quotations; e.g., gaussian) link (quotations, e.g., “identity”) functions generalized linear model (defaults gaussian “link”, respectively). possible families : binomial, gaussian, Gama, inverse.gaussian, poisson, quasi, quasibinomial, quasipoisson. binomial Poisson families, set family quasibinomial quasipoisson, respectively, avoid warning non-integer numbers successes. `quasi’ versions family objects give point estimates standard errors give warning. gaussian family accepts links: “identity”, “log” “inverse”; binomial family links “logit”, “probit”, “cauchit”, (corresponding logistic, normal Cauchy CDFs respectively) “log” “cloglog” (complementary log-log); Gamma family links “inverse”, “identity”, “log”; poisson family links “log”, “identity”, “sqrt”; inverse.gaussian family links 1/mu^2, inverse, identity log. quasi family accepts links “logit”, “probit”, “cloglog”, “identity”, “inverse”, “log”, “1/mu^2”, “sqrt”, function power can used create power link function. , retain default family link functions. function returns list fitted model objects, glm output. fit outcome model using trimmed weights . function returns list models (one per imputed dataset, applicable). inspect model output. user option supply save.save printed output home directory. inspect model averaged across imputed datasets. Importantly, first examine results Wald test top output. case imputed data, likelihood ratio test done pooling parameters via Rubin’s Rules. test compares user-specified model nested version model omits exposure variables test whether exposure predicts variation outcome. Models pooled prior conducting likelihood ratio test imputed data.) conduct sensitivity analyses, fitting model weights trimmed two different values. note save.= TRUE using default file naming, saving model output overwrite output main model. save sensitivity analyses, recomend user supply new name (e.g., save.= “model_m1_s1.rds”). first fit model weights trimmed 92nd quantile. similarly find significant likelihoood ratio test. fit model weights trimmed 98th quantile. comparable result. final step, use fitted model results test substantive hypotheses dose timing. estimate compare average marginal estimates outcome user-specified exposure history (.e., permutation high (“h) low (“l”) levels exposure exposure epoch) using compareHistories() function. draws primarily avg_predictions() hypotheses() functions marginaleffects package (Arel-Bundock, 2023). First, compareHistories() function creates average predictions outcome exposure history. n combinations user-specified exposure histories, set value predictors full dataset values combination, leaving variables . gives us n datasets, size original dataset used fit model. n datasets, compute predicted values given model taking average predicted value n datasets. n averaged predicted values expected potential outcomes combination. (imputed data, function outputs pooled predicted values using Rubin’s Rules.) Next, using predicted values, function conducts comparisons different histories (pooling across imputed datasets imputed data using Rubin’s Rules). Lastly, function implements correction multiple comparisons (treating run function family) plotting results. Box plots display outcome x-axis exposure history y-axis whiskers display standard errors. required inputs using compareHistories() function : MSM object (e.g., “obj”) fitted model output (previous steps). optional inputs follows. create histories high low values continuous exposures, hi_lo_cut user can specify list two quantile values (0-1; default median split +/- 0.001) demarcating high low levels exposure, respectively. (Imputed data stacked calculate cutoff values.) suggest drawing existing hypotheses examining variability exposure variable determine high low cutoffs. recommend users begin specifying meaningful high low percentile cutoffs examining many individuals sample fall user-specified exposure histories created percentile cutoffs (see Specify Core Inputs vignette). gold standard recommendations sufficient cell numbers per history, users ensure reasonable coverage histories avoid extrapolation maximize precision. , draw high low cutoffs previously specified, 60th 30th percentile values denote high low levels economic strain, respectively. user also option estimate compare custom subset user-specified exposure histories (.e., sequences high low levels exposure epoch time point) using reference comparison fields. conduct recommended customized comparisons, users must provide least one unique valid history (e.g., “l-l-l”) reference , quotations, provide string (list strings) lowercase l’s h’s (separated -), corresponding exposure epoch (time point), signify sequence exposure levels (“low” “high”, respectively). user supplies reference history, required provide least one unique valid history comparison , quotations, providing comparison string (list strings) l’s h’s (separated “-”), corresponding exposure epoch, signify sequence exposure levels (“low” “high”, respectively) constitutes comparison exposure history/histories compared reference. user supplies one comparisons, least one reference must specified. reference exposure history compared comparison history comparisons subject multiple comparison correction. reference comparison specified, histories compared . 4 exposure main effects (either epochs exposure time points), user required select subset history comparisons (Step 5b), given base code (see hypotheses() function marginaleffects package; Arel-Bundock, 2023) accommodate pairwise history comparisons 5 time points. user can also specify multiple comparison method mc_method quotations, providing shorthand method (“holm”, “hochberg”,“hommel”, “bonferroni”, “BH” (default), “”, “fdr”, “n” (see stats::p.adjust documentation; R Core Team) multiple comparison correction applied final (pooled across imputed datasets applicable) contrasts comparing effects different exposure histories outcome (default Benjamini-Hochburg). code run considered family. user iterates function specifying different comparisons time, strongly recommend interpreting outcome inclusive set comparisons avoid false discovery. , retain default Benjamini-Hochburg method multiple comparison. Based substantive interests, user also option choose level dosage (“h” “l”) tallied labels dose counts tables figures (dose_level; default “h”). example, exposure variable coded way lower levels conceptualized exposure (e.g., lower income), user may wish choose dosage level “l”. , given interest histories high economic strain, specify wish tally high doses exposure. Lastly, user can provide alternate plotting labels exposure outcome exp_lab out_lab fields (defaults variable names), well list (equal number exposure main effects +1) colors Brewer color palette (colors; default “Dark2”). See RColorBrewer::display.brewer.() https://r-graph-gallery.com/38-rcolorbrewers-palettes.html). , specify plotting labels 4 colors. function returns data frame user-specified history comparisons containing contrast estimates, standard errors, statistics, p-values, low high confidence intervals, corrected p-values, labeled history dose. function outputs list two entries. first contains predicted values history second contains comparisons. inspect compared histories output (now averaged across imputed datsets). user option supply save.save printed output home directory. first confirm distribution sample across exposure histories reasonable. summarize results. inspect history comparison conclude evidence children experienced different histories exposure economic strain infancy, toddlerhood, early childhood differ behavioral problems early childhood. Lastly, plot results. user option supply save.save plot output home directory. conduct sensitivity analyses assessing comparing histories drawing models used weights trimmed two different values. note save.= TRUE using default file naming, saving model output overwrite output main model. save sensitivity analyses, recommend user supply new name (e.g., save.= “history_comparisons_s1.rds”). first compare histories using model fit weights trimmed 92nd quantile value. shown , results indicate marginal non-significant contrast “l-l-l” “h-h-h” histories economic strain exposure relation behavior problems early childhood. compare histories using model fit weights trimmed 98th quantile value. Similarly, find evidence differences behavioral problems function history exposure economic strain.","code":"m <- \"m0\" #int_order <- 2 family <- gaussian link <- \"identity\" weights <- trim_weights models <- fitModel(data = data, obj = obj, weights = weights, outcome = outcome, model = m, family = family, link = link, save.out = save.out) print(models, save.out = save.out) #> Please inspect the Wald test to determine if the exposures collectively predict significant variation in the outcome compared to a model without exposure terms. #> We strongly suggest only conducting history comparisons if the test is significant. #> test statistic df1 df2 dfcom p.value riv #> 1 ~~ 2 -1.181783 3 0.4300163 NA 1 2.021014 #> #> #> The marginal model, m0, pooled across imputed datasets is summarized below: #> +--------------------+-------+-----------------+--------+ #> | | (1) | #> +--------------------+-------+-----------------+--------+ #> | | Est. | CI | p | #> +====================+=======+=================+========+ #> | (Intercept) | 0.483 | [0.452, 0.513] | <0.001 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Childhood | 0.028 | [-0.112, 0.169] | 0.442 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Infancy | 0.003 | [-0.042, 0.048] | 0.891 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Toddlerhood | 0.012 | [-0.054, 0.079] | 0.650 | #> +--------------------+-------+-----------------+--------+ #> | Num.Obs. | 1292 | | | #> +--------------------+-------+-----------------+--------+ weights <- trim_weights.s1 models.s1 <- fitModel(data = data, obj = obj, weights = weights, outcome = outcome, model = m, family = family, link = link, save.out = save.out) print(models.s1, save.out = save.out) #> Please inspect the Wald test to determine if the exposures collectively predict significant variation in the outcome compared to a model without exposure terms. #> We strongly suggest only conducting history comparisons if the test is significant. #> test statistic df1 df2 dfcom p.value riv #> 1 ~~ 2 -0.42805 3 0.6223825 NA 1 1.252613 #> #> #> The marginal model, m0, pooled across imputed datasets is summarized below: #> +--------------------+-------+-----------------+--------+ #> | | (1) | #> +--------------------+-------+-----------------+--------+ #> | | Est. | CI | p | #> +====================+=======+=================+========+ #> | (Intercept) | 0.481 | [0.450, 0.513] | <0.001 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Childhood | 0.028 | [-0.085, 0.141] | 0.400 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Infancy | 0.006 | [-0.040, 0.051] | 0.784 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Toddlerhood | 0.015 | [-0.061, 0.091] | 0.601 | #> +--------------------+-------+-----------------+--------+ #> | Num.Obs. | 1292 | | | #> +--------------------+-------+-----------------+--------+ weights <- trim_weights.s2 models.s2 <- fitModel(data = data, obj = obj, weights = weights, outcome = outcome, model = m, family = family, link = link, save.out = save.out) print(models.s2, save.out = save.out) #> Please inspect the Wald test to determine if the exposures collectively predict significant variation in the outcome compared to a model without exposure terms. #> We strongly suggest only conducting history comparisons if the test is significant. #> test statistic df1 df2 dfcom p.value riv #> 1 ~~ 2 -1.653469 3 0.3504546 NA 1 2.86164 #> #> #> The marginal model, m0, pooled across imputed datasets is summarized below: #> +--------------------+--------+-----------------+--------+ #> | | (1) | #> +--------------------+--------+-----------------+--------+ #> | | Est. | CI | p | #> +====================+========+=================+========+ #> | (Intercept) | 0.485 | [0.454, 0.515] | <0.001 | #> +--------------------+--------+-----------------+--------+ #> | ESETA1.Childhood | 0.029 | [-0.150, 0.209] | 0.487 | #> +--------------------+--------+-----------------+--------+ #> | ESETA1.Infancy | -0.002 | [-0.055, 0.052] | 0.934 | #> +--------------------+--------+-----------------+--------+ #> | ESETA1.Toddlerhood | 0.009 | [-0.061, 0.080] | 0.748 | #> +--------------------+--------+-----------------+--------+ #> | Num.Obs. | 1292 | | | #> +--------------------+--------+-----------------+--------+ hi_lo_cut <- c(0.6, 0.3) mc_comp_method <- \"BH\" dose_level <- \"h\" exp_lab <- \"Economic Strain\" out_lab <- \"Behavior Problems\" colors <- c(\"blue4\", \"darkgreen\", \"darkgoldenrod\", \"red2\") model <- models results <- compareHistories(fit = model, comparison = comparison, reference = reference, hi_lo_cut = hi_lo_cut, mc_comp_method = mc_comp_method, dose = \"h\", save.out = save.out) print(results) #> Summary of Exposure Main Effects: #> USER ALERT: Out of the total of 1292 individuals in the sample, below is the distribution of the 333 (26%) individuals that fall into 2 user-selected exposure histories (out of the 27 total) created from 30th and 60th percentile values for low and high levels of exposure-epoch Infancy, Toddlerhood, Childhood. #> USER ALERT: Please inspect the distribution of the sample across the following exposure histories and ensure there is sufficient spread to avoid extrapolation and low precision: #> #> +---------------+-----+ #> | epoch_history | n | #> +===============+=====+ #> | h-h-h | 214 | #> +---------------+-----+ #> | l-l-l | 119 | #> +---------------+-----+ #> #> Table: Summary of user-selected exposure histories based on exposure main effects Infancy, Toddlerhood, Childhood: #> #> Below are the pooled average predictions by user-specified history: #> +-------+----------+-----------+----------+-----------+ #> | term | estimate | std.error | conf.low | conf.high | #> +=======+==========+===========+==========+===========+ #> | l-l-l | 0.47 | 0.014 | 0.44 | 0.49 | #> +-------+----------+-----------+----------+-----------+ #> | h-h-h | 0.5 | 0.019 | 0.43 | 0.57 | #> +-------+----------+-----------+----------+-----------+ #> #> Conducting multiple comparison correction for all pairings between comparison histories and each refernece history using the BH method. #> #> #> +-------------------+------------+------------+-----------+-------------+------------+--------------+ #> | term | estimate | std.error | p.value | conf.low | conf.high | p.value_corr | #> +===================+============+============+===========+=============+============+==============+ #> | (h-h-h) - (l-l-l) | 0.02991272 | 0.01979075 | 0.2172254 | -0.02903923 | 0.08886468 | 0.2172254 | #> +-------------------+------------+------------+-----------+-------------+------------+--------------+ summary(results, save.out = save.out) #> term estimate std.error statistic df p.value #> 1 (h-h-h) - (l-l-l) 0.02991272 0.01979075 1.511449 3.40476 0.2172254 #> conf.low conf.high dose p.value_corr #> 1 -0.02903923 0.08886468 3 - 0 0.2172254 plot(results, save.out = save.out) model <- models.s1 results.s1 <- compareHistories(fit = model, comparison = comparison, reference = reference, hi_lo_cut = hi_lo_cut, mc_comp_method = mc_comp_method, dose = \"h\", save.out = save.out) summary(results.s1, save.out = save.out) #> term estimate std.error statistic df p.value #> 1 (h-h-h) - (l-l-l) 0.03275407 0.01735569 1.887224 5.210738 0.1154298 #> conf.low conf.high dose p.value_corr #> 1 -0.01132286 0.07683101 3 - 0 0.1154298 model <- models.s2 results.s2 <- compareHistories(fit = model, comparison = comparison, reference = reference, hi_lo_cut = hi_lo_cut, mc_comp_method = mc_comp_method, dose = \"h\", save.out = save.out) summary(results.s2, save.out = save.out) #> term estimate std.error statistic df p.value #> 1 (h-h-h) - (l-l-l) 0.02588619 0.0234072 1.105907 2.462813 0.3649947 #> conf.low conf.high dose p.value_corr #> 1 -0.05869734 0.1104697 3 - 0 0.3649947"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"step-5a--select-fit-a-weighted-outcome-model","dir":"Articles","previous_headings":"PHASE 2: Assess Substantive Associations between Exposure and Outcome","what":"Step 5a. Select & Fit a Weighted Outcome Model","title":"Workflow: Continuous Exposure","text":"First, use fitModel() function fit weighted generalized linear model relating exposure outcome. function draws glm_weightit() function WeightIt package (Greifer, 2023). exposure main effects models reflect exposure levels exposure time point unless exposure epochs specified. One benefits creating balancing weights can used variety different marginal outcome models encompassed function subset possible models. Note models can get complex advise interpreting individual terms. required inputs using fitModel() function : complete data (data frame, mids object, list imputed datasets dataframes wide format), MSM object (e.g., “obj”), outcome, list trimmed weights, model list (“m0”, “m1”, “m2”, “m3”). first inspect following list models. M0: Baseline model regressing outcome main effects exposure (e.g., infancy, toddlerhood, childhood). M1: Covariate model regressing outcome main effects exposure well user-specified covariates (e.g., confounders measured baseline first time point remained imbalanced weighting Step 4). M2: Interaction model regressing outcome main effects exposure well interactions exposure main effects (e.g., infancy:toddlerhood) user-specified interaction order M3: Full model regressing outcome main effects exposure, user-specified covariates, well exposure main effect interactions interactions expoure covariates, user-specified interaction order , specify M0 model. user selects covariate model (“m1” “m3”), required supply list covariates corresponds covariates wide data (see Step 4). optional inputs fitModel() function follows. user selects interaction model (“m2” “m3”), required provide interaction order integer int_order field reflects maximum interaction (e.g., 3) (automatically include lower order interactions (e.g., 2-way)). interaction order exceed total number exposure main effects (3 case, specified 3 exposure epochs). specify interaction model (“m2” “m3”), also need specify interaction order ( included lower-level interactoins) exposure main effects fitModel() function . user can also specify family (function, quotations; e.g., gaussian) link (quotations, e.g., “identity”) functions generalized linear model (defaults gaussian “link”, respectively). possible families : binomial, gaussian, Gama, inverse.gaussian, poisson, quasi, quasibinomial, quasipoisson. binomial Poisson families, set family quasibinomial quasipoisson, respectively, avoid warning non-integer numbers successes. `quasi’ versions family objects give point estimates standard errors give warning. gaussian family accepts links: “identity”, “log” “inverse”; binomial family links “logit”, “probit”, “cauchit”, (corresponding logistic, normal Cauchy CDFs respectively) “log” “cloglog” (complementary log-log); Gamma family links “inverse”, “identity”, “log”; poisson family links “log”, “identity”, “sqrt”; inverse.gaussian family links 1/mu^2, inverse, identity log. quasi family accepts links “logit”, “probit”, “cloglog”, “identity”, “inverse”, “log”, “1/mu^2”, “sqrt”, function power can used create power link function. , retain default family link functions. function returns list fitted model objects, glm output. fit outcome model using trimmed weights . function returns list models (one per imputed dataset, applicable). inspect model output. user option supply save.save printed output home directory. inspect model averaged across imputed datasets. Importantly, first examine results Wald test top output. case imputed data, likelihood ratio test done pooling parameters via Rubin’s Rules. test compares user-specified model nested version model omits exposure variables test whether exposure predicts variation outcome. Models pooled prior conducting likelihood ratio test imputed data.) conduct sensitivity analyses, fitting model weights trimmed two different values. note save.= TRUE using default file naming, saving model output overwrite output main model. save sensitivity analyses, recomend user supply new name (e.g., save.= “model_m1_s1.rds”). first fit model weights trimmed 92nd quantile. similarly find significant likelihoood ratio test. fit model weights trimmed 98th quantile. comparable result.","code":"m <- \"m0\" #int_order <- 2 family <- gaussian link <- \"identity\" weights <- trim_weights models <- fitModel(data = data, obj = obj, weights = weights, outcome = outcome, model = m, family = family, link = link, save.out = save.out) print(models, save.out = save.out) #> Please inspect the Wald test to determine if the exposures collectively predict significant variation in the outcome compared to a model without exposure terms. #> We strongly suggest only conducting history comparisons if the test is significant. #> test statistic df1 df2 dfcom p.value riv #> 1 ~~ 2 -1.181783 3 0.4300163 NA 1 2.021014 #> #> #> The marginal model, m0, pooled across imputed datasets is summarized below: #> +--------------------+-------+-----------------+--------+ #> | | (1) | #> +--------------------+-------+-----------------+--------+ #> | | Est. | CI | p | #> +====================+=======+=================+========+ #> | (Intercept) | 0.483 | [0.452, 0.513] | <0.001 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Childhood | 0.028 | [-0.112, 0.169] | 0.442 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Infancy | 0.003 | [-0.042, 0.048] | 0.891 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Toddlerhood | 0.012 | [-0.054, 0.079] | 0.650 | #> +--------------------+-------+-----------------+--------+ #> | Num.Obs. | 1292 | | | #> +--------------------+-------+-----------------+--------+ weights <- trim_weights.s1 models.s1 <- fitModel(data = data, obj = obj, weights = weights, outcome = outcome, model = m, family = family, link = link, save.out = save.out) print(models.s1, save.out = save.out) #> Please inspect the Wald test to determine if the exposures collectively predict significant variation in the outcome compared to a model without exposure terms. #> We strongly suggest only conducting history comparisons if the test is significant. #> test statistic df1 df2 dfcom p.value riv #> 1 ~~ 2 -0.42805 3 0.6223825 NA 1 1.252613 #> #> #> The marginal model, m0, pooled across imputed datasets is summarized below: #> +--------------------+-------+-----------------+--------+ #> | | (1) | #> +--------------------+-------+-----------------+--------+ #> | | Est. | CI | p | #> +====================+=======+=================+========+ #> | (Intercept) | 0.481 | [0.450, 0.513] | <0.001 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Childhood | 0.028 | [-0.085, 0.141] | 0.400 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Infancy | 0.006 | [-0.040, 0.051] | 0.784 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Toddlerhood | 0.015 | [-0.061, 0.091] | 0.601 | #> +--------------------+-------+-----------------+--------+ #> | Num.Obs. | 1292 | | | #> +--------------------+-------+-----------------+--------+ weights <- trim_weights.s2 models.s2 <- fitModel(data = data, obj = obj, weights = weights, outcome = outcome, model = m, family = family, link = link, save.out = save.out) print(models.s2, save.out = save.out) #> Please inspect the Wald test to determine if the exposures collectively predict significant variation in the outcome compared to a model without exposure terms. #> We strongly suggest only conducting history comparisons if the test is significant. #> test statistic df1 df2 dfcom p.value riv #> 1 ~~ 2 -1.653469 3 0.3504546 NA 1 2.86164 #> #> #> The marginal model, m0, pooled across imputed datasets is summarized below: #> +--------------------+--------+-----------------+--------+ #> | | (1) | #> +--------------------+--------+-----------------+--------+ #> | | Est. | CI | p | #> +====================+========+=================+========+ #> | (Intercept) | 0.485 | [0.454, 0.515] | <0.001 | #> +--------------------+--------+-----------------+--------+ #> | ESETA1.Childhood | 0.029 | [-0.150, 0.209] | 0.487 | #> +--------------------+--------+-----------------+--------+ #> | ESETA1.Infancy | -0.002 | [-0.055, 0.052] | 0.934 | #> +--------------------+--------+-----------------+--------+ #> | ESETA1.Toddlerhood | 0.009 | [-0.061, 0.080] | 0.748 | #> +--------------------+--------+-----------------+--------+ #> | Num.Obs. | 1292 | | | #> +--------------------+--------+-----------------+--------+"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"sensitvity-analyses-2","dir":"Articles","previous_headings":"PHASE 2: Assess Substantive Associations between Exposure and Outcome","what":"Sensitvity Analyses","title":"Workflow: Continuous Exposure","text":"conduct sensitivity analyses, fitting model weights trimmed two different values. note save.= TRUE using default file naming, saving model output overwrite output main model. save sensitivity analyses, recomend user supply new name (e.g., save.= “model_m1_s1.rds”). first fit model weights trimmed 92nd quantile. similarly find significant likelihoood ratio test. fit model weights trimmed 98th quantile. comparable result.","code":"weights <- trim_weights.s1 models.s1 <- fitModel(data = data, obj = obj, weights = weights, outcome = outcome, model = m, family = family, link = link, save.out = save.out) print(models.s1, save.out = save.out) #> Please inspect the Wald test to determine if the exposures collectively predict significant variation in the outcome compared to a model without exposure terms. #> We strongly suggest only conducting history comparisons if the test is significant. #> test statistic df1 df2 dfcom p.value riv #> 1 ~~ 2 -0.42805 3 0.6223825 NA 1 1.252613 #> #> #> The marginal model, m0, pooled across imputed datasets is summarized below: #> +--------------------+-------+-----------------+--------+ #> | | (1) | #> +--------------------+-------+-----------------+--------+ #> | | Est. | CI | p | #> +====================+=======+=================+========+ #> | (Intercept) | 0.481 | [0.450, 0.513] | <0.001 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Childhood | 0.028 | [-0.085, 0.141] | 0.400 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Infancy | 0.006 | [-0.040, 0.051] | 0.784 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Toddlerhood | 0.015 | [-0.061, 0.091] | 0.601 | #> +--------------------+-------+-----------------+--------+ #> | Num.Obs. | 1292 | | | #> +--------------------+-------+-----------------+--------+ weights <- trim_weights.s2 models.s2 <- fitModel(data = data, obj = obj, weights = weights, outcome = outcome, model = m, family = family, link = link, save.out = save.out) print(models.s2, save.out = save.out) #> Please inspect the Wald test to determine if the exposures collectively predict significant variation in the outcome compared to a model without exposure terms. #> We strongly suggest only conducting history comparisons if the test is significant. #> test statistic df1 df2 dfcom p.value riv #> 1 ~~ 2 -1.653469 3 0.3504546 NA 1 2.86164 #> #> #> The marginal model, m0, pooled across imputed datasets is summarized below: #> +--------------------+--------+-----------------+--------+ #> | | (1) | #> +--------------------+--------+-----------------+--------+ #> | | Est. | CI | p | #> +====================+========+=================+========+ #> | (Intercept) | 0.485 | [0.454, 0.515] | <0.001 | #> +--------------------+--------+-----------------+--------+ #> | ESETA1.Childhood | 0.029 | [-0.150, 0.209] | 0.487 | #> +--------------------+--------+-----------------+--------+ #> | ESETA1.Infancy | -0.002 | [-0.055, 0.052] | 0.934 | #> +--------------------+--------+-----------------+--------+ #> | ESETA1.Toddlerhood | 0.009 | [-0.061, 0.080] | 0.748 | #> +--------------------+--------+-----------------+--------+ #> | Num.Obs. | 1292 | | | #> +--------------------+--------+-----------------+--------+"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"step-5b--estimate-compare-and-visualize-model-predicted-outcome-as-a-function-of-exposure-history","dir":"Articles","previous_headings":"PHASE 2: Assess Substantive Associations between Exposure and Outcome","what":"Step 5b. Estimate, Compare, and Visualize Model-Predicted Outcome as a Function of Exposure History","title":"Workflow: Continuous Exposure","text":"final step, use fitted model results test substantive hypotheses dose timing. estimate compare average marginal estimates outcome user-specified exposure history (.e., permutation high (“h) low (“l”) levels exposure exposure epoch) using compareHistories() function. draws primarily avg_predictions() hypotheses() functions marginaleffects package (Arel-Bundock, 2023). First, compareHistories() function creates average predictions outcome exposure history. n combinations user-specified exposure histories, set value predictors full dataset values combination, leaving variables . gives us n datasets, size original dataset used fit model. n datasets, compute predicted values given model taking average predicted value n datasets. n averaged predicted values expected potential outcomes combination. (imputed data, function outputs pooled predicted values using Rubin’s Rules.) Next, using predicted values, function conducts comparisons different histories (pooling across imputed datasets imputed data using Rubin’s Rules). Lastly, function implements correction multiple comparisons (treating run function family) plotting results. Box plots display outcome x-axis exposure history y-axis whiskers display standard errors. required inputs using compareHistories() function : MSM object (e.g., “obj”) fitted model output (previous steps). optional inputs follows. create histories high low values continuous exposures, hi_lo_cut user can specify list two quantile values (0-1; default median split +/- 0.001) demarcating high low levels exposure, respectively. (Imputed data stacked calculate cutoff values.) suggest drawing existing hypotheses examining variability exposure variable determine high low cutoffs. recommend users begin specifying meaningful high low percentile cutoffs examining many individuals sample fall user-specified exposure histories created percentile cutoffs (see Specify Core Inputs vignette). gold standard recommendations sufficient cell numbers per history, users ensure reasonable coverage histories avoid extrapolation maximize precision. , draw high low cutoffs previously specified, 60th 30th percentile values denote high low levels economic strain, respectively. user also option estimate compare custom subset user-specified exposure histories (.e., sequences high low levels exposure epoch time point) using reference comparison fields. conduct recommended customized comparisons, users must provide least one unique valid history (e.g., “l-l-l”) reference , quotations, provide string (list strings) lowercase l’s h’s (separated -), corresponding exposure epoch (time point), signify sequence exposure levels (“low” “high”, respectively). user supplies reference history, required provide least one unique valid history comparison , quotations, providing comparison string (list strings) l’s h’s (separated “-”), corresponding exposure epoch, signify sequence exposure levels (“low” “high”, respectively) constitutes comparison exposure history/histories compared reference. user supplies one comparisons, least one reference must specified. reference exposure history compared comparison history comparisons subject multiple comparison correction. reference comparison specified, histories compared . 4 exposure main effects (either epochs exposure time points), user required select subset history comparisons (Step 5b), given base code (see hypotheses() function marginaleffects package; Arel-Bundock, 2023) accommodate pairwise history comparisons 5 time points. user can also specify multiple comparison method mc_method quotations, providing shorthand method (“holm”, “hochberg”,“hommel”, “bonferroni”, “BH” (default), “”, “fdr”, “n” (see stats::p.adjust documentation; R Core Team) multiple comparison correction applied final (pooled across imputed datasets applicable) contrasts comparing effects different exposure histories outcome (default Benjamini-Hochburg). code run considered family. user iterates function specifying different comparisons time, strongly recommend interpreting outcome inclusive set comparisons avoid false discovery. , retain default Benjamini-Hochburg method multiple comparison. Based substantive interests, user also option choose level dosage (“h” “l”) tallied labels dose counts tables figures (dose_level; default “h”). example, exposure variable coded way lower levels conceptualized exposure (e.g., lower income), user may wish choose dosage level “l”. , given interest histories high economic strain, specify wish tally high doses exposure. Lastly, user can provide alternate plotting labels exposure outcome exp_lab out_lab fields (defaults variable names), well list (equal number exposure main effects +1) colors Brewer color palette (colors; default “Dark2”). See RColorBrewer::display.brewer.() https://r-graph-gallery.com/38-rcolorbrewers-palettes.html). , specify plotting labels 4 colors. function returns data frame user-specified history comparisons containing contrast estimates, standard errors, statistics, p-values, low high confidence intervals, corrected p-values, labeled history dose. function outputs list two entries. first contains predicted values history second contains comparisons. inspect compared histories output (now averaged across imputed datsets). user option supply save.save printed output home directory. first confirm distribution sample across exposure histories reasonable. summarize results. inspect history comparison conclude evidence children experienced different histories exposure economic strain infancy, toddlerhood, early childhood differ behavioral problems early childhood. Lastly, plot results. user option supply save.save plot output home directory. conduct sensitivity analyses assessing comparing histories drawing models used weights trimmed two different values. note save.= TRUE using default file naming, saving model output overwrite output main model. save sensitivity analyses, recommend user supply new name (e.g., save.= “history_comparisons_s1.rds”). first compare histories using model fit weights trimmed 92nd quantile value. shown , results indicate marginal non-significant contrast “l-l-l” “h-h-h” histories economic strain exposure relation behavior problems early childhood. compare histories using model fit weights trimmed 98th quantile value. Similarly, find evidence differences behavioral problems function history exposure economic strain.","code":"hi_lo_cut <- c(0.6, 0.3) mc_comp_method <- \"BH\" dose_level <- \"h\" exp_lab <- \"Economic Strain\" out_lab <- \"Behavior Problems\" colors <- c(\"blue4\", \"darkgreen\", \"darkgoldenrod\", \"red2\") model <- models results <- compareHistories(fit = model, comparison = comparison, reference = reference, hi_lo_cut = hi_lo_cut, mc_comp_method = mc_comp_method, dose = \"h\", save.out = save.out) print(results) #> Summary of Exposure Main Effects: #> USER ALERT: Out of the total of 1292 individuals in the sample, below is the distribution of the 333 (26%) individuals that fall into 2 user-selected exposure histories (out of the 27 total) created from 30th and 60th percentile values for low and high levels of exposure-epoch Infancy, Toddlerhood, Childhood. #> USER ALERT: Please inspect the distribution of the sample across the following exposure histories and ensure there is sufficient spread to avoid extrapolation and low precision: #> #> +---------------+-----+ #> | epoch_history | n | #> +===============+=====+ #> | h-h-h | 214 | #> +---------------+-----+ #> | l-l-l | 119 | #> +---------------+-----+ #> #> Table: Summary of user-selected exposure histories based on exposure main effects Infancy, Toddlerhood, Childhood: #> #> Below are the pooled average predictions by user-specified history: #> +-------+----------+-----------+----------+-----------+ #> | term | estimate | std.error | conf.low | conf.high | #> +=======+==========+===========+==========+===========+ #> | l-l-l | 0.47 | 0.014 | 0.44 | 0.49 | #> +-------+----------+-----------+----------+-----------+ #> | h-h-h | 0.5 | 0.019 | 0.43 | 0.57 | #> +-------+----------+-----------+----------+-----------+ #> #> Conducting multiple comparison correction for all pairings between comparison histories and each refernece history using the BH method. #> #> #> +-------------------+------------+------------+-----------+-------------+------------+--------------+ #> | term | estimate | std.error | p.value | conf.low | conf.high | p.value_corr | #> +===================+============+============+===========+=============+============+==============+ #> | (h-h-h) - (l-l-l) | 0.02991272 | 0.01979075 | 0.2172254 | -0.02903923 | 0.08886468 | 0.2172254 | #> +-------------------+------------+------------+-----------+-------------+------------+--------------+ summary(results, save.out = save.out) #> term estimate std.error statistic df p.value #> 1 (h-h-h) - (l-l-l) 0.02991272 0.01979075 1.511449 3.40476 0.2172254 #> conf.low conf.high dose p.value_corr #> 1 -0.02903923 0.08886468 3 - 0 0.2172254 plot(results, save.out = save.out) model <- models.s1 results.s1 <- compareHistories(fit = model, comparison = comparison, reference = reference, hi_lo_cut = hi_lo_cut, mc_comp_method = mc_comp_method, dose = \"h\", save.out = save.out) summary(results.s1, save.out = save.out) #> term estimate std.error statistic df p.value #> 1 (h-h-h) - (l-l-l) 0.03275407 0.01735569 1.887224 5.210738 0.1154298 #> conf.low conf.high dose p.value_corr #> 1 -0.01132286 0.07683101 3 - 0 0.1154298 model <- models.s2 results.s2 <- compareHistories(fit = model, comparison = comparison, reference = reference, hi_lo_cut = hi_lo_cut, mc_comp_method = mc_comp_method, dose = \"h\", save.out = save.out) summary(results.s2, save.out = save.out) #> term estimate std.error statistic df p.value #> 1 (h-h-h) - (l-l-l) 0.02588619 0.0234072 1.105907 2.462813 0.3649947 #> conf.low conf.high dose p.value_corr #> 1 -0.05869734 0.1104697 3 - 0 0.3649947"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"sensitvity-analyses-3","dir":"Articles","previous_headings":"PHASE 2: Assess Substantive Associations between Exposure and Outcome","what":"Sensitvity Analyses","title":"Workflow: Continuous Exposure","text":"conduct sensitivity analyses assessing comparing histories drawing models used weights trimmed two different values. note save.= TRUE using default file naming, saving model output overwrite output main model. save sensitivity analyses, recommend user supply new name (e.g., save.= “history_comparisons_s1.rds”). first compare histories using model fit weights trimmed 92nd quantile value. shown , results indicate marginal non-significant contrast “l-l-l” “h-h-h” histories economic strain exposure relation behavior problems early childhood. compare histories using model fit weights trimmed 98th quantile value. Similarly, find evidence differences behavioral problems function history exposure economic strain.","code":"model <- models.s1 results.s1 <- compareHistories(fit = model, comparison = comparison, reference = reference, hi_lo_cut = hi_lo_cut, mc_comp_method = mc_comp_method, dose = \"h\", save.out = save.out) summary(results.s1, save.out = save.out) #> term estimate std.error statistic df p.value #> 1 (h-h-h) - (l-l-l) 0.03275407 0.01735569 1.887224 5.210738 0.1154298 #> conf.low conf.high dose p.value_corr #> 1 -0.01132286 0.07683101 3 - 0 0.1154298 model <- models.s2 results.s2 <- compareHistories(fit = model, comparison = comparison, reference = reference, hi_lo_cut = hi_lo_cut, mc_comp_method = mc_comp_method, dose = \"h\", save.out = save.out) summary(results.s2, save.out = save.out) #> term estimate std.error statistic df p.value #> 1 (h-h-h) - (l-l-l) 0.02588619 0.0234072 1.105907 2.462813 0.3649947 #> conf.low conf.high dose p.value_corr #> 1 -0.05869734 0.1104697 3 - 0 0.3649947"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"references","dir":"Articles","previous_headings":"","what":"References","title":"Workflow: Continuous Exposure","text":"Arel-Bundock, V. 2023. marginaleffects: Predictions, Comparisons, Slopes, Marginal Means,Hypothesis Tests. https://CRAN.R-project.org/package=marginaleffects. Burchinal, M., Howes, C., Pianta, R., Bryant, D., Early, D., Clifford, R., & Barbarin, O. (2008). Predicting Child Outcomes End Kindergarten Quality Pre-Kindergarten Teacher–Child Interactions Instruction. Applied Developmental Science, 12(3), 140–153. https://doi.org/10.1080/10888690802199418 Cole, S. R., & Hernán, M. . (2008). Constructing Inverse Probability Weights Marginal Structural Models. American Journal Epidemiology, 168(6), 656–664. https://doi.org/10.1093/aje/kwn164. Greifer, Noah. 2023.WeightIt: Weighting Covariate Balance Observational Studies. https://CRAN.R-project.org/package=WeightIt. Lumley, Thomas. 2023. “survey: Analysis Complex Survey Samples.” Polley, Eric, Erin LeDell, Chris Kennedy, Mark van der Laan. 2023. SuperLearner: SuperLearner Prediction. https://CRAN.R-project.org/package=SuperLearner. R Core Team (2013). R: language environment statistical computing. R Foundation Statistical Computing, Vienna, Austria. ISBN 3-900051-07-0, URLhttp://www.R-project.org/. Stuart, E. . (2010). Matching methods causal inference: review look forward. Statistical Science: Review Journal Institute Mathematical Statistics, 25(1), 1–21. https://doi.org/10.1214/09-STS313. Thoemmes, F., & Ong, . D. (2016). Primer Inverse Probability Treatment Weighting Marginal Structural Models. https://doi.org/10.1177/2167696815621645. Vernon-Feagans, L., Cox, M., Willoughby, M., Burchinal, M., Garrett-Peters, P., Mills-Koonce, R., Garrett-Peiers, P., Conger, R. D., & Bauer, P. J. (2013). Family Life Project: Epidemiological Developmental Study Young Children Living Poor Rural Communities. Monographs Society Research Child Development, 78(5), –150.","code":""},{"path":"https://istallworthy.github.io/devMSMs/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Isabella Stallworthy. Author, maintainer. Noah Greifer. Author, contributor. Meriah DeJoseph. Author. Emily Padrutt. Author. Kyle Butts. Author, contributor. Daniel Berry. Author.","code":""},{"path":"https://istallworthy.github.io/devMSMs/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Stallworthy , Greifer N, DeJoseph M, Padrutt E, Butts K, Berry D (2024). devMSMs: Implementing Marginal Structural Models Longitudinal Data. R package version 0.0.0.9001, https://github.com/istallworthy/devMSMs, https://istallworthy.github.io/devMSMs/.","code":"@Manual{, title = {devMSMs: Implementing Marginal Structural Models with Longitudinal Data}, author = {Isabella Stallworthy and Noah Greifer and Meriah DeJoseph and Emily Padrutt and Kyle Butts and Daniel Berry}, year = {2024}, note = {R package version 0.0.0.9001, https://github.com/istallworthy/devMSMs}, url = {https://istallworthy.github.io/devMSMs/}, }"},{"path":"https://istallworthy.github.io/devMSMs/index.html","id":"devmsms-implementing-marginal-structural-models-msms--with-longitudinal-data","dir":"","previous_headings":"","what":"Implementing Marginal Structural Models with Longitudinal Data","title":"Implementing Marginal Structural Models with Longitudinal Data","text":"study work humans fundamentally interested questions causation. specifically, scientists, clinicians, educators, policymakers alike often interested causal processes involving questions (timing) levels (dose) different factors influence human functioning development, order inform scientific understanding improve people’s lives. However, many, conceptual, methodological, practical barriers prevented use methods causal inference developed fields. goal devMSMs package accompanying tutorial paper, Investigating Causal Questions Human Development Using Marginal Structural Models: Tutorial Introduction devMSMs Package R (insert preprint link ), provide set tools implementing marginal structural models (MSMs; Robins et al., 2000). MSMs orginated epidemiology public health represent one -utilized tool improving causal inference longitudinal observational data, given certain assumptions. brief, MSMs leverage inverse-probability--treatment-weights (IPTW) potential outcomes framework. MSMs first focus problem confounding, using IPTW attenuate associations measured confounders exposure (e.g., experience, characteristic, event –biology broader environment) time. weighted model can fitted relating time-varying exposure future outcome. Finally, model-predicted effects different exposure histories vary dose timing can evaluated compared counterfactuals, reveal putative causal effects. employ term exposure (sometimes referred “treatment” literatures) encompass variety environmental factors, individual characteristics, experiences constitute putative causal events within causal model. Exposures may distal proximal, reflecting developing child’s experience within different environments many levels (Bronfenbrenner & Ceci, 1994), ranging family (e.g., parenting), home (e.g., economic strain), school (e.g., teacher quality), neighborhood (e.g., diversity), greater politico-cultural-economic context (e.g., inequality). Exposures also reflect factors internal child, including neurodevelopmental (e.g., risk markers), physiological (e.g., stress), behavioral (e.g., anxiety) patterns child’s development exposed.","code":""},{"path":"https://istallworthy.github.io/devMSMs/index.html","id":"core-features","dir":"","previous_headings":"","what":"Core Features","title":"Implementing Marginal Structural Models with Longitudinal Data","text":"Core features devMSMs include: flexible functions built-user guidance, drawing established expertise best practices implementing longitudinal IPTW weighting outcome modeling, answer substantive causal questions dose timing functions accept complete imputed data accommodate missingness often found human studies novel recommended workflow, based expertise several disciplines, using devMSMs functions longitudinal data (see Workflows vignettes) accompanying simulated longitudinal dataset, based real-world, Family Life Project (FLP) study human development, getting know package functions accompanying suite helper functions assist users preparing inspecting data prior implementation devMSMs executable, step--step user guidance implementing devMSMs workflow preliminary steps form vignettes geared toward users levels R programming experience, along R markdown template file brief conceptual introduction, example empirical application, additional resources accompanying tutorial paper","code":""},{"path":"https://istallworthy.github.io/devMSMs/index.html","id":"overview","dir":"","previous_headings":"","what":"Overview","title":"Implementing Marginal Structural Models with Longitudinal Data","text":"package contains 7 core functions implementing two phases MSM process: longitudinal confounder adjustment outcome modeling longitudinal data time-varying exposures. summary terms used devMSMs vignettes functions. details examples can found accompanying manuscript.","code":""},{"path":"https://istallworthy.github.io/devMSMs/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"Implementing Marginal Structural Models with Longitudinal Data","text":"devMSMs can installed R Studio Github using devtools package: helper functions can installed accompanying devMSMsHelpers repo:","code":"require(devtools, quietly = TRUE) devtools::install_github(\"istallworthy/devMSMs\") library(devMSMs) devtools::install_github(\"istallworthy/devMSMsHelpers\") library(devMSMsHelpers)"},{"path":"https://istallworthy.github.io/devMSMs/index.html","id":"recommended-workflow","dir":"","previous_headings":"","what":"Recommended Workflow","title":"Implementing Marginal Structural Models with Longitudinal Data","text":"propose recommended workflow using devMSMs answer causal questions longituinal data. suggest using vignettes order appear Articles tab. reading accompanying manuscript, recommend first reviewing Terminology Data Requirements vignettes begin preparing data. recommend downloading R markdown template file contains code described Specify Core Inputs Workflows vignettes (binary (TBA) continuous exposures) implementing steps .","code":""},{"path":"https://istallworthy.github.io/devMSMs/index.html","id":"citation--bug-reports","dir":"","previous_headings":"","what":"Citation & Bug Reports","title":"Implementing Marginal Structural Models with Longitudinal Data","text":"Please cite use devMSMs using following citation: Stallworthy , Greifer N, DeJoseph M, Padrutt E, Butts K, Berry D (2024). devMSMs: Implementing Marginal Structural Models Longitudinal Data. R package version 0.0.0.9000, https://istallworthy.github.io/devMSMs/. Please report bugs following link: https://github.com/istallworthy/devMSMs/issues","code":""},{"path":"https://istallworthy.github.io/devMSMs/index.html","id":"additional-resources","dir":"","previous_headings":"","what":"Additional Resources","title":"Implementing Marginal Structural Models with Longitudinal Data","text":"Arel-Bundock, Diniz, M. ., Greifer, N., & Bacher, E. (2024). marginaleffects: Predictions, Comparisons, Slopes, Marginal Means, Hypothesis Tests (0.12.0) [Computer software]. https://cran.r-project.org/web/packages/marginaleffects/index.html. Austin, P. C. (2011). Introduction Propensity Score Methods Reducing Effects Confounding Observational Studies. Multivariate Behavioral Research, 46(3), 399–424. https://doi.org/10.1080/00273171.2011.568786 Blackwell, M. (2013). Framework Dynamic Causal Inference Political Science. American Journal Political Science, 57(2), 504–520. https://doi.org/10.1111/j.1540-5907.2012.00626.x Cole, S. R., & Hernán, M. . (2008). Constructing Inverse Probability Weights Marginal Structural Models. American Journal Epidemiology, 168(6), 656–664. https://doi.org/10.1093/aje/kwn164 Eronen, M. . (2020). Causal discovery problem psychological interventions. New Ideas Psychology, 59, 100785. https://doi.org/10.1016/j.newideapsych.2020.100785 Fong, C., Hazlett, C., & Imai, K. (2018).Covariate balancing propensity score continuous treatment: Application efficacy political advertisements. Annals Applied Statistics, 12(1), 156–177. https://doi.org/10.1214/17-AOAS1101 Foster, E. M. (2010). Causal inference developmental psychology. Developmental Psychology, 46(6), 1454–1480. https://doi.org/10.1037/a0020204 Greifer N (2024).cobalt: Covariate Balance Tables Plots. R package version 4.5.2, https://github.com/ngreifer/cobalt, https://ngreifer.github.io/cobalt/ Greifer N (2024). WeightIt: Weighting Covariate Balance Observational Studies. https://ngreifer.github.io/WeightIt/, https://github.com/ngreifer/WeightIt Jackson, John W.(2016). Diagnostics Confounding Time-varying Joint Exposures. Epidemiology, 2016 Nov, 27(6), 859-69. https://doi.org/10.1097/EDE.0000000000000547. Haber, N. ., Wood, M. E., Wieten, S., & Breskin, .(2022). DAG Omitted Objects Displayed (DAGWOOD): framework revealing causal assumptions DAGs. Annals Epidemiology, 68, 64–71. https://doi.org/10.1016/j.annepidem.2022.01.001 Hernán, M., & Robins, J. (2024). Causal Inference: . CRC Press. Hirano, K., & Imbens, G. W. (2004).Propensity Score Continuous Treatments. Applied Bayesian Modeling Causal Inference Incomplete-Data Perspectives (pp. 73–84). John Wiley & Sons, Ltd. https://doi.org/10.1002/0470090456.ch7 Kainz, K., Greifer, N., Givens, ., Swietek, K., Lombardi, B. M., Zietz, S., & Kohn, J. L. (2017). Improving Causal Inference: Recommendations Covariate Selection Balance Propensity Score Methods. Journal Society Social Work Research, 8(2), 279–303. https://doi.org/10.1086/691464 Loh, W. W., Ren, D., & West, S. G. (2024). Parametric g-formula Testing Time-Varying Causal Effects: , Matters, Implement Lavaan. Multivariate Behavioral Research, 59(5), 995–1018. https://doi.org/10.1080/00273171.2024.2354228 Pishgar, F., Greifer, N., Leyrat, C., & Stuart, E. (2021). MatchThem: Matching andWeighting Multiple Imputation. R Journal, 13(2), 292–305. https://doi.org/10.32614/RJ-2021-073 Robins, J. M., Hernán, M.Á., & Brumback, B. (2000). Marginal Structural Models Causal Inference Epidemiology. Epidemiology, 11(5), 550–560. Rubin, D. B. (2005). Causal Inference Using Potential Outcomes: Design, Modeling, Decisions. Journal American Statistical Association, 100(469), 322–331. https://doi.org/10.1198/016214504000001880 Rubin, D. B. (1974). Estimating causal effects treatments randomized nonrandomized studies. Journal Educational Psychology, 66(5), 688–701. https://doi.org/10.1037/h0037350 Stuart, E. . (2010). Matching methods causal inference: review look forward. Statistical Science : Review Journal Institute Mathematical Statistics, 25(1), 1–21. https://doi.org/10.1214/09-STS313 Stuart, E. . (2008). Developing practical recommendations use propensity scores: Discussion ‘critical appraisal propensity score matching medical literature 1996 2003’ Peter Austin, Statistics Medicine. Statistics Medicine, 27(12), 2062–2065. https://doi.org/10.1002/sim.3207 Textor, J. (2015). Drawing Analyzing Causal DAGs DAGitty. Thoemmes, F., & Ong, . D. (2016). Primer Inverse Probability Treatment Weighting Marginal Structural Models. https://doi.org/10.1177/2167696815621645 Woodward, J. (2005). Making Things Happen: Theory Causal Explanation. Oxford University Press, USA.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/assessBalance.html","id":null,"dir":"Reference","previous_headings":"","what":"Assesses confounder balancing — assessBalance","title":"Assesses confounder balancing — assessBalance","text":"Draws functions cobalt package quantify relations exposure confounders exposure time point according guidelines Jackson, 2016 assess balance time-varying exposures.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/assessBalance.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Assesses confounder balancing — assessBalance","text":"","code":"assessBalance( data, obj, weights = NULL, balance_thresh = NULL, imp_conf = NULL, verbose = FALSE, save.out = FALSE ) # S3 method for class 'devMSM_bal_stats' print(x, i = NA, t = TRUE, save.out = FALSE, ...) # S3 method for class 'devMSM_bal_stats' summary(object, i = NA, save.out = FALSE, ...) # S3 method for class 'devMSM_bal_stats' plot(x, i = NA, t = TRUE, save.out = FALSE, ...)"},{"path":"https://istallworthy.github.io/devMSMs/reference/assessBalance.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Assesses confounder balancing — assessBalance","text":"data data wide format : data frame, list imputed data frames, mids object mice package obj initialized MSM object initMSM() weights (optional) list IPTW weights output createWeights() balance_thresh (optional) one two numbers 0 1 indicating single balancing threshold thresholds less important confounders, respectively (default = 0.1) imp_conf (optional) list variable names reflecting important confounders, required two balance thresholds supplied verbose (optional) TRUE FALSE indicator printing output console. default FALSE. save.(optional) Either logical character string. TRUE, output result default file name within home_dir set initMSM(). can load data x <- readRDS(file). use non-default file name, specify character string file name. save relative home_dir. might naming conflicts two objects get saved file. cases, users specify custom name. default FALSE. x devMSM_bal_stats object assessBalance multiply imputed datasets, selects imputation print results . Default = 1. = TRUE, imputed datasets looped . = NULL, average imputed datasets summarize . Ignored non-imputed data. t exposure variable use. Can either index 1 number exposures string containing exposure variable name (e.g. \".3\"). t = TRUE, exposure variables looped . ... ignored object devMSM_bal_stats object assessBalance()","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/assessBalance.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Assesses confounder balancing — assessBalance","text":"list containing balance statistics dataframe. length number datasets (1 data.frame number imputed datasets)","code":""},{"path":[]},{"path":"https://istallworthy.github.io/devMSMs/reference/assessBalance.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Assesses confounder balancing — assessBalance","text":"","code":"library(devMSMs) data <- data.frame( ID = 1:50, A.1 = rnorm(n = 50), A.2 = rnorm(n = 50), A.3 = rnorm(n = 50), B.1 = rnorm(n = 50), B.2 = rnorm(n = 50), B.3 = rnorm(n = 50), C = rnorm(n = 50), D.3 = rnorm(n = 50) ) obj <- initMSM( data, exposure = c(\"A.1\", \"A.2\", \"A.3\"), ti_conf = c(\"C\"), tv_conf = c(\"B.1\", \"B.2\", \"B.3\", \"D.3\") ) # Prebalance b <- assessBalance(data = data, obj = obj) print(b) #> #> +----------+-----------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +==========+===========+===============+============+==========+ #> | A.1 | C | 0.0928 | 0.1 | 1 | #> +----------+-----------+---------------+------------+----------+ #> | A.2 | C | 0.2457 | 0.1 | 0 | #> +----------+-----------+---------------+------------+----------+ #> | A.2 | B.1 | -0.0223 | 0.1 | 1 | #> +----------+-----------+---------------+------------+----------+ #> | A.2 | A.1 | 0.3289 | 0.1 | 0 | #> +----------+-----------+---------------+------------+----------+ #> | A.3 | C | 0.0321 | 0.1 | 1 | #> +----------+-----------+---------------+------------+----------+ #> | A.3 | B.1 | -0.0852 | 0.1 | 1 | #> +----------+-----------+---------------+------------+----------+ #> | A.3 | B.2 | 0.2001 | 0.1 | 0 | #> +----------+-----------+---------------+------------+----------+ #> | A.3 | A.1 | 0.0468 | 0.1 | 1 | #> +----------+-----------+---------------+------------+----------+ #> | A.3 | A.2 | -0.106 | 0.1 | 0 | #> +----------+-----------+---------------+------------+----------+ #> #> Table: Balance Stats for All Exposure Time Points # returns ggplot of balance stats for all exposure variables plots <- plot(b, t = TRUE) # can plot only specific exposure time periods plot(b, t = \"A.3\") plot(b, t = 3) # Weighted f <- createFormulas(obj, type = \"short\") w <- createWeights(data = data, formulas = f) bw <- assessBalance(data = data, weights = w) print(bw) #> #> +----------+-----------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +==========+===========+===============+============+==========+ #> | A.1 | C | -0.1136 | 0.1 | 0 | #> +----------+-----------+---------------+------------+----------+ #> | A.2 | C | -0.0279 | 0.1 | 1 | #> +----------+-----------+---------------+------------+----------+ #> | A.2 | B.1 | -0.0216 | 0.1 | 1 | #> +----------+-----------+---------------+------------+----------+ #> | A.2 | A.1 | 0.1254 | 0.1 | 0 | #> +----------+-----------+---------------+------------+----------+ #> | A.3 | C | -0.0584 | 0.1 | 1 | #> +----------+-----------+---------------+------------+----------+ #> | A.3 | B.1 | -0.0606 | 0.1 | 1 | #> +----------+-----------+---------------+------------+----------+ #> | A.3 | B.2 | -0.0311 | 0.1 | 1 | #> +----------+-----------+---------------+------------+----------+ #> | A.3 | A.1 | -0.0195 | 0.1 | 1 | #> +----------+-----------+---------------+------------+----------+ #> | A.3 | A.2 | -0.1877 | 0.1 | 0 | #> +----------+-----------+---------------+------------+----------+ #> #> Table: Balance Stats for All Exposure Time Points plot(bw)"},{"path":"https://istallworthy.github.io/devMSMs/reference/compareHistories.html","id":null,"dir":"Reference","previous_headings":"","what":"Estimate, compare, and visualize exposure histories — compareHistories","title":"Estimate, compare, and visualize exposure histories — compareHistories","text":"Takes fitted model output created predicted values user-specified histories (pooling imputed data), conducting contrast comparisons (pooling imputed data), correcting multiple comparisons, plotting results.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/compareHistories.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Estimate, compare, and visualize exposure histories — compareHistories","text":"","code":"compareHistories( fit, hi_lo_cut, dose_level = \"h\", reference = NULL, comparison = NULL, mc_comp_method = \"BH\", verbose = FALSE, save.out = FALSE ) # S3 method for class 'devMSM_comparisons' print(x, save.out = FALSE, ...) # S3 method for class 'devMSM_comparisons' plot( x, colors = \"Dark2\", exp_lab = NULL, out_lab = NULL, save.out = FALSE, ... ) # S3 method for class 'devMSM_comparisons' summary(object, type = \"comps\", ...)"},{"path":"https://istallworthy.github.io/devMSMs/reference/compareHistories.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Estimate, compare, and visualize exposure histories — compareHistories","text":"fit list model outputs fitModel() hi_lo_cut list two numbers indicating quantile values reflect high low values, respectively, continuous exposure dose_level (optional) \"l\" \"h\" indicating whether low high doses tallied tables plots (default high \"h\") reference lists one strings \"-\"-separated \"l\" \"h\" values indicative reference exposure history compare comparison, required comparison supplied comparison (optional) list one strings \"-\"-separated \"l\" \"h\" values indicative comparison history/histories compare reference, required reference supplied mc_comp_method (optional) character abbreviation multiple comparison correction method stats::p.adjust, default Benjamini-Hochburg (\"BH\") verbose (optional) TRUE FALSE indicator printing output console. default FALSE. save.(optional) Either logical character string. TRUE, output result default file name within home_dir set initMSM(). can load data x <- readRDS(file). use non-default file name, specify character string file name. save relative home_dir. might naming conflicts two objects get saved file. cases, users specify custom name. default FALSE. x devMSM_histories object compareHistories() ... ignored colors (optional) character specifying Brewer palette list colors (n(epochs)+1) plotting (default \"Dark2\" palette) exp_lab (optional) character label exposure variable plots (default variable name) out_lab (optional) character label outcome variable plots (default variable name) object devMSM_histories object compareHistories() type Either \"preds\" \"comps\" corresponding results marginaleffects::avg_predictions() low high dosages marginaleffects::avg_comparisons() respectively","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/compareHistories.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Estimate, compare, and visualize exposure histories — compareHistories","text":"list containing two dataframes: preds predictions marginaleffects::avg_predictions() containing average expected outcome different exposure histories comps contrasts marginaleffects::comparisons() comparing different exposure history","code":""},{"path":[]},{"path":"https://istallworthy.github.io/devMSMs/reference/compareHistories.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Estimate, compare, and visualize exposure histories — compareHistories","text":"","code":"library(devMSMs) set.seed(123) data <- data.frame( ID = 1:50, A.1 = rnorm(n = 50), A.2 = rnorm(n = 50), A.3 = rnorm(n = 50), B.1 = rnorm(n = 50), B.2 = rnorm(n = 50), B.3 = rnorm(n = 50), C = rnorm(n = 50), D.3 = rnorm(n = 50) ) obj <- initMSM( data, exposure = c(\"A.1\", \"A.2\", \"A.3\"), ti_conf = c(\"C\"), tv_conf = c(\"B.1\", \"B.2\", \"B.3\", \"D.3\") ) f <- createFormulas(obj, type = \"short\") w <- createWeights(data = data, formulas = f) fit <- fitModel( data = data, weights = w, outcome = \"D.3\", model = \"m0\" ) comp <- compareHistories( fit = fit, hi_lo_cut = c(0.3, 0.6) ) print(comp) #> Summary of Exposure Main Effects: #> USER ALERT: Out of the total of 50 individuals in the sample, below is the distribution of the 50 (100%) individuals that fall into 24 user-selected exposure histories (out of the 24 total) created from 30th and 60th percentile values for low and high levels of exposure-epoch A.1, A.2, A.3. #> USER ALERT: Please inspect the distribution of the sample across the following exposure histories and ensure there is sufficient spread to avoid extrapolation and low precision: #> #> +---------------+---+ #> | epoch_history | n | #> +===============+===+ #> | NA-NA-h | 2 | #> +---------------+---+ #> | NA-NA-l | 1 | #> +---------------+---+ #> | NA-h-NA | 2 | #> +---------------+---+ #> | NA-h-h | 3 | #> +---------------+---+ #> | NA-h-l | 2 | #> +---------------+---+ #> | NA-l-NA | 1 | #> +---------------+---+ #> | NA-l-h | 2 | #> +---------------+---+ #> | NA-l-l | 2 | #> +---------------+---+ #> | h-NA-NA | 2 | #> +---------------+---+ #> | h-NA-h | 4 | #> +---------------+---+ #> | h-NA-l | 1 | #> +---------------+---+ #> | h-h-NA | 2 | #> +---------------+---+ #> | h-h-h | 3 | #> +---------------+---+ #> | h-h-l | 3 | #> +---------------+---+ #> | h-l-NA | 1 | #> +---------------+---+ #> | h-l-h | 2 | #> +---------------+---+ #> | h-l-l | 2 | #> +---------------+---+ #> | l-NA-NA | 3 | #> +---------------+---+ #> | l-NA-l | 2 | #> +---------------+---+ #> | l-h-NA | 2 | #> +---------------+---+ #> | l-h-h | 1 | #> +---------------+---+ #> | l-h-l | 2 | #> +---------------+---+ #> | l-l-NA | 2 | #> +---------------+---+ #> | l-l-h | 3 | #> +---------------+---+ #> #> Table: Summary of user-selected exposure histories based on exposure main effects A.1, A.2, A.3: #> #> Below are the pooled average predictions by user-specified history: #> +-------+-------+-------+--------+----------+-----------+----------+-----------+ #> | term | A.1 | A.2 | A.3 | estimate | std.error | conf.low | conf.high | #> +=======+=======+=======+========+==========+===========+==========+===========+ #> | l-l-l | -0.47 | -0.3 | -0.804 | -0.15 | 0.2 | -0.54 | 0.239 | #> +-------+-------+-------+--------+----------+-----------+----------+-----------+ #> | l-l-h | -0.47 | -0.3 | -0.051 | -0.064 | 0.2 | -0.47 | 0.338 | #> +-------+-------+-------+--------+----------+-----------+----------+-----------+ #> | l-h-l | -0.47 | 0.31 | -0.804 | -0.093 | 0.18 | -0.44 | 0.25 | #> +-------+-------+-------+--------+----------+-----------+----------+-----------+ #> | l-h-h | -0.47 | 0.31 | -0.051 | -0.007 | 0.19 | -0.37 | 0.357 | #> +-------+-------+-------+--------+----------+-----------+----------+-----------+ #> | h-l-l | 0.24 | -0.3 | -0.804 | -0.235 | 0.15 | -0.53 | 0.059 | #> +-------+-------+-------+--------+----------+-----------+----------+-----------+ #> | h-l-h | 0.24 | -0.3 | -0.051 | -0.149 | 0.15 | -0.45 | 0.154 | #> +-------+-------+-------+--------+----------+-----------+----------+-----------+ #> | h-h-l | 0.24 | 0.31 | -0.804 | -0.179 | 0.13 | -0.43 | 0.07 | #> +-------+-------+-------+--------+----------+-----------+----------+-----------+ #> | h-h-h | 0.24 | 0.31 | -0.051 | -0.093 | 0.14 | -0.36 | 0.176 | #> +-------+-------+-------+--------+----------+-----------+----------+-----------+ #> #> Conducting multiple comparison correction for all pairings between comparison histories and each refernece history using the BH method. #> #> #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | term | estimate | std.error | p.value | conf.low | conf.high | p.value_corr | #> +===================+===============+============+===========+=============+============+==============+ #> | (l-l-l) - (l-l-h) | -0.0860245895 | 0.09323351 | 0.3561746 | -0.26875891 | 0.09670973 | 0.5955722 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-l-l) - (l-h-l) | -0.0567671468 | 0.06804542 | 0.4041380 | -0.19013372 | 0.07659943 | 0.5955722 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-l-l) - (l-h-h) | -0.1427917364 | 0.12113186 | 0.2384729 | -0.38020583 | 0.09462235 | 0.5955722 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-l-l) - (h-l-l) | 0.0855518211 | 0.09515347 | 0.3686031 | -0.10094556 | 0.27204920 | 0.5955722 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-l-l) - (h-l-h) | -0.0004727684 | 0.12853504 | 0.9970653 | -0.25239681 | 0.25145127 | 0.9970653 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-l-l) - (h-h-l) | 0.0287846743 | 0.12605827 | 0.8193787 | -0.21828499 | 0.27585434 | 0.8824078 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-l-l) - (h-h-h) | -0.0572399153 | 0.15718786 | 0.7157462 | -0.36532245 | 0.25084262 | 0.8824078 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-l-h) - (l-h-l) | 0.0292574427 | 0.10941845 | 0.7891686 | -0.18519878 | 0.24371366 | 0.8824078 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-l-h) - (l-h-h) | -0.0567671468 | 0.06804540 | 0.4041379 | -0.19013369 | 0.07659939 | 0.5955722 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-l-h) - (h-l-l) | 0.1715764106 | 0.13773921 | 0.2128887 | -0.09838748 | 0.44154030 | 0.5955722 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-l-h) - (h-l-h) | 0.0855518211 | 0.09515351 | 0.3686033 | -0.10094562 | 0.27204927 | 0.5955722 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-l-h) - (h-h-l) | 0.1148092638 | 0.15639156 | 0.4628791 | -0.19171256 | 0.42133108 | 0.6480308 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-l-h) - (h-h-h) | 0.0287846743 | 0.12605825 | 0.8193786 | -0.21828496 | 0.27585431 | 0.8824078 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-h-l) - (l-h-h) | -0.0860245895 | 0.09323348 | 0.3561744 | -0.26875886 | 0.09670968 | 0.5955722 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-h-l) - (h-l-l) | 0.1423189679 | 0.10713569 | 0.1840462 | -0.06766312 | 0.35230106 | 0.5955722 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-h-l) - (h-l-h) | 0.0562943784 | 0.13264560 | 0.6712764 | -0.20368622 | 0.31627498 | 0.8824078 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-h-l) - (h-h-l) | 0.0855518211 | 0.09515354 | 0.3686034 | -0.10094568 | 0.27204932 | 0.5955722 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-h-l) - (h-h-h) | -0.0004727684 | 0.12853506 | 0.9970653 | -0.25239686 | 0.25145133 | 0.9970653 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-h-h) - (h-l-l) | 0.2283435575 | 0.15081852 | 0.1300186 | -0.06725530 | 0.52394242 | 0.5955722 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-h-h) - (h-l-h) | 0.1423189679 | 0.10713569 | 0.1840463 | -0.06766313 | 0.35230107 | 0.5955722 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-h-h) - (h-h-l) | 0.1715764106 | 0.13773922 | 0.2128888 | -0.09838750 | 0.44154032 | 0.5955722 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-h-h) - (h-h-h) | 0.0855518211 | 0.09515352 | 0.3686034 | -0.10094565 | 0.27204929 | 0.5955722 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (h-l-l) - (h-l-h) | -0.0860245895 | 0.09323350 | 0.3561745 | -0.26875889 | 0.09670971 | 0.5955722 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (h-l-l) - (h-h-l) | -0.0567671468 | 0.06804546 | 0.4041383 | -0.19013380 | 0.07659951 | 0.5955722 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (h-l-l) - (h-h-h) | -0.1427917364 | 0.12113192 | 0.2384731 | -0.38020594 | 0.09462247 | 0.5955722 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (h-l-h) - (h-h-l) | 0.0292574427 | 0.10941843 | 0.7891686 | -0.18519874 | 0.24371362 | 0.8824078 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (h-l-h) - (h-h-h) | -0.0567671468 | 0.06804543 | 0.4041381 | -0.19013374 | 0.07659945 | 0.5955722 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (h-h-l) - (h-h-h) | -0.0860245895 | 0.09323350 | 0.3561745 | -0.26875888 | 0.09670970 | 0.5955722 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ plot(comp) summary(comp, \"preds\") #> term A.1 A.2 A.3 estimate std.error statistic #> 1 l-l-l -0.4684962 -0.2971206 -0.80434443 -0.149799589 0.1983536 -0.75521501 #> 2 l-l-h -0.4684962 -0.2971206 -0.05134827 -0.063774999 0.2048054 -0.31139320 #> 3 l-h-l -0.4684962 0.3148300 -0.80434443 -0.093032442 0.1750306 -0.53152099 #> 4 l-h-h -0.4684962 0.3148300 -0.05134827 -0.007007852 0.1859760 -0.03768148 #> 5 h-l-l 0.2359494 -0.2971206 -0.80434443 -0.235351410 0.1502513 -1.56638563 #> 6 h-l-h 0.2359494 -0.2971206 -0.05134827 -0.149326820 0.1547615 -0.96488363 #> 7 h-h-l 0.2359494 0.3148300 -0.80434443 -0.178584263 0.1267806 -1.40860879 #> 8 h-h-h 0.2359494 0.3148300 -0.05134827 -0.092559673 0.1371105 -0.67507375 #> p.value s.value conf.low conf.high dose #> 1 0.4501200 1.15161848 -0.5385654 0.23896625 0 #> 2 0.7555017 0.40449305 -0.4651861 0.33763614 1 #> 3 0.5950578 0.74889829 -0.4360861 0.25002124 1 #> 4 0.9699416 0.04403015 -0.3715142 0.35749845 2 #> 5 0.1172584 3.09223725 -0.5298385 0.05913564 1 #> 6 0.3346031 1.57947727 -0.4526538 0.15400011 2 #> 7 0.1589509 2.65334711 -0.4270697 0.06990114 2 #> 8 0.4996289 1.00107114 -0.3612912 0.17617189 3 summary(comp, \"comps\") #> term estimate std.error statistic p.value #> 1 (l-l-l) - (l-l-h) -0.0860245895 0.09323351 -0.922678895 0.3561746 #> 2 (l-l-l) - (l-h-l) -0.0567671468 0.06804542 -0.834253748 0.4041380 #> 3 (l-l-l) - (l-h-h) -0.1427917364 0.12113186 -1.178812343 0.2384729 #> 4 (l-l-l) - (h-l-l) 0.0855518211 0.09515347 0.899092985 0.3686031 #> 5 (l-l-l) - (h-l-h) -0.0004727684 0.12853504 -0.003678129 0.9970653 #> 6 (l-l-l) - (h-h-l) 0.0287846743 0.12605827 0.228344197 0.8193787 #> 7 (l-l-l) - (h-h-h) -0.0572399153 0.15718786 -0.364149728 0.7157462 #> 8 (l-l-h) - (l-h-l) 0.0292574427 0.10941845 0.267390396 0.7891686 #> 9 (l-l-h) - (l-h-h) -0.0567671468 0.06804540 -0.834253950 0.4041379 #> 10 (l-l-h) - (h-l-l) 0.1715764106 0.13773921 1.245661352 0.2128887 #> 11 (l-l-h) - (h-l-h) 0.0855518211 0.09515351 0.899092683 0.3686033 #> 12 (l-l-h) - (h-h-l) 0.1148092638 0.15639156 0.734114205 0.4628791 #> 13 (l-l-h) - (h-h-h) 0.0287846743 0.12605825 0.228344230 0.8193786 #> 14 (l-h-l) - (l-h-h) -0.0860245895 0.09323348 -0.922679121 0.3561744 #> 15 (l-h-l) - (h-l-l) 0.1423189679 0.10713569 1.328399262 0.1840462 #> 16 (l-h-l) - (h-l-h) 0.0562943784 0.13264560 0.424396874 0.6712764 #> 17 (l-h-l) - (h-h-l) 0.0855518211 0.09515354 0.899092410 0.3686034 #> 18 (l-h-l) - (h-h-h) -0.0004727684 0.12853506 -0.003678128 0.9970653 #> 19 (l-h-h) - (h-l-l) 0.2283435575 0.15081852 1.514028672 0.1300186 #> 20 (l-h-h) - (h-l-h) 0.1423189679 0.10713569 1.328399184 0.1840463 #> 21 (l-h-h) - (h-h-l) 0.1715764106 0.13773922 1.245661276 0.2128888 #> 22 (l-h-h) - (h-h-h) 0.0855518211 0.09515352 0.899092564 0.3686034 #> 23 (h-l-l) - (h-l-h) -0.0860245895 0.09323350 -0.922678981 0.3561745 #> 24 (h-l-l) - (h-h-l) -0.0567671468 0.06804546 -0.834253253 0.4041383 #> 25 (h-l-l) - (h-h-h) -0.1427917364 0.12113192 -1.178811770 0.2384731 #> 26 (h-l-h) - (h-h-l) 0.0292574427 0.10941843 0.267390449 0.7891686 #> 27 (h-l-h) - (h-h-h) -0.0567671468 0.06804543 -0.834253622 0.4041381 #> 28 (h-h-l) - (h-h-h) -0.0860245895 0.09323350 -0.922679011 0.3561745 #> s.value conf.low conf.high dose p.value_corr #> 1 1.489343589 -0.26875891 0.09670973 0 - 1 0.5955722 #> 2 1.307080051 -0.19013372 0.07659943 0 - 1 0.5955722 #> 3 2.068102717 -0.38020583 0.09462235 0 - 2 0.5955722 #> 4 1.439859757 -0.10094556 0.27204920 0 - 1 0.5955722 #> 5 0.004240125 -0.25239681 0.25145127 0 - 2 0.9970653 #> 6 0.287397761 -0.21828499 0.27585434 0 - 2 0.8824078 #> 7 0.482479980 -0.36532245 0.25084262 0 - 3 0.8824078 #> 8 0.341594553 -0.18519878 0.24371366 1 - 1 0.8824078 #> 9 1.307080457 -0.19013369 0.07659939 1 - 2 0.5955722 #> 10 2.231828396 -0.09838748 0.44154030 1 - 1 0.5955722 #> 11 1.439859126 -0.10094562 0.27204927 1 - 2 0.5955722 #> 12 1.111292558 -0.19171256 0.42133108 1 - 2 0.6480308 #> 13 0.287397807 -0.21828496 0.27585431 1 - 3 0.8824078 #> 14 1.489344066 -0.26875886 0.09670968 1 - 2 0.5955722 #> 15 2.441859794 -0.06766312 0.35230106 1 - 1 0.5955722 #> 16 0.575021172 -0.20368622 0.31627498 1 - 2 0.8824078 #> 17 1.439858557 -0.10094568 0.27204932 1 - 2 0.5955722 #> 18 0.004240124 -0.25239686 0.25145133 1 - 3 0.9970653 #> 19 2.943210429 -0.06725530 0.52394242 2 - 1 0.5955722 #> 20 2.441859592 -0.06766313 0.35230107 2 - 2 0.5955722 #> 21 2.231828206 -0.09838750 0.44154032 2 - 2 0.5955722 #> 22 1.439858879 -0.10094565 0.27204929 2 - 3 0.5955722 #> 23 1.489343772 -0.26875889 0.09670971 1 - 2 0.5955722 #> 24 1.307079055 -0.19013380 0.07659951 1 - 2 0.5955722 #> 25 2.068101336 -0.38020594 0.09462247 1 - 3 0.5955722 #> 26 0.341594628 -0.18519874 0.24371362 2 - 2 0.8824078 #> 27 1.307079797 -0.19013374 0.07659945 2 - 3 0.5955722 #> 28 1.489343836 -0.26875888 0.09670970 2 - 3 0.5955722 comp2 <- compareHistories( fit = fit, hi_lo_cut = c(0.3, 0.6), reference = \"l-l-l\", comparison = c(\"h-h-h\", \"h-h-l\") ) print(comp2) #> Summary of Exposure Main Effects: #> Warning: There are no participants in your sample in the following histories: l-l-l. #> Please revise your reference/comparison histories and/or the high/low cutoffs, if applicable. #> USER ALERT: Out of the total of 50 individuals in the sample, below is the distribution of the 6 (12%) individuals that fall into 2 user-selected exposure histories (out of the 24 total) created from 30th and 60th percentile values for low and high levels of exposure-epoch A.1, A.2, A.3. #> USER ALERT: Please inspect the distribution of the sample across the following exposure histories and ensure there is sufficient spread to avoid extrapolation and low precision: #> #> +---------------+---+ #> | epoch_history | n | #> +===============+===+ #> | h-h-h | 3 | #> +---------------+---+ #> | h-h-l | 3 | #> +---------------+---+ #> #> Table: Summary of user-selected exposure histories based on exposure main effects A.1, A.2, A.3: #> #> Below are the pooled average predictions by user-specified history: #> +-------+-------+-------+--------+----------+-----------+----------+-----------+ #> | term | A.1 | A.2 | A.3 | estimate | std.error | conf.low | conf.high | #> +=======+=======+=======+========+==========+===========+==========+===========+ #> | l-l-l | -0.47 | -0.3 | -0.804 | -0.15 | 0.2 | -0.54 | 0.24 | #> +-------+-------+-------+--------+----------+-----------+----------+-----------+ #> | h-h-l | 0.24 | 0.31 | -0.804 | -0.179 | 0.13 | -0.43 | 0.07 | #> +-------+-------+-------+--------+----------+-----------+----------+-----------+ #> | h-h-h | 0.24 | 0.31 | -0.051 | -0.093 | 0.14 | -0.36 | 0.18 | #> +-------+-------+-------+--------+----------+-----------+----------+-----------+ #> #> Conducting multiple comparison correction for all pairings between comparison histories and each refernece history using the BH method. #> #> #> +-------------------+-------------+-----------+-----------+------------+-----------+--------------+ #> | term | estimate | std.error | p.value | conf.low | conf.high | p.value_corr | #> +===================+=============+===========+===========+============+===========+==============+ #> | (h-h-h) - (l-l-l) | 0.05723992 | 0.1571879 | 0.7157462 | -0.2508426 | 0.3653225 | 0.8193787 | #> +-------------------+-------------+-----------+-----------+------------+-----------+--------------+ #> | (h-h-l) - (l-l-l) | -0.02878467 | 0.1260583 | 0.8193787 | -0.2758543 | 0.2182850 | 0.8193787 | #> +-------------------+-------------+-----------+-----------+------------+-----------+--------------+ plot(comp2) summary(comp2, \"preds\") #> term A.1 A.2 A.3 estimate std.error statistic #> 1 l-l-l -0.4684962 -0.2971206 -0.80434443 -0.14979959 0.1983536 -0.7552150 #> 7 h-h-l 0.2359494 0.3148300 -0.80434443 -0.17858426 0.1267806 -1.4086088 #> 8 h-h-h 0.2359494 0.3148300 -0.05134827 -0.09255967 0.1371105 -0.6750738 #> p.value s.value conf.low conf.high dose #> 1 0.4501200 1.151618 -0.5385654 0.23896625 0 #> 7 0.1589509 2.653347 -0.4270697 0.06990114 2 #> 8 0.4996289 1.001071 -0.3612912 0.17617189 3 summary(comp2, \"comps\") #> term estimate std.error statistic p.value s.value #> 1 (h-h-h) - (l-l-l) 0.05723992 0.1571879 0.3641497 0.7157462 0.4824800 #> 2 (h-h-l) - (l-l-l) -0.02878467 0.1260583 -0.2283442 0.8193787 0.2873978 #> conf.low conf.high dose p.value_corr #> 1 -0.2508426 0.3653225 3 - 0 0.8193787 #> 2 -0.2758543 0.2182850 2 - 0 0.8193787"},{"path":"https://istallworthy.github.io/devMSMs/reference/createFormulas.html","id":null,"dir":"Reference","previous_headings":"","what":"Create balancing formulas — createFormulas","title":"Create balancing formulas — createFormulas","text":"Creates balancing formulas relating exposure relevant time-varying time invariant confounders exposure time point used create IPTW weights.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/createFormulas.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create balancing formulas — createFormulas","text":"","code":"createFormulas( obj, type = c(\"full\", \"short\", \"update\"), custom = NULL, keep_conf = NULL, bal_stats = NULL, verbose = FALSE, save.out = FALSE ) # S3 method for class 'devMSM_formulas' print(x, ...)"},{"path":"https://istallworthy.github.io/devMSMs/reference/createFormulas.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create balancing formulas — createFormulas","text":"obj initialized MSM object initMSM() type type formula create 'full' (includes lagged time-varying confounders), 'short' (includes time-varying confounders t-1 lag ), 'update' (adds 'short' formulas imbalanced time-varying confounders lags great t-1) custom (optional) custom list formulas exposure time point (default create automatically according type) keep_conf (optional) 'short' formulas , list variable names reflecting confounders included always. bal_stats list balance statistics assessBalance() verbose (optional) TRUE FALSE indicator printing output console. default FALSE. save.(optional) Either logical character string. TRUE, output result default file name within home_dir set initMSM(). can load data x <- readRDS(file). use non-default file name, specify character string file name. save relative home_dir. might naming conflicts two objects get saved file. cases, users specify custom name. default FALSE. x devMSM_formulas object createFormulas() ... ignored","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/createFormulas.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Create balancing formulas — createFormulas","text":"list containing balancing formulas. length number exposure variables.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/createFormulas.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create balancing formulas — createFormulas","text":"","code":"library(devMSMs) data <- data.frame( ID = 1:50, A.1 = rnorm(n = 50), A.2 = rnorm(n = 50), A.3 = rnorm(n = 50), B.1 = rnorm(n = 50), B.2 = rnorm(n = 50), B.3 = rnorm(n = 50), C = rnorm(n = 50), D.3 = rnorm(n = 50) ) obj <- initMSM( data, exposure = c(\"A.1\", \"A.2\", \"A.3\"), ti_conf = c(\"C\"), tv_conf = c(\"B.1\", \"B.2\", \"B.3\", \"D.3\") ) # Full Formulas f <- createFormulas(obj, type = \"full\") print(f) #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 1, the full formula for A.1 is: #> A.1 ~ C #> #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 2, the full formula for A.2 is: #> A.2 ~ C + B.1 + A.1 #> #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 3, the full formula for A.3 is: #> A.3 ~ C + B.1 + B.2 + A.1 + A.2 # Short Formulas f <- createFormulas(obj, type = \"short\") print(f) #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 1, the short formula for A.1 is: #> A.1 ~ C #> #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 2, the short formula for A.2 is: #> A.2 ~ C + B.1 + A.1 #> #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 3, the short formula for A.3 is: #> A.3 ~ C + B.2 + A.2 # Update Formulas w <- createWeights(data = data, formulas = f) b <- assessBalance(data = data, weights = w) f <- createFormulas(obj, type = \"update\", bal_stats = b) print(f) #> USER ALERT: Please manually inspect the updated balancing formula below that includes time-varying confounders at t-1 and those greater at further lags that remained imbalanced: #> At time point 1, the update formula for A.1 is: #> A.1 ~ C #> #> USER ALERT: Please manually inspect the updated balancing formula below that includes time-varying confounders at t-1 and those greater at further lags that remained imbalanced: #> At time point 2, the update formula for A.2 is: #> A.2 ~ C + B.1 + A.1 #> #> USER ALERT: Please manually inspect the updated balancing formula below that includes time-varying confounders at t-1 and those greater at further lags that remained imbalanced: #> At time point 3, the update formula for A.3 is: #> A.3 ~ C + B.2 + A.2 + A.1"},{"path":"https://istallworthy.github.io/devMSMs/reference/createWeights.html","id":null,"dir":"Reference","previous_headings":"","what":"Creates IPTW balancing weights — createWeights","title":"Creates IPTW balancing weights — createWeights","text":"Creates IPTW balancing weights user-specified exposure time point using balancing formulas relate exposure time point relevant confounders.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/createWeights.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Creates IPTW balancing weights — createWeights","text":"","code":"createWeights( data, formulas, method = \"glm\", verbose = FALSE, save.out = FALSE, ... ) # S3 method for class 'devMSM_weights' print(x, i = 1, ...) # S3 method for class 'devMSM_weights' plot(x, i = 1, save.out = FALSE, ...) # S3 method for class 'devMSM_weights' summary(object, i = 1, ...)"},{"path":"https://istallworthy.github.io/devMSMs/reference/createWeights.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Creates IPTW balancing weights — createWeights","text":"data data wide format : data frame, list imputed data frames, mids object mice package formulas list balancing formulas time point output createFormulas() method character string weightitMSM() balancing method abbreviation (default generalized linear models propensity score weighting \"glm\") verbose (optional) TRUE FALSE indicator printing output console. default FALSE. save.(optional) Either logical character string. TRUE, output result default file name within home_dir set initMSM(). can load data x <- readRDS(file). use non-default file name, specify character string file name. save relative home_dir. might naming conflicts two objects get saved file. cases, users specify custom name. default FALSE. ... arguments passed WeightIt::weightitMSM() summary.weightitMSM() x, object devMSM_weights object createWeights() multiply imputed datasets, selects imputation print results . Default = 1. = TRUE, imputed datasets looped . = NULL, average imputed datasets summarize . Ignored non-imputed data.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/createWeights.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Creates IPTW balancing weights — createWeights","text":"list containing WeightIt::weightitMSM() output. length number datasets (1 data.frame number imputed datasets).","code":""},{"path":[]},{"path":"https://istallworthy.github.io/devMSMs/reference/createWeights.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Creates IPTW balancing weights — createWeights","text":"","code":"library(devMSMs) data <- data.frame( ID = 1:50, A.1 = rnorm(n = 50), A.2 = rnorm(n = 50), A.3 = rnorm(n = 50), B.1 = rnorm(n = 50), B.2 = rnorm(n = 50), B.3 = rnorm(n = 50), C = rnorm(n = 50), D.3 = rnorm(n = 50) ) obj <- initMSM( data, exposure = c(\"A.1\", \"A.2\", \"A.3\"), ti_conf = c(\"C\"), tv_conf = c(\"B.1\", \"B.2\", \"B.3\", \"D.3\") ) f <- createFormulas(obj, type = \"short\") w <- createWeights(data = data, formulas = f) print(w) #> #> For the `glm` weighting method, the median weight value is 1.04 (SD = 0.41; range = 0.3-3). plot(w) # Methods from `WeightIt::weightitMSM` w <- createWeights(data = data, formulas = f, method = \"glm\") w <- createWeights(data = data, formulas = f, method = \"cbps\") w <- createWeights(data = data, formulas = f, method = \"gbm\") w <- createWeights(data = data, formulas = f, method = \"bart\") w <- createWeights(data = data, formulas = f, method = \"super\") #> Loading required package: nnls #> Warning: All algorithms have zero weight #> Warning: All metalearner coefficients are zero, predictions will all be equal to 0"},{"path":"https://istallworthy.github.io/devMSMs/reference/devMSMs-package.html","id":null,"dir":"Reference","previous_headings":"","what":"devMSMs: Implementing Marginal Structural Models with Longitudinal Data — devMSMs-package","title":"devMSMs: Implementing Marginal Structural Models with Longitudinal Data — devMSMs-package","text":"Functions implementing MSMS longitudinal data.","code":""},{"path":[]},{"path":"https://istallworthy.github.io/devMSMs/reference/devMSMs-package.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"devMSMs: Implementing Marginal Structural Models with Longitudinal Data — devMSMs-package","text":"Maintainer: Isabella Stallworthy istall@seas.upenn.edu Authors: Noah Greifer noah.greifer@gmail.com (ORCID) [contributor] Meriah DeJoseph meriahd@stanford.edu Emily Padrutt padru004@umn.edu Kyle Butts buttskyle96@gmail.com [contributor] Daniel Berry dberry@umn.edu","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/fitModel.html","id":null,"dir":"Reference","previous_headings":"","what":"Fit outcome model — fitModel","title":"Fit outcome model — fitModel","text":"Fits weighted marginal outcome model generalized linear model user's choosing, relating exposure main effects outcome using IPTW weights.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/fitModel.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Fit outcome model — fitModel","text":"","code":"fitModel( data, obj, weights = NULL, outcome, model = \"m0\", int_order = NA, covariates = NULL, family = gaussian(), link = \"identity\", verbose = FALSE, save.out = FALSE ) # S3 method for class 'devMSM_models' print(x, i = NA, save.out = FALSE, ...)"},{"path":"https://istallworthy.github.io/devMSMs/reference/fitModel.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Fit outcome model — fitModel","text":"data data wide format : data frame, list imputed data frames, mids object mice package obj initialized MSM object initMSM() weights list IPTW weights output createWeights() outcome name outcome variable \".timepoint\" suffix. See initMSM() details suffix model character indicating one following outcome models: \"m0\" (exposure main effects) \"m1\" (exposure main effects & covariates) \"m2\" (exposure main effects & interactions) \"m3\" (exposure main effects, interactions, & covariates) int_order integer specification highest order exposure main effects interaction, required interaction models (\"m2\", \"m3\") covariates list characters reflecting variable names covariates, required covariate models (\"m1\", \"m3\") family (optional) family function specification WeightIt::glm_weightit() model. link (optional) link function specification WeightIt::glm_weightit() model. verbose (optional) TRUE FALSE indicator printing output console. default FALSE. save.(optional) Either logical character string. TRUE, output result default file name within home_dir set initMSM(). can load data x <- readRDS(file). use non-default file name, specify character string file name. save relative home_dir. might naming conflicts two objects get saved file. cases, users specify custom name. default FALSE. x devMSM_models object fitModel multiply imputed datasets, selects imputation print results . Default = 1. = TRUE, imputed datasets looped . = NULL, average imputed datasets summarize . Ignored non-imputed data. ... ignored","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/fitModel.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Fit outcome model — fitModel","text":"list containing WeightIt::glm_weightit() model output. length number datasets (1 data.frame number imputed datasets)","code":""},{"path":[]},{"path":"https://istallworthy.github.io/devMSMs/reference/fitModel.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Fit outcome model — fitModel","text":"","code":"library(devMSMs) data <- data.frame( ID = 1:50, A.1 = rnorm(n = 50), A.2 = rnorm(n = 50), A.3 = rnorm(n = 50), B.1 = rnorm(n = 50), B.2 = rnorm(n = 50), B.3 = rnorm(n = 50), C = rnorm(n = 50), D.3 = rnorm(n = 50) ) obj <- initMSM( data, exposure = c(\"A.1\", \"A.2\", \"A.3\"), ti_conf = c(\"C\"), tv_conf = c(\"B.1\", \"B.2\", \"B.3\", \"D.3\") ) f <- createFormulas(obj, type = \"short\") w <- createWeights(data = data, formulas = f) fit_m0 <- fitModel( data = data, weights = w, outcome = \"D.3\", model = \"m0\" ) print(fit_m0) #> Please inspect the Wald test to determine if the exposures collectively predict significant variation in the outcome compared to a model without exposure terms. #> We strongly suggest only conducting history comparisons if the test is significant. #> #> Wald test #> Variance: HC0 robust (adjusted for estimation of weights) #> #> Model 1: D.3 ~ A.1 + A.2 + A.3 #> Model 2: D.3 ~ 1 #> #> Res.Df Df Chisq Pr(>Chisq) #> 1 46 #> 2 49 3 17.511 0.0005548 *** #> --- #> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 #> #> #> The marginal model, m0, is summarized below: #> +-------------+--------+-----------------+-------+ #> | | (1) | #> +-------------+--------+-----------------+-------+ #> | | Est. | CI | p | #> +=============+========+=================+=======+ #> | (Intercept) | 0.224 | [-0.011, 0.460] | 0.062 | #> +-------------+--------+-----------------+-------+ #> | A.1 | 0.350 | [0.141, 0.560] | 0.001 | #> +-------------+--------+-----------------+-------+ #> | A.2 | -0.186 | [-0.432, 0.060] | 0.139 | #> +-------------+--------+-----------------+-------+ #> | A.3 | -0.284 | [-0.682, 0.114] | 0.163 | #> +-------------+--------+-----------------+-------+ #> | Num.Obs. | 50 | | | #> +-------------+--------+-----------------+-------+ fit_m1 <- fitModel( data = data, weights = w, outcome = \"D.3\", model = \"m1\", covariates = c(\"C\") ) print(fit_m1) #> Please inspect the Wald test to determine if the exposures collectively predict significant variation in the outcome compared to a model without exposure terms. #> We strongly suggest only conducting history comparisons if the test is significant. #> #> Wald test #> Variance: HC0 robust (adjusted for estimation of weights) #> #> Model 1: D.3 ~ A.1 + A.2 + A.3 + C #> Model 2: D.3 ~ C #> #> Res.Df Df Chisq Pr(>Chisq) #> 1 45 #> 2 48 3 17.633 0.0005236 *** #> --- #> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 #> #> #> The marginal model, m1, is summarized below: #> +-------------+--------+-----------------+--------+ #> | | (1) | #> +-------------+--------+-----------------+--------+ #> | | Est. | CI | p | #> +=============+========+=================+========+ #> | (Intercept) | 0.222 | [-0.013, 0.458] | 0.064 | #> +-------------+--------+-----------------+--------+ #> | A.1 | 0.352 | [0.143, 0.561] | <0.001 | #> +-------------+--------+-----------------+--------+ #> | A.2 | -0.185 | [-0.432, 0.062] | 0.142 | #> +-------------+--------+-----------------+--------+ #> | A.3 | -0.287 | [-0.689, 0.116] | 0.163 | #> +-------------+--------+-----------------+--------+ #> | C | -0.044 | [-0.277, 0.188] | 0.708 | #> +-------------+--------+-----------------+--------+ #> | Num.Obs. | 50 | | | #> +-------------+--------+-----------------+--------+ fit_m2 <- fitModel( data = data, weights = w, outcome = \"D.3\", model = \"m2\", int_order = 2 ) print(fit_m2) #> Please inspect the Wald test to determine if the exposures collectively predict significant variation in the outcome compared to a model without exposure terms. #> We strongly suggest only conducting history comparisons if the test is significant. #> #> Wald test #> Variance: HC0 robust (adjusted for estimation of weights) #> #> Model 1: D.3 ~ A.1 + A.2 + A.3 + A.1 + A.2 + A.3 + A.1:A.2 + A.1:A.3 + A.2:A.3 #> Model 2: D.3 ~ 1 #> #> Res.Df Df Chisq Pr(>Chisq) #> 1 43 #> 2 49 6 19.785 0.003024 ** #> --- #> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 #> #> #> The marginal model, m2, is summarized below: #> +-------------+--------+-----------------+-------+ #> | | (1) | #> +-------------+--------+-----------------+-------+ #> | | Est. | CI | p | #> +=============+========+=================+=======+ #> | (Intercept) | 0.207 | [-0.031, 0.446] | 0.089 | #> +-------------+--------+-----------------+-------+ #> | A.1 | 0.404 | [0.161, 0.647] | 0.001 | #> +-------------+--------+-----------------+-------+ #> | A.2 | -0.145 | [-0.420, 0.131] | 0.303 | #> +-------------+--------+-----------------+-------+ #> | A.3 | -0.318 | [-0.650, 0.013] | 0.060 | #> +-------------+--------+-----------------+-------+ #> | A.1 × A.2 | 0.234 | [-0.036, 0.505] | 0.089 | #> +-------------+--------+-----------------+-------+ #> | A.1 × A.3 | -0.018 | [-0.364, 0.328] | 0.918 | #> +-------------+--------+-----------------+-------+ #> | A.2 × A.3 | 0.247 | [-0.090, 0.584] | 0.152 | #> +-------------+--------+-----------------+-------+ #> | Num.Obs. | 50 | | | #> +-------------+--------+-----------------+-------+ fit_m3 <- fitModel( data = data, weights = w, outcome = \"D.3\", model = \"m3\", int_order = 2, covariates = c(\"C\") ) print(fit_m3) #> Please inspect the Wald test to determine if the exposures collectively predict significant variation in the outcome compared to a model without exposure terms. #> We strongly suggest only conducting history comparisons if the test is significant. #> #> Wald test #> Variance: HC0 robust (adjusted for estimation of weights) #> #> Model 1: D.3 ~ A.1 + A.2 + A.3 + A.1 + A.2 + A.3 + C + A.1:A.2 + A.1:A.3 + A.1:C + A.2:A.3 + A.2:C + A.3:C #> Model 2: D.3 ~ C #> #> Res.Df Df Chisq Pr(>Chisq) #> 1 39 #> 2 48 9 23.536 0.005098 ** #> --- #> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 #> #> #> The marginal model, m3, is summarized below: #> +-------------+--------+------------------+--------+ #> | | (1) | #> +-------------+--------+------------------+--------+ #> | | Est. | CI | p | #> +=============+========+==================+========+ #> | (Intercept) | 0.187 | [-0.058, 0.432] | 0.134 | #> +-------------+--------+------------------+--------+ #> | A.1 | 0.422 | [0.182, 0.662] | <0.001 | #> +-------------+--------+------------------+--------+ #> | A.2 | -0.126 | [-0.411, 0.159] | 0.387 | #> +-------------+--------+------------------+--------+ #> | A.3 | -0.353 | [-0.654, -0.053] | 0.021 | #> +-------------+--------+------------------+--------+ #> | C | -0.137 | [-0.360, 0.087] | 0.231 | #> +-------------+--------+------------------+--------+ #> | A.1 × A.2 | 0.238 | [-0.067, 0.542] | 0.126 | #> +-------------+--------+------------------+--------+ #> | A.1 × A.3 | 0.013 | [-0.352, 0.377] | 0.946 | #> +-------------+--------+------------------+--------+ #> | A.1 × C | 0.156 | [-0.102, 0.414] | 0.236 | #> +-------------+--------+------------------+--------+ #> | A.2 × A.3 | 0.281 | [-0.051, 0.614] | 0.097 | #> +-------------+--------+------------------+--------+ #> | A.2 × C | 0.199 | [-0.055, 0.454] | 0.124 | #> +-------------+--------+------------------+--------+ #> | A.3 × C | -0.080 | [-0.432, 0.271] | 0.655 | #> +-------------+--------+------------------+--------+ #> | Num.Obs. | 50 | | | #> +-------------+--------+------------------+--------+"},{"path":"https://istallworthy.github.io/devMSMs/reference/initMSM.html","id":null,"dir":"Reference","previous_headings":"","what":"Initial step in devMSMs workflow — initMSM","title":"Initial step in devMSMs workflow — initMSM","text":"Initial step devMSMs workflow","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/initMSM.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Initial step in devMSMs workflow — initMSM","text":"","code":"initMSM( data, exposure, epoch = NULL, tv_conf, ti_conf = NULL, concur_conf = NULL, home_dir = NULL, sep = \"[\\\\._]\" )"},{"path":"https://istallworthy.github.io/devMSMs/reference/initMSM.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Initial step in devMSMs workflow — initMSM","text":"data data wide format : data frame, list imputed data frames, mids object mice package exposure names exposure variables \".timepoint\" suffix epoch (optional) group set exposure variables categories. Provide character vector corresponding category exposure tv_conf list time-varying confounders \".timepoint\" suffix, include exposure outcome variables (least time-varying exposure variables required ) ti_conf list time invariant confounders. Can left NULL none. concur_conf (optional) list variable names reflecting time-varying confounders retain formulas contemporaneously (default none) home_dir (optional) directory saving output. Either absolute path relative path respect getwd() sep (optional) seperator variable time period. variable names split last occurance sep second string containing time. uses regex notation, . must \\\\.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/initMSM.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Initial step in devMSMs workflow — initMSM","text":"object class devMSM contains initialized information.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/initMSM.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Initial step in devMSMs workflow — initMSM","text":".timepoint suffix, mean time-varying exposure variable names must end either .# _#. allows us extract time-period variable measured allow us properly create formulae (omitting future mediators)","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/initMSM.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Initial step in devMSMs workflow — initMSM","text":"","code":"data <- data.frame( A.1 = rnorm(n = 50), A.2 = rnorm(n = 50), A.3 = rnorm(n = 50), B.1 = rnorm(n = 50), B.2 = rnorm(n = 50), B.3 = rnorm(n = 50), D.3 = rnorm(n = 50), L.1 = sample(c(0, 1), size = 50, replace = TRUE), C = rnorm(n = 50) ) obj <- initMSM( data = data, exposure = c(\"A.1\", \"A.2\", \"A.3\"), tv_conf = c(\"B.1\", \"B.2\", \"B.3\", \"D.3\"), ti_conf = \"C\" ) obj #> Exposure (continuous): A.1, A.2, A.3 #> Variable and their encodings: #> var type time #> A.1 exposure 1 #> A.2 exposure 2 #> A.3 exposure 3 #> B.1 tv_conf 1 #> B.2 tv_conf 2 #> B.3 tv_conf 3 #> D.3 tv_conf 3 #> C ti_conf -1"},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_imp_list.rda.html","id":null,"dir":"Reference","previous_headings":"","what":"Wide data imputed and read in (continuous exposure) — sim_data_imp_list.rda","title":"Wide data imputed and read in (continuous exposure) — sim_data_imp_list.rda","text":"data simulated based data Family Life Project (FLP), longitudinal study following 1,292 families representative two geographic areas (three counties North Carolina three counties Pennsylvania) high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). MAR missingness added using missMethods package imputing mice package reading imputed dataset. data contain economic strain (ESEATA1) continuously distributed variable.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_imp_list.rda.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Wide data imputed and read in (continuous exposure) — sim_data_imp_list.rda","text":"","code":"sim_data_imp_list"},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_imp_list.rda.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Wide data imputed and read in (continuous exposure) — sim_data_imp_list.rda","text":"wide data frame 1,292 observations 36 measured variables collected one following time points: 6, 15, 24, 35, 58 months. \"ID\" subject id \"ESETA1\" continuous exposure economic strain \"StrDif_Tot.58\" continuous outcome behavioral problems \"InRatioCor\" continuous income--needs ratio \"PmEd2\" parent's education level (0-11 = less high school, 12 = GED, 13 = GED additional training, 14 = high school grad, 15 = high school additional training, 16 = college, 17 = associates degree, 18 = four year college degree, 19 = post college, 20 = masters degree, 21 = professional degree, 22 = PhD) \"state\" family's state residence (NC = North Carolina, PA = Pennslyvania) \"TcBlac2\" child's race (1 = Black, 0 = White) \"bioDadInHH2\" whether biological father lives family (1 = yes, 0 = ) \"HomeOwnd\" whether family owns home (1 = owned bought family, 2 = owned bought someone else, 3 = rented rent, 4 = occupied without payment rent) \"KFASTScr\" continuous score caregiver reading comprehension \"PmBlac2\" primary caregiver's race (1 = Black, 0 = White) \"PmAge2\" primary caregiver age years \"PmMrSt2\" caregiver marital status (1 = single, 2 = married living spouse, 3 = married living spouse, 4 = divorced, 5 = separated, 6 = widowed) \"RMomAgeU\" continuous age years biological mother caregiver born \"RHealth\" index general caregiver health (1 = excellent, 2 = good, 3 = good, 4 = fair, 5 = poor) \"RHasSO\" whether caregiver significant (1 = yes, 0 = ) \"SmokTotl\" total cigarettes biological mother smoked pregnant (1 = 21 cigarettes less, 2 = 2 - 99 cigarettes, 3 = 100 cigarettes) \"caregiv_health\" sum score caregiver health problems including emotional problems, ADHD, asthma, cancer, high blood pressure, limited mobility, learning disability, general subjective health, mental health, overwight, seizures, depression, diabetes \"peri_health\" sum score pregnancy/birth health including excessive vomitting, fetal distress, colic, alcohol, high blood pressure, heavy bleeding, infection, congenital issues, stay pediatric intensive care, labor induction, independent breathing birth, surgery, NICU, smoked pregnant, breach, excessive weight loss, incubation, water retention, c-section \"SWghtLB\" child birth weight pounds \"SurpPreg\" whether caregiver surprise pregnancy (1 = yes, 0 = ) \"DrnkFreq\" frequently caregiver drank pregnant (1 = never, 2 = twice, 3 = month, 4 = twice month, 5 = couple times/week, 6 = everyday) \"gov_assist\" sum score whether family received government benefits including early headstart, early intervention, food stamps, subsidized childcare, heating assistance, government housing, transportation, school free lunch, WIC, AFDC \"ALI_LE\" continuous child language expression \"B18Raw\" continuous caregiver total depression problems \"CORTB\" continuous child salivary cortisol rest \"EARS_TJo\" \"fscore\" continuous executive function factor score \"HOMEETA1\" continuous sociocognitive resources factor score \"IBRAttn\" continuous child total joint attention \"LESMnNeg\" continuous family negative life events \"LESMnPos\" continuous family positive life events \"MDI\" continuous child Bayely mental development index \"RHAsSO\" whether caregiver significant given time (1 = yes, 0 = ) \"SAAmylase\" continuous child salivary alpha amylase rest \"WndNbrhood\" continuous neighborhood safety","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_imp_list.rda.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Wide data imputed and read in (continuous exposure) — sim_data_imp_list.rda","text":"DeJoseph, M. L., Sifre, R. D., Raver, C. C., Blair, C. B., & Berry, D. (2021). Capturing Environmental Dimensions Adversity Resources Context Poverty Across Infancy Early Adolescence: Moderated Nonlinear Factor Model. Child Development, n/(n/). https://doi.org/10.1111/cdev.13504 Burchinal, M., Howes, C., Pianta, R., Bryant, D., Early, D., Clifford, R., & Barbarin, O. (2008). Predicting Child Outcomes End Kindergarten Quality Pre-Kindergarten Teacher–Child Interactions Instruction. Applied Developmental Science, 12(3), 140–153. https://doi.org/10.1080/10888690802199418 Vernon-Feagans, L., Cox, M., Willoughby, M., Burchinal, M., Garrett-Peters, P., Mills-Koonce, R., Garrett-Peiers, P., Conger, R. D., & Bauer, P. J. (2013). Family Life Project: Epidemiological Developmental Study Young Children Living Poor Rural Communities. Monographs Society Research Child Development, 78(5), –150. Willoughby, M. T., Blair, C. B., Wirth, R. J., & Greenberg, M. (2010). measurement executive function age 3 years: psychometric properties criterion validity new battery tasks. Psychological assessment, 22(2), 306.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_long_miss.rda.html","id":null,"dir":"Reference","previous_headings":"","what":"Long data with missingness (continuous exposure) — sim_data_long_miss.rda","title":"Long data with missingness (continuous exposure) — sim_data_long_miss.rda","text":"data simulated based data Family Life Project (FLP), longitudinal study following 1,292 families representative two geographic areas (three counties North Carolina three counties Pennsylvania) high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). MAR missingness added using missMethods package. data contain economic strain (ESEATA1) continuously distributed variable.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_long_miss.rda.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Long data with missingness (continuous exposure) — sim_data_long_miss.rda","text":"","code":"sim_data_long_miss"},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_long_miss.rda.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Long data with missingness (continuous exposure) — sim_data_long_miss.rda","text":"long data frame 6, 458 observations 36 measured variables collected one following time points: 6, 15, 24, 35, 58 months. \"ID\" subject id \"WAVE\" age (months) data collected \"ESETA1\" continuous exposure economic strain \"StrDif_Tot.58\" continuous outcome behavioral problems \"InRatioCor\" continuous income--needs ratio \"PmEd2\" parent's education level (0-11 = less high school, 12 = GED, 13 = GED additional training, 14 = high school grad, 15 = high school additional training, 16 = college, 17 = associates degree, 18 = four year college degree, 19 = post college, 20 = masters degree, 21 = professional degree, 22 = PhD) \"state\" family's state residence (NC = North Carolina, PA = Pennslyvania) \"TcBlac2\" child's race (1 = Black, 0 = White) \"bioDadInHH2\" whether biological father lives family (1 = yes, 0 = ) \"HomeOwnd\" whether family owns home (1 = owned bought family, 2 = owned bought someone else, 3 = rented rent, 4 = occupied without payment rent) \"KFASTScr\" continuous score caregiver reading comprehension \"PmBlac2\" primary caregiver's race (1 = Black, 0 = White) \"PmAge2\" primary caregiver age years \"PmMrSt2\" caregiver marital status (1 = single, 2 = married living spouse, 3 = married living spouse, 4 = divorced, 5 = separated, 6 = widowed) \"RMomAgeU\" continuous age years biological mother caregiver born \"RHealth\" index general caregiver health (1 = excellent, 2 = good, 3 = good, 4 = fair, 5 = poor) \"RHasSO\" whether caregiver significant (1 = yes, 0 = ) \"SmokTotl\" total cigarettes biological mother smoked pregnant (1 = 21 cigarettes less, 2 = 2 - 99 cigarettes, 3 = 100 cigarettes) \"caregiv_health\" sum score caregiver health problems including emotional problems, ADHD, asthma, cancer, high blood pressure, limited mobility, learning disability, general subjective health, mental health, overwight, seizures, depression, diabetes \"peri_health\" sum score pregnancy/birth health including excessive vomitting, fetal distress, colic, alcohol, high blood pressure, heavy bleeding, infection, congenital issues, stay pediatric intensive care, labor induction, independent breathing birth, surgery, NICU, smoked pregnant, breach, excessive weight loss, incubation, water retention, c-section \"SWghtLB\" child birth weight pounds \"SurpPreg\" whether caregiver surprise pregnancy (1 = yes, 0 = ) \"DrnkFreq\" frequently caregiver drank pregnant (1 = never, 2 = twice, 3 = month, 4 = twice month, 5 = couple times/week, 6 = everyday) \"gov_assist\" sum score whether family received government benefits including early headstart, early intervention, food stamps, subsidized childcare, heating assistance, government housing, transportation, school free lunch, WIC, AFDC \"ALI_LE\" continuous child language expression \"B18Raw\" continuous caregiver total depression problems \"CORTB\" continuous child salivary cortisol rest \"EARS_TJo\" \"fscore\" continuous executive function factor score \"HOMEETA1\" continuous sociocognitive resources factor score \"IBRAttn\" continuous child total joint attention \"LESMnNeg\" continuous family negative life events \"LESMnPos\" continuous family positive life events \"MDI\" continuous child Bayely mental development index \"RHAsSO\" whether caregiver significant given time (1 = yes, 0 = ) \"SAAmylase\" continuous child salivary alpha amylase rest \"WndNbrhood\" continuous neighborhood safety","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_long_miss.rda.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Long data with missingness (continuous exposure) — sim_data_long_miss.rda","text":"DeJoseph, M. L., Sifre, R. D., Raver, C. C., Blair, C. B., & Berry, D. (2021). Capturing Environmental Dimensions Adversity Resources Context Poverty Across Infancy Early Adolescence: Moderated Nonlinear Factor Model. Child Development, n/(n/). https://doi.org/10.1111/cdev.13504 Burchinal, M., Howes, C., Pianta, R., Bryant, D., Early, D., Clifford, R., & Barbarin, O. (2008). Predicting Child Outcomes End Kindergarten Quality Pre-Kindergarten Teacher–Child Interactions Instruction. Applied Developmental Science, 12(3), 140–153. https://doi.org/10.1080/10888690802199418 Vernon-Feagans, L., Cox, M., Willoughby, M., Burchinal, M., Garrett-Peters, P., Mills-Koonce, R., Garrett-Peiers, P., Conger, R. D., & Bauer, P. J. (2013). Family Life Project: Epidemiological Developmental Study Young Children Living Poor Rural Communities. Monographs Society Research Child Development, 78(5), –150. Willoughby, M. T., Blair, C. B., Wirth, R. J., & Greenberg, M. (2010). measurement executive function age 3 years: psychometric properties criterion validity new battery tasks. Psychological assessment, 22(2), 306.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_long_miss_bin.rda.html","id":null,"dir":"Reference","previous_headings":"","what":"Long data with missingness (binary exposure) — sim_data_long_miss_bin.rda","title":"Long data with missingness (binary exposure) — sim_data_long_miss_bin.rda","text":"data simulated based data Family Life Project (FLP), longitudinal study following 1,292 families representative two geographic areas (three counties North Carolina three counties Pennsylvania) high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). MAR missingness added using missMethods package. data contain economic strain (ESEATA1) binary variable.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_long_miss_bin.rda.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Long data with missingness (binary exposure) — sim_data_long_miss_bin.rda","text":"","code":"sim_data_long_miss_bin"},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_long_miss_bin.rda.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Long data with missingness (binary exposure) — sim_data_long_miss_bin.rda","text":"long data frame 6,458 observations 36 measured variables collected one following time points: 6, 15, 24, 35, 58 months. \"ID\" subject id \"WAVE\" age (months) data collected \"ESETA1\" continuous exposure economic strain \"StrDif_Tot.58\" continuous outcome behavioral problems \"InRatioCor\" continuous income--needs ratio \"PmEd2\" parent's education level (0-11 = less high school, 12 = GED, 13 = GED additional training, 14 = high school grad, 15 = high school additional training, 16 = college, 17 = associates degree, 18 = four year college degree, 19 = post college, 20 = masters degree, 21 = professional degree, 22 = PhD) \"state\" family's state residence (NC = North Carolina, PA = Pennslyvania) \"TcBlac2\" child's race (1 = Black, 0 = White) \"bioDadInHH2\" whether biological father lives family (1 = yes, 0 = ) \"HomeOwnd\" whether family owns home (1 = owned bought family, 2 = owned bought someone else, 3 = rented rent, 4 = occupied without payment rent) \"KFASTScr\" continuous score caregiver reading comprehension \"PmBlac2\" primary caregiver's race (1 = Black, 0 = White) \"PmAge2\" primary caregiver age years \"PmMrSt2\" caregiver marital status (1 = single, 2 = married living spouse, 3 = married living spouse, 4 = divorced, 5 = separated, 6 = widowed) \"RMomAgeU\" continuous age years biological mother caregiver born \"RHealth\" index general caregiver health (1 = excellent, 2 = good, 3 = good, 4 = fair, 5 = poor) \"RHasSO\" whether caregiver significant (1 = yes, 0 = ) \"SmokTotl\" total cigarettes biological mother smoked pregnant (1 = 21 cigarettes less, 2 = 2 - 99 cigarettes, 3 = 100 cigarettes) \"caregiv_health\" sum score caregiver health problems including emotional problems, ADHD, asthma, cancer, high blood pressure, limited mobility, learning disability, general subjective health, mental health, overwight, seizures, depression, diabetes \"peri_health\" sum score pregnancy/birth health including excessive vomitting, fetal distress, colic, alcohol, high blood pressure, heavy bleeding, infection, congenital issues, stay pediatric intensive care, labor induction, independent breathing birth, surgery, NICU, smoked pregnant, breach, excessive weight loss, incubation, water retention, c-section \"SWghtLB\" child birth weight pounds \"SurpPreg\" whether caregiver surprise pregnancy (1 = yes, 0 = ) \"DrnkFreq\" frequently caregiver drank pregnant (1 = never, 2 = twice, 3 = month, 4 = twice month, 5 = couple times/week, 6 = everyday) \"gov_assist\" sum score whether family received government benefits including early headstart, early intervention, food stamps, subsidized childcare, heating assistance, government housing, transportation, school free lunch, WIC, AFDC \"ALI_LE\" continuous child language expression \"B18Raw\" continuous caregiver total depression problems \"CORTB\" continuous child salivary cortisol rest \"EARS_TJo\" \"fscore\" continuous executive function factor score \"HOMEETA1\" continuous sociocognitive resources factor score \"IBRAttn\" continuous child total joint attention \"LESMnNeg\" continuous family negative life events \"LESMnPos\" continuous family positive life events \"MDI\" continuous child Bayely mental development index \"RHAsSO\" whether caregiver significant given time (1 = yes, 0 = ) \"SAAmylase\" continuous child salivary alpha amylase rest \"WndNbrhood\" continuous neighborhood safety #' @references DeJoseph, M. L., Sifre, R. D., Raver, C. C., Blair, C. B., & Berry, D. (2021). Capturing Environmental Dimensions Adversity Resources Context Poverty Across Infancy Early Adolescence: Moderated Nonlinear Factor Model. Child Development, n/(n/). https://doi.org/10.1111/cdev.13504 Burchinal, M., Howes, C., Pianta, R., Bryant, D., Early, D., Clifford, R., & Barbarin, O. (2008). Predicting Child Outcomes End Kindergarten Quality Pre-Kindergarten Teacher–Child Interactions Instruction. Applied Developmental Science, 12(3), 140–153. https://doi.org/10.1080/10888690802199418 Vernon-Feagans, L., Cox, M., Willoughby, M., Burchinal, M., Garrett-Peters, P., Mills-Koonce, R., Garrett-Peiers, P., Conger, R. D., & Bauer, P. J. (2013). Family Life Project: Epidemiological Developmental Study Young Children Living Poor Rural Communities. Monographs Society Research Child Development, 78(5), –150. Willoughby, M. T., Blair, C. B., Wirth, R. J., & Greenberg, M. (2010). measurement executive function age 3 years: psychometric properties criterion validity new battery tasks. Psychological assessment, 22(2), 306.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_mice.rda.html","id":null,"dir":"Reference","previous_headings":"","what":"Wide data imputed with mice (continuous exposure) — sim_data_mice.rda","title":"Wide data imputed with mice (continuous exposure) — sim_data_mice.rda","text":"data simulated based data Family Life Project (FLP), longitudinal study following 1,292 families representative two geographic areas (three counties North Carolina three counties Pennsylvania) high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). MAR missingness added using missMethods package prior imputation using mice via random forest. data contain economic strain (ESEATA1) continuously distributed variable.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_mice.rda.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Wide data imputed with mice (continuous exposure) — sim_data_mice.rda","text":"","code":"sim_data_mice"},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_mice.rda.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Wide data imputed with mice (continuous exposure) — sim_data_mice.rda","text":"wide data frame 1,292 observations 36 measured variables collected one following time points: 6, 15, 24, 35, 58 months. \"ID\" subject id \"ESETA1\" continuous exposure economic strain \"StrDif_Tot.58\" continuous outcome behavioral problems \"InRatioCor\" continuous income--needs ratio \"PmEd2\" parent's education level (0-11 = less high school, 12 = GED, 13 = GED additional training, 14 = high school grad, 15 = high school additional training, 16 = college, 17 = associates degree, 18 = four year college degree, 19 = post college, 20 = masters degree, 21 = professional degree, 22 = PhD) \"state\" family's state residence (NC = North Carolina, PA = Pennslyvania) \"TcBlac2\" child's race (1 = Black, 0 = White) \"bioDadInHH2\" whether biological father lives family (1 = yes, 0 = ) \"HomeOwnd\" whether family owns home (1 = owned bought family, 2 = owned bought someone else, 3 = rented rent, 4 = occupied without payment rent) \"KFASTScr\" continuous score caregiver reading comprehension \"PmBlac2\" primary caregiver's race (1 = Black, 0 = White) \"PmAge2\" primary caregiver age years \"PmMrSt2\" caregiver marital status (1 = single, 2 = married living spouse, 3 = married living spouse, 4 = divorced, 5 = separated, 6 = widowed) \"RMomAgeU\" continuous age years biological mother caregiver born \"RHealth\" index general caregiver health (1 = excellent, 2 = good, 3 = good, 4 = fair, 5 = poor) \"RHasSO\" whether caregiver significant (1 = yes, 0 = ) \"SmokTotl\" total cigarettes biological mother smoked pregnant (1 = 21 cigarettes less, 2 = 2 - 99 cigarettes, 3 = 100 cigarettes) \"caregiv_health\" sum score caregiver health problems including emotional problems, ADHD, asthma, cancer, high blood pressure, limited mobility, learning disability, general subjective health, mental health, overwight, seizures, depression, diabetes \"peri_health\" sum score pregnancy/birth health including excessive vomitting, fetal distress, colic, alcohol, high blood pressure, heavy bleeding, infection, congenital issues, stay pediatric intensive care, labor induction, independent breathing birth, surgery, NICU, smoked pregnant, breach, excessive weight loss, incubation, water retention, c-section \"SWghtLB\" child birth weight pounds \"SurpPreg\" whether caregiver surprise pregnancy (1 = yes, 0 = ) \"DrnkFreq\" frequently caregiver drank pregnant (1 = never, 2 = twice, 3 = month, 4 = twice month, 5 = couple times/week, 6 = everyday) \"gov_assist\" sum score whether family received government benefits including early headstart, early intervention, food stamps, subsidized childcare, heating assistance, government housing, transportation, school free lunch, WIC, AFDC \"ALI_LE\" continuous child language expression \"B18Raw\" continuous caregiver total depression problems \"CORTB\" continuous child salivary cortisol rest \"EARS_TJo\" \"fscore\" continuous executive function factor score \"HOMEETA1\" continuous sociocognitive resources factor score \"IBRAttn\" continuous child total joint attention \"LESMnNeg\" continuous family negative life events \"LESMnPos\" continuous family positive life events \"MDI\" continuous child Bayely mental development index \"RHAsSO\" whether caregiver significant given time (1 = yes, 0 = ) \"SAAmylase\" continuous child salivary alpha amylase rest \"WndNbrhood\" continuous neighborhood safety","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_mice.rda.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Wide data imputed with mice (continuous exposure) — sim_data_mice.rda","text":"DeJoseph, M. L., Sifre, R. D., Raver, C. C., Blair, C. B., & Berry, D. (2021). Capturing Environmental Dimensions Adversity Resources Context Poverty Across Infancy Early Adolescence: Moderated Nonlinear Factor Model. Child Development, n/(n/). https://doi.org/10.1111/cdev.13504 Burchinal, M., Howes, C., Pianta, R., Bryant, D., Early, D., Clifford, R., & Barbarin, O. (2008). Predicting Child Outcomes End Kindergarten Quality Pre-Kindergarten Teacher–Child Interactions Instruction. Applied Developmental Science, 12(3), 140–153. https://doi.org/10.1080/10888690802199418 Vernon-Feagans, L., Cox, M., Willoughby, M., Burchinal, M., Garrett-Peters, P., Mills-Koonce, R., Garrett-Peiers, P., Conger, R. D., & Bauer, P. J. (2013). Family Life Project: Epidemiological Developmental Study Young Children Living Poor Rural Communities. Monographs Society Research Child Development, 78(5), –150. Willoughby, M. T., Blair, C. B., Wirth, R. J., & Greenberg, M. (2010). measurement executive function age 3 years: psychometric properties criterion validity new battery tasks. Psychological assessment, 22(2), 306.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_wide.rda.html","id":null,"dir":"Reference","previous_headings":"","what":"Wide complete data (continuous exposure) These data are simulated based on data from the Family Life Project (FLP), a longitudinal study following 1,292 families representative of two geographic areas (three counties in North Carolina and three counties in Pennsylvania) with high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). These data contain economic strain (ESEATA1) as a continuously distributed variable and have no missing data. — sim_data_wide.rda","title":"Wide complete data (continuous exposure) These data are simulated based on data from the Family Life Project (FLP), a longitudinal study following 1,292 families representative of two geographic areas (three counties in North Carolina and three counties in Pennsylvania) with high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). These data contain economic strain (ESEATA1) as a continuously distributed variable and have no missing data. — sim_data_wide.rda","text":"Wide complete data (continuous exposure) data simulated based data Family Life Project (FLP), longitudinal study following 1,292 families representative two geographic areas (three counties North Carolina three counties Pennsylvania) high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). data contain economic strain (ESEATA1) continuously distributed variable missing data.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_wide.rda.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Wide complete data (continuous exposure) These data are simulated based on data from the Family Life Project (FLP), a longitudinal study following 1,292 families representative of two geographic areas (three counties in North Carolina and three counties in Pennsylvania) with high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). These data contain economic strain (ESEATA1) as a continuously distributed variable and have no missing data. — sim_data_wide.rda","text":"","code":"sim_data_wide"},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_wide.rda.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Wide complete data (continuous exposure) These data are simulated based on data from the Family Life Project (FLP), a longitudinal study following 1,292 families representative of two geographic areas (three counties in North Carolina and three counties in Pennsylvania) with high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). These data contain economic strain (ESEATA1) as a continuously distributed variable and have no missing data. — sim_data_wide.rda","text":"wide data frame 1,292 observations 36 measured variables collected one following time points: 6, 15, 24, 35, 58 months. \"ID\" subject id \"ESETA1\" continuous exposure economic strain \"StrDif_Tot.58\" continuous outcome behavioral problems \"InRatioCor\" continuous income--needs ratio \"PmEd2\" parent's education level (0-11 = less high school, 12 = GED, 13 = GED additional training, 14 = high school grad, 15 = high school additional training, 16 = college, 17 = associates degree, 18 = four year college degree, 19 = post college, 20 = masters degree, 21 = professional degree, 22 = PhD) \"state\" family's state residence (NC = North Carolina, PA = Pennslyvania) \"TcBlac2\" child's race (1 = Black, 0 = White) \"bioDadInHH2\" whether biological father lives family (1 = yes, 0 = ) \"HomeOwnd\" whether family owns home (1 = owned bought family, 2 = owned bought someone else, 3 = rented rent, 4 = occupied without payment rent) \"KFASTScr\" continuous score caregiver reading comprehension \"PmBlac2\" primary caregiver's race (1 = Black, 0 = White) \"PmAge2\" primary caregiver age years \"PmMrSt2\" caregiver marital status (1 = single, 2 = married living spouse, 3 = married living spouse, 4 = divorced, 5 = separated, 6 = widowed) \"RMomAgeU\" continuous age years biological mother caregiver born \"RHealth\" index general caregiver health (1 = excellent, 2 = good, 3 = good, 4 = fair, 5 = poor) \"RHasSO\" whether caregiver significant (1 = yes, 0 = ) \"SmokTotl\" total cigarettes biological mother smoked pregnant (1 = 21 cigarettes less, 2 = 2 - 99 cigarettes, 3 = 100 cigarettes) \"caregiv_health\" sum score caregiver health problems including emotional problems, ADHD, asthma, cancer, high blood pressure, limited mobility, learning disability, general subjective health, mental health, overwight, seizures, depression, diabetes \"peri_health\" sum score pregnancy/birth health including excessive vomitting, fetal distress, colic, alcohol, high blood pressure, heavy bleeding, infection, congenital issues, stay pediatric intensive care, labor induction, independent breathing birth, surgery, NICU, smoked pregnant, breach, excessive weight loss, incubation, water retention, c-section \"SWghtLB\" child birth weight pounds \"SurpPreg\" whether caregiver surprise pregnancy (1 = yes, 0 = ) \"DrnkFreq\" frequently caregiver drank pregnant (1 = never, 2 = twice, 3 = month, 4 = twice month, 5 = couple times/week, 6 = everyday) \"gov_assist\" sum score whether family received government benefits including early headstart, early intervention, food stamps, subsidized childcare, heating assistance, government housing, transportation, school free lunch, WIC, AFDC \"ALI_LE\" continuous child language expression \"B18Raw\" continuous caregiver total depression problems \"CORTB\" continuous child salivary cortisol rest \"EARS_TJo\" \"fscore\" continuous executive function factor score \"HOMEETA1\" continuous sociocognitive resources factor score \"IBRAttn\" continuous child total joint attention \"LESMnNeg\" continuous family negative life events \"LESMnPos\" continuous family positive life events \"MDI\" continuous child Bayely mental development index \"RHAsSO\" whether caregiver significant given time (1 = yes, 0 = ) \"SAAmylase\" continuous child salivary alpha amylase rest \"WndNbrhood\" continuous neighborhood safety","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_wide.rda.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Wide complete data (continuous exposure) These data are simulated based on data from the Family Life Project (FLP), a longitudinal study following 1,292 families representative of two geographic areas (three counties in North Carolina and three counties in Pennsylvania) with high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). These data contain economic strain (ESEATA1) as a continuously distributed variable and have no missing data. — sim_data_wide.rda","text":"DeJoseph, M. L., Sifre, R. D., Raver, C. C., Blair, C. B., & Berry, D. (2021). Capturing Environmental Dimensions Adversity Resources Context Poverty Across Infancy Early Adolescence: Moderated Nonlinear Factor Model. Child Development, n/(n/). https://doi.org/10.1111/cdev.13504 Burchinal, M., Howes, C., Pianta, R., Bryant, D., Early, D., Clifford, R., & Barbarin, O. (2008). Predicting Child Outcomes End Kindergarten Quality Pre-Kindergarten Teacher–Child Interactions Instruction. Applied Developmental Science, 12(3), 140–153. https://doi.org/10.1080/10888690802199418 Vernon-Feagans, L., Cox, M., Willoughby, M., Burchinal, M., Garrett-Peters, P., Mills-Koonce, R., Garrett-Peiers, P., Conger, R. D., & Bauer, P. J. (2013). Family Life Project: Epidemiological Developmental Study Young Children Living Poor Rural Communities. Monographs Society Research Child Development, 78(5), –150. Willoughby, M. T., Blair, C. B., Wirth, R. J., & Greenberg, M. (2010). measurement executive function age 3 years: psychometric properties criterion validity new battery tasks. Psychological assessment, 22(2), 306.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_wide_bin.rda.html","id":null,"dir":"Reference","previous_headings":"","what":"Wide complete data (binary exposure) These data are simulated based on data from the Family Life Project (FLP), a longitudinal study following 1,292 families representative of two geographic areas (three counties in North Carolina and three counties in Pennsylvania) with high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). These data contain economic strain (ESEATA1) as a binary variable, and have no missing data. — sim_data_wide_bin.rda","title":"Wide complete data (binary exposure) These data are simulated based on data from the Family Life Project (FLP), a longitudinal study following 1,292 families representative of two geographic areas (three counties in North Carolina and three counties in Pennsylvania) with high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). These data contain economic strain (ESEATA1) as a binary variable, and have no missing data. — sim_data_wide_bin.rda","text":"Wide complete data (binary exposure) data simulated based data Family Life Project (FLP), longitudinal study following 1,292 families representative two geographic areas (three counties North Carolina three counties Pennsylvania) high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). data contain economic strain (ESEATA1) binary variable, missing data.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_wide_bin.rda.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Wide complete data (binary exposure) These data are simulated based on data from the Family Life Project (FLP), a longitudinal study following 1,292 families representative of two geographic areas (three counties in North Carolina and three counties in Pennsylvania) with high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). These data contain economic strain (ESEATA1) as a binary variable, and have no missing data. — sim_data_wide_bin.rda","text":"","code":"sim_data_wide_bin"},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_wide_bin.rda.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Wide complete data (binary exposure) These data are simulated based on data from the Family Life Project (FLP), a longitudinal study following 1,292 families representative of two geographic areas (three counties in North Carolina and three counties in Pennsylvania) with high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). These data contain economic strain (ESEATA1) as a binary variable, and have no missing data. — sim_data_wide_bin.rda","text":"wide data frame 1,292 observations 36 measured variables collected one following time points: 6, 15, 24, 35, 58 months. \"ID\" subject id \"ESETA1\" continuous exposure economic strain \"StrDif_Tot.58\" continuous outcome behavioral problems \"InRatioCor\" continuous income--needs ratio \"PmEd2\" parent's education level (0-11 = less high school, 12 = GED, 13 = GED additional training, 14 = high school grad, 15 = high school additional training, 16 = college, 17 = associates degree, 18 = four year college degree, 19 = post college, 20 = masters degree, 21 = professional degree, 22 = PhD) \"state\" family's state residence (NC = North Carolina, PA = Pennslyvania) \"TcBlac2\" child's race (1 = Black, 0 = White) \"bioDadInHH2\" whether biological father lives family (1 = yes, 0 = ) \"HomeOwnd\" whether family owns home (1 = owned bought family, 2 = owned bought someone else, 3 = rented rent, 4 = occupied without payment rent) \"KFASTScr\" continuous score caregiver reading comprehension \"PmBlac2\" primary caregiver's race (1 = Black, 0 = White) \"PmAge2\" primary caregiver age years \"PmMrSt2\" caregiver marital status (1 = single, 2 = married living spouse, 3 = married living spouse, 4 = divorced, 5 = separated, 6 = widowed) \"RMomAgeU\" continuous age years biological mother caregiver born \"RHealth\" index general caregiver health (1 = excellent, 2 = good, 3 = good, 4 = fair, 5 = poor) \"RHasSO\" whether caregiver significant (1 = yes, 0 = ) \"SmokTotl\" total cigarettes biological mother smoked pregnant (1 = 21 cigarettes less, 2 = 2 - 99 cigarettes, 3 = 100 cigarettes) \"caregiv_health\" sum score caregiver health problems including emotional problems, ADHD, asthma, cancer, high blood pressure, limited mobility, learning disability, general subjective health, mental health, overwight, seizures, depression, diabetes \"peri_health\" sum score pregnancy/birth health including excessive vomitting, fetal distress, colic, alcohol, high blood pressure, heavy bleeding, infection, congenital issues, stay pediatric intensive care, labor induction, independent breathing birth, surgery, NICU, smoked pregnant, breach, excessive weight loss, incubation, water retention, c-section \"SWghtLB\" child birth weight pounds \"SurpPreg\" whether caregiver surprise pregnancy (1 = yes, 0 = ) \"DrnkFreq\" frequently caregiver drank pregnant (1 = never, 2 = twice, 3 = month, 4 = twice month, 5 = couple times/week, 6 = everyday) \"gov_assist\" sum score whether family received government benefits including early headstart, early intervention, food stamps, subsidized childcare, heating assistance, government housing, transportation, school free lunch, WIC, AFDC \"ALI_LE\" continuous child language expression \"B18Raw\" continuous caregiver total depression problems \"CORTB\" continuous child salivary cortisol rest \"EARS_TJo\" \"fscore\" continuous executive function factor score \"HOMEETA1\" continuous sociocognitive resources factor score \"IBRAttn\" continuous child total joint attention \"LESMnNeg\" continuous family negative life events \"LESMnPos\" continuous family positive life events \"MDI\" continuous child Bayely mental development index \"RHAsSO\" whether caregiver significant given time (1 = yes, 0 = ) \"SAAmylase\" continuous child salivary alpha amylase rest \"WndNbrhood\" continuous neighborhood safety","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_wide_bin.rda.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Wide complete data (binary exposure) These data are simulated based on data from the Family Life Project (FLP), a longitudinal study following 1,292 families representative of two geographic areas (three counties in North Carolina and three counties in Pennsylvania) with high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). These data contain economic strain (ESEATA1) as a binary variable, and have no missing data. — sim_data_wide_bin.rda","text":"DeJoseph, M. L., Sifre, R. D., Raver, C. C., Blair, C. B., & Berry, D. (2021). Capturing Environmental Dimensions Adversity Resources Context Poverty Across Infancy Early Adolescence: Moderated Nonlinear Factor Model. Child Development, n/(n/). https://doi.org/10.1111/cdev.13504 Burchinal, M., Howes, C., Pianta, R., Bryant, D., Early, D., Clifford, R., & Barbarin, O. (2008). Predicting Child Outcomes End Kindergarten Quality Pre-Kindergarten Teacher–Child Interactions Instruction. Applied Developmental Science, 12(3), 140–153. https://doi.org/10.1080/10888690802199418 Vernon-Feagans, L., Cox, M., Willoughby, M., Burchinal, M., Garrett-Peters, P., Mills-Koonce, R., Garrett-Peiers, P., Conger, R. D., & Bauer, P. J. (2013). Family Life Project: Epidemiological Developmental Study Young Children Living Poor Rural Communities. Monographs Society Research Child Development, 78(5), –150. Willoughby, M. T., Blair, C. B., Wirth, R. J., & Greenberg, M. (2010). measurement executive function age 3 years: psychometric properties criterion validity new battery tasks. Psychological assessment, 22(2), 306.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_wide_miss.rda.html","id":null,"dir":"Reference","previous_headings":"","what":"Wide data with missingness (continuous exposure) — sim_data_wide_miss.rda","title":"Wide data with missingness (continuous exposure) — sim_data_wide_miss.rda","text":"data simulated based data Family Life Project (FLP), longitudinal study following 1,292 families representative two geographic areas (three counties North Carolina three counties Pennsylvania) high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). MAR missingness added using missMethods package. data contain economic strain (ESEATA1) continuously distributed variable.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_wide_miss.rda.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Wide data with missingness (continuous exposure) — sim_data_wide_miss.rda","text":"","code":"sim_data_wide_miss"},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_wide_miss.rda.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Wide data with missingness (continuous exposure) — sim_data_wide_miss.rda","text":"wide data frame 1,292 observations 36 measured variables collected one following time points: 6, 15, 24, 35, 58 months. \"ID\" subject id \"ESETA1\" continuous exposure economic strain \"StrDif_Tot.58\" continuous outcome behavioral problems \"InRatioCor\" continuous income--needs ratio \"PmEd2\" parent's education level (0-11 = less high school, 12 = GED, 13 = GED additional training, 14 = high school grad, 15 = high school additional training, 16 = college, 17 = associates degree, 18 = four year college degree, 19 = post college, 20 = masters degree, 21 = professional degree, 22 = PhD) \"state\" family's state residence (NC = North Carolina, PA = Pennslyvania) \"TcBlac2\" child's race (1 = Black, 0 = White) \"bioDadInHH2\" whether biological father lives family (1 = yes, 0 = ) \"HomeOwnd\" whether family owns home (1 = owned bought family, 2 = owned bought someone else, 3 = rented rent, 4 = occupied without payment rent) \"KFASTScr\" continuous score caregiver reading comprehension \"PmBlac2\" primary caregiver's race (1 = Black, 0 = White) \"PmAge2\" primary caregiver age years \"PmMrSt2\" caregiver marital status (1 = single, 2 = married living spouse, 3 = married living spouse, 4 = divorced, 5 = separated, 6 = widowed) \"RMomAgeU\" continuous age years biological mother caregiver born \"RHealth\" index general caregiver health (1 = excellent, 2 = good, 3 = good, 4 = fair, 5 = poor) \"RHasSO\" whether caregiver significant (1 = yes, 0 = ) \"SmokTotl\" total cigarettes biological mother smoked pregnant (1 = 21 cigarettes less, 2 = 2 - 99 cigarettes, 3 = 100 cigarettes) \"caregiv_health\" sum score caregiver health problems including emotional problems, ADHD, asthma, cancer, high blood pressure, limited mobility, learning disability, general subjective health, mental health, overwight, seizures, depression, diabetes \"peri_health\" sum score pregnancy/birth health including excessive vomitting, fetal distress, colic, alcohol, high blood pressure, heavy bleeding, infection, congenital issues, stay pediatric intensive care, labor induction, independent breathing birth, surgery, NICU, smoked pregnant, breach, excessive weight loss, incubation, water retention, c-section \"SWghtLB\" child birth weight pounds \"SurpPreg\" whether caregiver surprise pregnancy (1 = yes, 0 = ) \"DrnkFreq\" frequently caregiver drank pregnant (1 = never, 2 = twice, 3 = month, 4 = twice month, 5 = couple times/week, 6 = everyday) \"gov_assist\" sum score whether family received government benefits including early headstart, early intervention, food stamps, subsidized childcare, heating assistance, government housing, transportation, school free lunch, WIC, AFDC \"ALI_LE\" continuous child language expression \"B18Raw\" continuous caregiver total depression problems \"CORTB\" continuous child salivary cortisol rest \"EARS_TJo\" \"fscore\" continuous executive function factor score \"HOMEETA1\" continuous sociocognitive resources factor score \"IBRAttn\" continuous child total joint attention \"LESMnNeg\" continuous family negative life events \"LESMnPos\" continuous family positive life events \"MDI\" continuous child Bayely mental development index \"RHAsSO\" whether caregiver significant given time (1 = yes, 0 = ) \"SAAmylase\" continuous child salivary alpha amylase rest \"WndNbrhood\" continuous neighborhood safety","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_wide_miss.rda.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Wide data with missingness (continuous exposure) — sim_data_wide_miss.rda","text":"DeJoseph, M. L., Sifre, R. D., Raver, C. C., Blair, C. B., & Berry, D. (2021). Capturing Environmental Dimensions Adversity Resources Context Poverty Across Infancy Early Adolescence: Moderated Nonlinear Factor Model. Child Development, n/(n/). https://doi.org/10.1111/cdev.13504 Burchinal, M., Howes, C., Pianta, R., Bryant, D., Early, D., Clifford, R., & Barbarin, O. (2008). Predicting Child Outcomes End Kindergarten Quality Pre-Kindergarten Teacher–Child Interactions Instruction. Applied Developmental Science, 12(3), 140–153. https://doi.org/10.1080/10888690802199418 Vernon-Feagans, L., Cox, M., Willoughby, M., Burchinal, M., Garrett-Peters, P., Mills-Koonce, R., Garrett-Peiers, P., Conger, R. D., & Bauer, P. J. (2013). Family Life Project: Epidemiological Developmental Study Young Children Living Poor Rural Communities. Monographs Society Research Child Development, 78(5), –150. Willoughby, M. T., Blair, C. B., Wirth, R. J., & Greenberg, M. (2010). measurement executive function age 3 years: psychometric properties criterion validity new battery tasks. Psychological assessment, 22(2), 306.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_wide_miss_bin.rda.html","id":null,"dir":"Reference","previous_headings":"","what":"Wide data with missingness (binary exposure) — sim_data_wide_miss_bin.rda","title":"Wide data with missingness (binary exposure) — sim_data_wide_miss_bin.rda","text":"data simulated based data Family Life Project (FLP), longitudinal study following 1,292 families representative two geographic areas (three counties North Carolina three counties Pennsylvania) high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). MAR missingness added using missMethods package. data contain economic strain (ESEATA1) binary variable.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_wide_miss_bin.rda.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Wide data with missingness (binary exposure) — sim_data_wide_miss_bin.rda","text":"","code":"sim_data_wide_miss_bin"},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_wide_miss_bin.rda.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Wide data with missingness (binary exposure) — sim_data_wide_miss_bin.rda","text":"wide data frame 1,292 observations 36 measured variables collected one following time points: 6, 15, 24, 35, 58 months. \"ID\" subject id \"ESETA1\" continuous exposure economic strain \"StrDif_Tot.58\" continuous outcome behavioral problems \"InRatioCor\" continuous income--needs ratio \"PmEd2\" parent's education level (0-11 = less high school, 12 = GED, 13 = GED additional training, 14 = high school grad, 15 = high school additional training, 16 = college, 17 = associates degree, 18 = four year college degree, 19 = post college, 20 = masters degree, 21 = professional degree, 22 = PhD) \"state\" family's state residence (NC = North Carolina, PA = Pennslyvania) \"TcBlac2\" child's race (1 = Black, 0 = White) \"bioDadInHH2\" whether biological father lives family (1 = yes, 0 = ) \"HomeOwnd\" whether family owns home (1 = owned bought family, 2 = owned bought someone else, 3 = rented rent, 4 = occupied without payment rent) \"KFASTScr\" continuous score caregiver reading comprehension \"PmBlac2\" primary caregiver's race (1 = Black, 0 = White) \"PmAge2\" primary caregiver age years \"PmMrSt2\" caregiver marital status (1 = single, 2 = married living spouse, 3 = married living spouse, 4 = divorced, 5 = separated, 6 = widowed) \"RMomAgeU\" continuous age years biological mother caregiver born \"RHealth\" index general caregiver health (1 = excellent, 2 = good, 3 = good, 4 = fair, 5 = poor) \"RHasSO\" whether caregiver significant (1 = yes, 0 = ) \"SmokTotl\" total cigarettes biological mother smoked pregnant (1 = 21 cigarettes less, 2 = 2 - 99 cigarettes, 3 = 100 cigarettes) \"caregiv_health\" sum score caregiver health problems including emotional problems, ADHD, asthma, cancer, high blood pressure, limited mobility, learning disability, general subjective health, mental health, overwight, seizures, depression, diabetes \"peri_health\" sum score pregnancy/birth health including excessive vomitting, fetal distress, colic, alcohol, high blood pressure, heavy bleeding, infection, congenital issues, stay pediatric intensive care, labor induction, independent breathing birth, surgery, NICU, smoked pregnant, breach, excessive weight loss, incubation, water retention, c-section \"SWghtLB\" child birth weight pounds \"SurpPreg\" whether caregiver surprise pregnancy (1 = yes, 0 = ) \"DrnkFreq\" frequently caregiver drank pregnant (1 = never, 2 = twice, 3 = month, 4 = twice month, 5 = couple times/week, 6 = everyday) \"gov_assist\" sum score whether family received government benefits including early headstart, early intervention, food stamps, subsidized childcare, heating assistance, government housing, transportation, school free lunch, WIC, AFDC \"ALI_LE\" continuous child language expression \"B18Raw\" continuous caregiver total depression problems \"CORTB\" continuous child salivary cortisol rest \"EARS_TJo\" \"fscore\" continuous executive function factor score \"HOMEETA1\" continuous sociocognitive resources factor score \"IBRAttn\" continuous child total joint attention \"LESMnNeg\" continuous family negative life events \"LESMnPos\" continuous family positive life events \"MDI\" continuous child Bayely mental development index \"RHAsSO\" whether caregiver significant given time (1 = yes, 0 = ) \"SAAmylase\" continuous child salivary alpha amylase rest \"WndNbrhood\" continuous neighborhood safety","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_wide_miss_bin.rda.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Wide data with missingness (binary exposure) — sim_data_wide_miss_bin.rda","text":"DeJoseph, M. L., Sifre, R. D., Raver, C. C., Blair, C. B., & Berry, D. (2021). Capturing Environmental Dimensions Adversity Resources Context Poverty Across Infancy Early Adolescence: Moderated Nonlinear Factor Model. Child Development, n/(n/). https://doi.org/10.1111/cdev.13504 Burchinal, M., Howes, C., Pianta, R., Bryant, D., Early, D., Clifford, R., & Barbarin, O. (2008). Predicting Child Outcomes End Kindergarten Quality Pre-Kindergarten Teacher–Child Interactions Instruction. Applied Developmental Science, 12(3), 140–153. https://doi.org/10.1080/10888690802199418 Vernon-Feagans, L., Cox, M., Willoughby, M., Burchinal, M., Garrett-Peters, P., Mills-Koonce, R., Garrett-Peiers, P., Conger, R. D., & Bauer, P. J. (2013). Family Life Project: Epidemiological Developmental Study Young Children Living Poor Rural Communities. Monographs Society Research Child Development, 78(5), –150. Willoughby, M. T., Blair, C. B., Wirth, R. J., & Greenberg, M. (2010). measurement executive function age 3 years: psychometric properties criterion validity new battery tasks. Psychological assessment, 22(2), 306.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/trimWeights.html","id":null,"dir":"Reference","previous_headings":"","what":"Trim IPTW balancing weights, if needed — trimWeights","title":"Trim IPTW balancing weights, if needed — trimWeights","text":"Trims IPTW balancing weights heavy right tails populating weight values given quantile weight value quantile.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/trimWeights.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Trim IPTW balancing weights, if needed — trimWeights","text":"","code":"trimWeights(weights, at = 0, lower = FALSE, verbose = FALSE, save.out = FALSE)"},{"path":"https://istallworthy.github.io/devMSMs/reference/trimWeights.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Trim IPTW balancing weights, if needed — trimWeights","text":"weights list IPTW weights output createWeights() numeric; either quantile weights weights trimmed. single number .5 1, number weights trimmed (e.g., = 3 top 3 weights set 4th largest weight). lower logical; whether also trim lower quantile (e.g., = .9, trimming .1 .9, = 3, trimming top bottom 3 weights). Default FALSE trim higher weights. verbose (optional) TRUE FALSE indicator printing output console. default FALSE. save.(optional) Either logical character string. TRUE, output result default file name within home_dir set initMSM(). can load data x <- readRDS(file). use non-default file name, specify character string file name. save relative home_dir. might naming conflicts two objects get saved file. cases, users specify custom name. default FALSE.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/trimWeights.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Trim IPTW balancing weights, if needed — trimWeights","text":"list containing WeightIt::weightitMSM() output. length number datasets (1 data.frame number imputed datasets).","code":""},{"path":[]},{"path":"https://istallworthy.github.io/devMSMs/reference/trimWeights.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Trim IPTW balancing weights, if needed — trimWeights","text":"","code":"library(devMSMs) data <- data.frame( ID = 1:50, A.1 = rnorm(n = 50), A.2 = rnorm(n = 50), A.3 = rnorm(n = 50), B.1 = rnorm(n = 50), B.2 = rnorm(n = 50), B.3 = rnorm(n = 50), C = rnorm(n = 50), D.3 = rnorm(n = 50) ) obj <- initMSM( data, exposure = c(\"A.1\", \"A.2\", \"A.3\"), ti_conf = c(\"C\"), tv_conf = c(\"B.1\", \"B.2\", \"B.3\", \"D.3\") ) f <- createFormulas(obj, type = \"short\") w <- createWeights(data = data, formulas = f) tw <- trimWeights(w, at = 0.975) print(tw) #> #> For the `glm` weighting method, after trimming at 97.5th quantile, the median weight value is 0.97 (SD = 0.32; range = 0.43-2). plot(tw) trimWeights(w, at = 0.975, lower = TRUE) #> #> For the `glm` weighting method, after trimming between 2.5th and 97.5th quantiles, the median weight value is 0.97 (SD = 0.32; range = 0.43-2)."}] +[{"path":"https://istallworthy.github.io/devMSMs/articles/Assessing_Balance_Tv.html","id":"calculating-raw-balance-statistics","dir":"Articles","previous_headings":"","what":"Calculating Raw Balance Statistics","title":"Assessing Balance for Time-Varying Exposures","text":"calcBalStats() assesses balance using correlations confounder exposure continuous exposures standardized mean differences confounder exposure groups binary exposures. balancing statistics created based diagnostics confounding time-varying exposures outlined Jackson (2016). specifically, user-specified exposure time point, raw balance statistics calculated quantify association exposure time point confounder, exposure history time point. accomplished using col_w_cov() function calculate covariance continuous exposures col_w_smd() function calculate mean difference binary exposures cobalt package (Greifer, 2023). Factor covariates split separate dummy variables using splitfactor() function cobalt. covariate interactions present formulas created data multiplying constituent variables, interactions including factor covariates implemented constituent dummy variables.","code":""},{"path":"https://istallworthy.github.io/devMSMs/articles/Assessing_Balance_Tv.html","id":"weighting-balance-statistics-by-exposure-history","dir":"Articles","previous_headings":"","what":"Weighting Balance Statistics By Exposure History","title":"Assessing Balance for Time-Varying Exposures","text":"calcBalStats() function, exposure histories comprise combinations presence absence exposure (delineated using median split continuous exposures) prior time points (note may different user-specified, substantive exposure histories used compare dose timing final model; Step 5). Subsequently, weighted mean balance statistics, weighted proportion individuals exposure history, provides raw estimate balance exposure time point confounder. occasion balancing statistics one person people given exposure history, user alerted balance statistic dropped inclusion. raw (unstandardized) balance statistics calculated without IPTW weights pre-balance checking using IPTW balancing weights (multiplied across time points) weighted analyses.","code":""},{"path":"https://istallworthy.github.io/devMSMs/articles/Assessing_Balance_Tv.html","id":"standardizing-balance-statistics","dir":"Articles","previous_headings":"","what":"Standardizing Balance Statistics","title":"Assessing Balance for Time-Varying Exposures","text":"purpose comparison common balance threshold, balancing statistics similarly standardized following manner. continuous exposures, raw balance statistic (covariance) divided product standard deviation unweighted confounder standard deviation exposure time point calculate correlation. Given , possible correlation may greater 1. binary exposures, raw balance statistic (mean difference) divided pooled standard deviation estimate, square root average standard deviations unweighted confounder levels exposed unexposed groups first exposure time point. standard deviations computed using unadjusted sample (recommended Stuart, 2008; 2010; Greifer, 2022) given possibility balancing changes variation confounder leads misleading standardized values. first exposure time point (histories), standardized balance statistics computed directly using cobalt functions mentioned .","code":""},{"path":"https://istallworthy.github.io/devMSMs/articles/Assessing_Balance_Tv.html","id":"imputed-data","dir":"Articles","previous_headings":"","what":"Imputed Data","title":"Assessing Balance for Time-Varying Exposures","text":"imputed data supplied, process conducted imputed dataset separately. function takes average absolute values balance statistics across imputed datasets account sampling error (Pishgar et al., 2021 preprint). averaged average balance statistics compared balance threshold(s) summarize covariates balanced. Recommended specification separate balance thresholds relatively less important confounders can found Workflows vignettes. specification balance threshold(s) kept consistent throughout use devMSMs package.","code":""},{"path":"https://istallworthy.github.io/devMSMs/articles/Assessing_Balance_Tv.html","id":"references","dir":"Articles","previous_headings":"","what":"References","title":"Assessing Balance for Time-Varying Exposures","text":"Greifer, N. (2024). cobalt: Covariate Balance Tables Plots (4.4.1) [Computer software]. https://CRAN.R-project.org/package=cobalt Jackson, J. W. (2016). Diagnostics Confounding Time-varying Joint Exposures. Epidemiology, 27(6), 859. https://doi.org/10.1097/EDE.0000000000000547 Pishgar, F., Greifer, N., Leyrat, C., & Stuart, E. (2021). MatchThem: Matching andWeighting Multiple Imputation. R Journal, 13(2), 292–305. https://doi.org/10.32614/RJ-2021-073 Stuart, E. . (2008). Developing practical recommendations use propensity scores: Discussion ‘critical appraisal propensity score matching medical literature 1996 2003’ Peter Austin, Statistics Medicine. Statistics Medicine, 27(12), 2062–2065. https://doi.org/10.1002/sim.3207 Stuart, E. . (2010). Matching methods causal inference: review look forward. Statistical Science : Review Journal Institute Mathematical Statistics, 25(1), 1–21. https://doi.org/10.1214/09-STS313","code":""},{"path":"https://istallworthy.github.io/devMSMs/articles/Customize_Balancing_Formulas.html","id":"core-inputs","dir":"Articles","previous_headings":"","what":"Core Inputs","title":"Customize Weights Formulas","text":"specify core inputs devMSMs functions. createFormulas() function 3 different modes: “full” (Steps 1 & 4), “short” (Step 2), “update” (Step 3), corresponding different steps Workflows vignettes, can customized mode. suggest staying consistent customization throughout use package workflow. recommend sure include measured confounders (mediators colliders) exposure time point weights formulas. Please refer accompanying manuscript details. , illustrate customization options three modes createFormuls() function using information package dataset example. data simulated based data Family Life Project (FLP), longitudinal study following 1,292 families representative two geographic areas (three counties North Carolina three counties Pennsylvania) high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). take example exposure economic strain (ESETA1) measured 6, 15, 24, 35, 58 months relation outcome behavior problems (StrDif_Tot) measured 58 months.","code":"exposure <- c(\"ESETA1.6\", \"ESETA1.15\", \"ESETA1.24\", \"ESETA1.35\", \"ESETA1.58\") tv_conf <- c( \"SAAmylase.6\", \"SAAmylase.15\", \"SAAmylase.24\", \"MDI.6\", \"MDI.15\", \"RHasSO.6\", \"RHasSO.15\", \"RHasSO.24\", \"RHasSO.35\", \"WndNbrhood.6\", \"WndNbrhood.24\", \"WndNbrhood.35\", \"IBRAttn.6\", \"IBRAttn.15\", \"IBRAttn.24\", \"B18Raw.6\", \"B18Raw.15\", \"B18Raw.24\", \"HOMEETA1.6\", \"HOMEETA1.15\", \"HOMEETA1.24\", \"HOMEETA1.35\", \"InRatioCor.6\", \"InRatioCor.15\", \"InRatioCor.24\", \"InRatioCor.35\", \"CORTB.6\", \"CORTB.15\", \"CORTB.24\", \"EARS_TJo.24\", \"EARS_TJo.35\", \"LESMnPos.24\", \"LESMnPos.35\", \"LESMnNeg.24\", \"LESMnNeg.35\", \"StrDif_Tot.35\", \"fscore.35\" ) ti_conf <- c( \"state\", \"BioDadInHH2\", \"PmAge2\", \"PmBlac2\", \"TcBlac2\", \"PmMrSt2\", \"PmEd2\", \"KFASTScr\", \"RMomAgeU\", \"RHealth\", \"HomeOwnd\", \"SWghtLB\", \"SurpPreg\", \"SmokTotl\", \"DrnkFreq\", \"peri_health\", \"caregiv_health\", \"gov_assist\" ) data(sim_data_wide, package = \"devMSMs\") obj <- devMSMs::initMSM( data = sim_data_wide, exposure = exposure, tv_conf = tv_conf, ti_conf = ti_conf )"},{"path":"https://istallworthy.github.io/devMSMs/articles/Customize_Balancing_Formulas.html","id":"customize-full-weights-formulas-steps-1-4","dir":"Articles","previous_headings":"","what":"Customize Full Weights Formulas (Steps 1 & 4)","title":"Customize Weights Formulas","text":"default use createFormulas() type = “full” creates weights formulas exposure time point. formula contains time invariant confounders well time-varying confounders measured time points prior exposure time point. example, 24-month weights formula, time-varying confounders 6 15 months. However, users wish also include time-varying confounders measured contemporaneously exposure time point (e.g., also include 24-month time-varying confounders 24-month weights formula), can specify time-varying confounders optional argument initMSM(), concur_conf. example, include 24-month maternal depression 24-month weights formula, following: first specify confounders retain contemporaneously creating MSM object. Now B18Raw.24 included 24-month weights formula addition 35-58-month formulas.","code":"obj <- devMSMs::initMSM( data = sim_data_wide, exposure = exposure, tv_conf = tv_conf, ti_conf = ti_conf, concur_conf = \"B18Raw.24\" ) full_formulas <- createFormulas(obj = obj, type = \"full\") print(full_formulas) #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 6, the full formula for ESETA1.6 is: #> ESETA1.6 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 15, the full formula for ESETA1.15 is: #> ESETA1.15 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + MDI.6 + RHasSO.6 + WndNbrhood.6 + IBRAttn.6 + B18Raw.6 + HOMEETA1.6 + InRatioCor.6 + CORTB.6 + ESETA1.6 #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 24, the full formula for ESETA1.24 is: #> ESETA1.24 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + SAAmylase.15 + MDI.6 + MDI.15 + RHasSO.6 + RHasSO.15 + WndNbrhood.6 + IBRAttn.6 + IBRAttn.15 + B18Raw.6 + B18Raw.15 + B18Raw.24 + HOMEETA1.6 + HOMEETA1.15 + InRatioCor.6 + InRatioCor.15 + CORTB.6 + CORTB.15 + ESETA1.6 + ESETA1.15 #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 35, the full formula for ESETA1.35 is: #> ESETA1.35 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + SAAmylase.15 + SAAmylase.24 + MDI.6 + MDI.15 + RHasSO.6 + RHasSO.15 + RHasSO.24 + WndNbrhood.6 + WndNbrhood.24 + IBRAttn.6 + IBRAttn.15 + IBRAttn.24 + B18Raw.6 + B18Raw.15 + B18Raw.24 + HOMEETA1.6 + HOMEETA1.15 + HOMEETA1.24 + InRatioCor.6 + InRatioCor.15 + InRatioCor.24 + CORTB.6 + CORTB.15 + CORTB.24 + EARS_TJo.24 + LESMnPos.24 + LESMnNeg.24 + ESETA1.6 + ESETA1.15 + ESETA1.24 #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 58, the full formula for ESETA1.58 is: #> ESETA1.58 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + SAAmylase.15 + SAAmylase.24 + MDI.6 + MDI.15 + RHasSO.6 + RHasSO.15 + RHasSO.24 + RHasSO.35 + WndNbrhood.6 + WndNbrhood.24 + WndNbrhood.35 + IBRAttn.6 + IBRAttn.15 + IBRAttn.24 + B18Raw.6 + B18Raw.15 + B18Raw.24 + HOMEETA1.6 + HOMEETA1.15 + HOMEETA1.24 + HOMEETA1.35 + InRatioCor.6 + InRatioCor.15 + InRatioCor.24 + InRatioCor.35 + CORTB.6 + CORTB.15 + CORTB.24 + EARS_TJo.24 + EARS_TJo.35 + LESMnPos.24 + LESMnPos.35 + LESMnNeg.24 + LESMnNeg.35 + StrDif_Tot.35 + fscore.35 + ESETA1.6 + ESETA1.15 + ESETA1.24 + ESETA1.35"},{"path":"https://istallworthy.github.io/devMSMs/articles/Customize_Balancing_Formulas.html","id":"time-varying-confounders-measured-contemporaneously-with-exposure-time-point","dir":"Articles","previous_headings":"","what":"Time-Varying Confounders Measured Contemporaneously With Exposure Time Point","title":"Customize Weights Formulas","text":"However, users wish also include time-varying confounders measured contemporaneously exposure time point (e.g., also include 24-month time-varying confounders 24-month weights formula), can specify time-varying confounders optional argument initMSM(), concur_conf. example, include 24-month maternal depression 24-month weights formula, following: first specify confounders retain contemporaneously creating MSM object. Now B18Raw.24 included 24-month weights formula addition 35-58-month formulas.","code":"obj <- devMSMs::initMSM( data = sim_data_wide, exposure = exposure, tv_conf = tv_conf, ti_conf = ti_conf, concur_conf = \"B18Raw.24\" ) full_formulas <- createFormulas(obj = obj, type = \"full\") print(full_formulas) #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 6, the full formula for ESETA1.6 is: #> ESETA1.6 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 15, the full formula for ESETA1.15 is: #> ESETA1.15 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + MDI.6 + RHasSO.6 + WndNbrhood.6 + IBRAttn.6 + B18Raw.6 + HOMEETA1.6 + InRatioCor.6 + CORTB.6 + ESETA1.6 #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 24, the full formula for ESETA1.24 is: #> ESETA1.24 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + SAAmylase.15 + MDI.6 + MDI.15 + RHasSO.6 + RHasSO.15 + WndNbrhood.6 + IBRAttn.6 + IBRAttn.15 + B18Raw.6 + B18Raw.15 + B18Raw.24 + HOMEETA1.6 + HOMEETA1.15 + InRatioCor.6 + InRatioCor.15 + CORTB.6 + CORTB.15 + ESETA1.6 + ESETA1.15 #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 35, the full formula for ESETA1.35 is: #> ESETA1.35 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + SAAmylase.15 + SAAmylase.24 + MDI.6 + MDI.15 + RHasSO.6 + RHasSO.15 + RHasSO.24 + WndNbrhood.6 + WndNbrhood.24 + IBRAttn.6 + IBRAttn.15 + IBRAttn.24 + B18Raw.6 + B18Raw.15 + B18Raw.24 + HOMEETA1.6 + HOMEETA1.15 + HOMEETA1.24 + InRatioCor.6 + InRatioCor.15 + InRatioCor.24 + CORTB.6 + CORTB.15 + CORTB.24 + EARS_TJo.24 + LESMnPos.24 + LESMnNeg.24 + ESETA1.6 + ESETA1.15 + ESETA1.24 #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 58, the full formula for ESETA1.58 is: #> ESETA1.58 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + SAAmylase.15 + SAAmylase.24 + MDI.6 + MDI.15 + RHasSO.6 + RHasSO.15 + RHasSO.24 + RHasSO.35 + WndNbrhood.6 + WndNbrhood.24 + WndNbrhood.35 + IBRAttn.6 + IBRAttn.15 + IBRAttn.24 + B18Raw.6 + B18Raw.15 + B18Raw.24 + HOMEETA1.6 + HOMEETA1.15 + HOMEETA1.24 + HOMEETA1.35 + InRatioCor.6 + InRatioCor.15 + InRatioCor.24 + InRatioCor.35 + CORTB.6 + CORTB.15 + CORTB.24 + EARS_TJo.24 + EARS_TJo.35 + LESMnPos.24 + LESMnPos.35 + LESMnNeg.24 + LESMnNeg.35 + StrDif_Tot.35 + fscore.35 + ESETA1.6 + ESETA1.15 + ESETA1.24 + ESETA1.35"},{"path":"https://istallworthy.github.io/devMSMs/articles/Customize_Balancing_Formulas.html","id":"fully-custom-formulas","dir":"Articles","previous_headings":"","what":"Fully Custom Formulas","title":"Customize Weights Formulas","text":"Alternatively, user completely customize full formulas manually creating formulas exposure time point using optional custom argument. create custom formulas, user creates list entry exposure time point, contains weights formula exposure time point. createFormulas() conduct checks ensure formula time point provides cautionary warnings unusual variables (e.g., measured exposure time point). However, user responsible ensuring validity formulas. note, user creates custom “full” formula, also create custom formulas using createFormulas() make “short” “updated” formulas. , illustrate abridged example specifying custom arguments exposure, ESETA1, 6-, 15-, 24-, 35-, 58-month time points. customFormulas() checks retains formulas use package.","code":"custom <- list( ESETA1.6 ~ BioDadInHH2 + DrnkFreq + gov_assist, ESETA1.15 ~ BioDadInHH2 + DrnkFreq + gov_assist, ESETA1.24 ~ BioDadInHH2 + DrnkFreq + gov_assist, ESETA1.35 ~ BioDadInHH2 + DrnkFreq + gov_assist, ESETA1.58 ~ BioDadInHH2 + DrnkFreq + gov_assist ) full_formulas <- createFormulas(obj = obj, custom = custom) print(full_formulas) #> USER ALERT: Please manually inspect the slightly cleaned custom formula below: #> At time point 6, the custom formula for ESETA1.6 is: #> ESETA1.6 ~ BioDadInHH2 + DrnkFreq + gov_assist #> USER ALERT: Please manually inspect the slightly cleaned custom formula below: #> At time point 15, the custom formula for ESETA1.15 is: #> ESETA1.15 ~ BioDadInHH2 + DrnkFreq + gov_assist #> USER ALERT: Please manually inspect the slightly cleaned custom formula below: #> At time point 24, the custom formula for ESETA1.24 is: #> ESETA1.24 ~ BioDadInHH2 + DrnkFreq + gov_assist #> USER ALERT: Please manually inspect the slightly cleaned custom formula below: #> At time point 35, the custom formula for ESETA1.35 is: #> ESETA1.35 ~ BioDadInHH2 + DrnkFreq + gov_assist #> USER ALERT: Please manually inspect the slightly cleaned custom formula below: #> At time point 58, the custom formula for ESETA1.58 is: #> ESETA1.58 ~ BioDadInHH2 + DrnkFreq + gov_assist"},{"path":"https://istallworthy.github.io/devMSMs/articles/Customize_Balancing_Formulas.html","id":"customize-short-weights-formulas-step-2","dir":"Articles","previous_headings":"","what":"Customize Short Weights Formulas (Step 2)","title":"Customize Weights Formulas","text":"default use createFormulas() type = “short” creates shortened weights formulas exposure time point. formula contains time invariant confounders well time-varying confounders measured time point directly prior (t-1 lag) exposure time point. example, 24-month weights formula, include time-varying confounders 15 months. Please see Workflows vignettes accompanying manuscript detail. creating short formulas, user can specify optional concur_conf custom arguments detailed . note, createFormulas() check formulas custom field meet criteria shortened formula, thus user responsible ensuring validity formulas. creating short formulas, user can also specify optional keep_conf argument. Users specify second argument time-varying confounders always retain formulas, lagged form, overriding t-1 lag default. Users may wish use argument time-varying confounders highly consistent time strong reasons include initial phase selecting optimal weighting method (see Workflows vignettes details). Note unless variables also specified concuf_conf, retained lagged form. example, always retain income formulas lagged form, overriding t-1 lag default via keep_conf. shown , createFormulas function now retains income 6 months 15-, 24-, 35-, 58-month formulas, overriding t-1 lag rule variable. Without specification, income 6 months omitted formulas exposure 24, 35, 58 months.","code":"short_formulas <- createFormulas(obj = obj, type = \"short\", keep_conf = c(\"InRatioCor.6\")) print(short_formulas) #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 6, the short formula for ESETA1.6 is: #> ESETA1.6 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 15, the short formula for ESETA1.15 is: #> ESETA1.15 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + MDI.6 + RHasSO.6 + WndNbrhood.6 + IBRAttn.6 + B18Raw.6 + HOMEETA1.6 + InRatioCor.6 + CORTB.6 + ESETA1.6 #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 24, the short formula for ESETA1.24 is: #> ESETA1.24 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.15 + MDI.15 + RHasSO.15 + IBRAttn.15 + B18Raw.15 + B18Raw.24 + HOMEETA1.15 + InRatioCor.15 + CORTB.15 + ESETA1.15 + InRatioCor.6 #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 35, the short formula for ESETA1.35 is: #> ESETA1.35 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.24 + RHasSO.24 + WndNbrhood.24 + IBRAttn.24 + HOMEETA1.24 + InRatioCor.24 + CORTB.24 + EARS_TJo.24 + LESMnPos.24 + LESMnNeg.24 + ESETA1.24 + InRatioCor.6 #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 58, the short formula for ESETA1.58 is: #> ESETA1.58 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + RHasSO.35 + WndNbrhood.35 + HOMEETA1.35 + InRatioCor.35 + EARS_TJo.35 + LESMnPos.35 + LESMnNeg.35 + StrDif_Tot.35 + fscore.35 + ESETA1.35 + InRatioCor.6"},{"path":"https://istallworthy.github.io/devMSMs/articles/Customize_Balancing_Formulas.html","id":"customize-updated-weights-formulas-step-3","dir":"Articles","previous_headings":"","what":"Customize Updated Weights Formulas (Step 3)","title":"Customize Weights Formulas","text":"default use createFormulas() type = “update” creates updated weights formulas exposure time point. formula contains time invariant confounders; time-varying confounders measured time point directly prior (t-1 lag) exposure time point; well time-varying confounders greater lags successfully balanced using short weights formulas. creating updated formulas, user can specify optional concur_conf, keep_conf, custom arguments detailed . note, createFormulas() check formulas custom field meet criteria updated formula identify imbalanced confounders, user responsible ensuring validity formulas.","code":""},{"path":"https://istallworthy.github.io/devMSMs/articles/Data_Requirements.html","id":"data-requirements","dir":"Articles","previous_headings":"","what":"Data Requirements","title":"Data Requirements & Preparation","text":"recommend considering several data requirements prior using devMSMs vignettes. MSMs useful strengthening causal inference using longitudinal data include exposure confounders vary time prior outcome. minimum, devMSMs requires two time point data exposure measured least outcome measured second time point, least one confounder. exposure can binary (integer class) continuous (numeric class), assumptions distributions outcome confounders. highly recommend using continuous variables appropriate possible avoid information loss inherent binarizing continuous variable. Although gold standard recommendation, suggest users select exposures within-person variation reasonable delineate different histories “high” “low” levels avoid extrapolation. outcome time point must last time point exposure measured time point last exposure measurement time point. cases outcome variable constitutes growth process final time point, advise choosing reasonable measure balancing purposes (e.g., baseline average levels) subsequently using generated weights separately conduct weighted growth model outcome. advise user specify include dataset time invariant time-varying variables possibly confound relation exposure outcome. also suggest using multiple measured variables within construct help reduce effects measurement bias (Kainz et al., 2017). Time varying confounders ideal maximizing power MSMs. Time-varying confounders include developmental indicators tend track exposure time also cause outcome, including past levels exposure. note, time points confounders collected must equal , subset , time points exposure outcome collected data. perfect world, exposures potential confounders measured time points prior outcome. However, real-world data due planned unplanned missingness, often case. Users consider discussing implications limitations conferred variables confounders collected time points. basis specifying confounders, users turn literature delineate causal model lays hypothesized relations confounders, exposures, outcome. advise users implement appropriate preliminary steps, goal assigning ‘data’ one following wide data formats (see Figure 1) use package: single data frame data wide format missing data mids object (output mice::mice()) data imputed wide format list data imputed wide format data frames. shown Figure 1, use devMSMs package, data 3 formats, must wide contain “ID” column subject identifier exposure, outcome, confounders separate columns (shown Figure 1). Column names can include underscore special characters time-varying variables suffix consists period followed time point (e.g., “variable.6”). variables classed integer, numeric, factor (character). Auxiliary nuisance covariates confounders (e.g, assessment version) can included dataset use specification final modeling step (Workflow vignettes Step 5). Abridged example structure wide dataset formatted required devMSMs. Column denotes ID variable, column B (green) denotes time -variant confounder (e.g., race, birth information), columns C - F denote two time-varying confounders (lighter yellow) two different time points (e.g., age.1, age.2 income.1, income.2, .1 represents wave 1 .2 represents wave 2). Columns G - denote exposure outcome interest (darker yellow), G H time-varying values exposure, column outcome value final wave/timepoint. Missing data denoted NA need imputed (Step P2).","code":"#> id ti_X tv_Y1.1 tv_Y1.2 tv_Y2.1 tv_Y2.2 exposure.1 exposure.2 outcome.2 #> 1 1 0.5 50 65 NA 0.04 3 4 80 #> 2 2 NA 33 57 0.08 0.03 5 3 68 #> 3 3 0.3 68 NA 0.01 0.02 6 8 59"},{"path":"https://istallworthy.github.io/devMSMs/articles/Data_Requirements.html","id":"loading-packages","dir":"Articles","previous_headings":"","what":"Loading packages","title":"Data Requirements & Preparation","text":"","code":"options(repos = c(CRAN = \"https://cloud.r-project.org/\")) install.packages(\"devtools\") require(devtools, quietly = TRUE) require(tinytable, quietly = TRUE) devtools::install_github(\"istallworthy/devMSMs\", quiet = TRUE) devtools::install_github(\"istallworthy/devMSMsHelpers\", quiet = TRUE) library(devMSMsHelpers)"},{"path":"https://istallworthy.github.io/devMSMs/articles/Data_Requirements.html","id":"exploring-devmsms-package-data","dir":"Articles","previous_headings":"","what":"Exploring devMSMs Package Data","title":"Data Requirements & Preparation","text":"following longitudinal data accompany devMSMs simulated based data Family Life Project (FLP), longitudinal study following 1,292 families representative two geographic areas (three counties North Carolina three counties Pennsylvania) high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). take example exposure economic strain (ESETA1) measured 6, 15, 24, 35, 58 months relation outcome behavior problems (StrDif_Tot) measured 58 months. devMSMs (see Workflows vignettes) requires complete data wide format (.e., one row per individual, “ID” column identifiers), one three ways: single data frame missing data; imputed data form mids object (output mice::mice()); imputed data list imputed data frames. helper functions (summarized Table 1) following recommended preliminary steps can found Github. note, devMSMs must also installed loaded use helper functions (see Installation). first install devMSMs devMSMsHelpers packages. Preliminary steps P1 (formulate hypotheses) P2 (create DAG) detailed accompanying manuscript. following recommended preliminary steps designed assist user preparing inspecting data ensure appropriate use package.","code":"data(\"sim_data_wide\", package = \"devMSMs\") head(sim_data_wide, n = c(5, 10)) #> ID state TcBlac2 BioDadInHH2 HomeOwnd KFASTScr PmBlac2 PmEd2 PmMrSt2 PmAge2 #> 1 1 0 0 1 1 24 0 15 1 27.245 #> 2 2 1 1 0 2 27 1 17 0 32.292 #> 3 3 0 0 0 3 15 1 13 1 25.588 #> 4 4 1 0 0 2 17 0 14 0 22.664 #> 5 5 0 0 1 1 25 0 20 1 41.153 require(\"mice\", quietly = TRUE) #> #> Attaching package: 'mice' #> The following object is masked from 'package:stats': #> #> filter #> The following objects are masked from 'package:base': #> #> cbind, rbind data(\"sim_data_mice\", package = \"devMSMs\") class(sim_data_mice) #> [1] \"mids\" head(mice::complete(sim_data_mice, 1), n = c(5, 10)) #> ALI_Le.35 B18Raw.15 B18Raw.24 B18Raw.58 B18Raw.6 BioDadInHH2 caregiv_health #> 1 3 1 1 7 16 1 3 #> 2 2 4 -7 7 0 0 0 #> 3 3 6 5 20 -1 0 3 #> 4 4 24 25 17 11 0 3 #> 5 3 -8 -9 17 1 1 2 #> CORTB.15 CORTB.24 CORTB.6 #> 1 -0.227 -0.652 0.742 #> 2 0.149 0.831 0.018 #> 3 1.145 0.033 -0.379 #> 4 0.301 -0.501 0.000 #> 5 -0.247 0.084 0.153 data(\"sim_data_imp_list\", package = \"devMSMs\") head(sim_data_imp_list[[1]], n = c(5, 10)) #> X ALI_Le.35 B18Raw.15 B18Raw.24 B18Raw.58 B18Raw.6 BioDadInHH2 caregiv_health #> 1 1 3 1 1 7 16 1 3 #> 2 2 2 4 -7 7 0 0 0 #> 3 3 3 6 5 20 -1 0 3 #> 4 4 4 24 25 17 11 0 3 #> 5 5 3 -8 -9 17 1 1 2 #> CORTB.15 CORTB.24 #> 1 -0.227 -0.652 #> 2 0.149 0.831 #> 3 1.145 0.033 #> 4 0.301 -0.501 #> 5 -0.247 0.084 #> [1] \"\" install.packages(\"devtools\") require(devtools, quietly = TRUE) devtools::install_github(\"istallworthy/devMSMs\", quiet = TRUE) devtools::install_github(\"istallworthy/devMSMsHelpers\", quiet = TRUE) library(devMSMs) library(devMSMsHelpers)"},{"path":"https://istallworthy.github.io/devMSMs/articles/Data_Requirements.html","id":"p3--specify-core-inputs","dir":"Articles","previous_headings":"","what":"P3. Specify Core Inputs","title":"Data Requirements & Preparation","text":"Please see Specifying Core Inputs vignette detail following core inputs. , use ESETA1, measure economic strain experienced family, exposure StrDif_Tot, behavior problems measured SDQ, outcome.","code":"set.seed(1234) exposure = c(\"ESETA1.6\", \"ESETA1.15\", \"ESETA1.24\", \"ESETA1.35\", \"ESETA1.58\") ti_conf = c(\"state\", \"BioDadInHH2\", \"PmAge2\", \"PmBlac2\", \"TcBlac2\", \"PmMrSt2\", \"PmEd2\", \"KFASTScr\", \"RMomAgeU\", \"RHealth\", \"HomeOwnd\", \"SWghtLB\", \"SurpPreg\", \"SmokTotl\", \"DrnkFreq\", \"peri_health\", \"caregiv_health\", \"gov_assist\") tv_conf = c(\"SAAmylase.6\",\"SAAmylase.15\", \"SAAmylase.24\", \"MDI.6\", \"MDI.15\", \"RHasSO.6\", \"RHasSO.15\", \"RHasSO.24\",\"RHasSO.35\", \"WndNbrhood.6\",\"WndNbrhood.24\", \"WndNbrhood.35\", \"IBRAttn.6\", \"IBRAttn.15\", \"IBRAttn.24\", \"B18Raw.6\", \"B18Raw.15\", \"B18Raw.24\", \"HOMEETA1.6\", \"HOMEETA1.15\", \"HOMEETA1.24\", \"HOMEETA1.35\", \"InRatioCor.6\", \"InRatioCor.15\", \"InRatioCor.24\", \"InRatioCor.35\", \"CORTB.6\", \"CORTB.15\", \"CORTB.24\", \"EARS_TJo.24\", \"EARS_TJo.35\", \"LESMnPos.24\", \"LESMnPos.35\", \"LESMnNeg.24\", \"LESMnNeg.35\", \"StrDif_Tot.35\", \"fscore.35\") # home_dir = NA outcome <- \"StrDif_Tot.58\""},{"path":"https://istallworthy.github.io/devMSMs/articles/Data_Requirements.html","id":"p4-data-preparation-inspection","dir":"Articles","previous_headings":"","what":"P4 Data Preparation & Inspection","title":"Data Requirements & Preparation","text":"helper functions optional arguments suppress saving output locally (save.= FALSE) printing console ( verbose = FALSE). defaults arguments TRUE. Users must supply path home directory save.= TRUE. shown Figure 2, users several options reading data. can begin workflow following options: (P4.1) long data: complete missingness can formatted converted wide data (P4.3) imputed needed (P4.2) wide data: complete missingness can formatted (P4.3) imputed needed (P4.3) data already imputed wide format can read list Figure 2. Schematic recommended preliminary steps showing transformation 3 different kinds starting data (enumerated bold) three kinds data accepted devMSMs. Users beginning single data frame long format (without missingness) can utilize helper function formatLongData() summarize exposure outcome data convert required variable names. First, load simulated longitudinal data long format (missingness) accompanies devMSMs. data simulated based data Family Life Project (FLP), longitudinal study following 1,292 families representative two geographic areas (three counties North Carolina three counties Pennsylvania) high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). take example exposure economic strain (ESETA1) measured 6, 15, 24, 35, 58 months relation outcome behavior problems (StrDif_Tot) measured 58 months. long data correctly formatted, formatLongData() allows users supply existing variables time (time_var), ID (id_var), missing data (missing) re-naming according required package. also allows user submit variables factors integers, function classes factor confounders (factor_confounders) factors, integer confounders (integer_confounders) integers data, others numeric. sep field allows specify delimeter integer indicates time point variable names. , format simulated long FLP data. get descriptive statistics summary exposure, ESETA1, outcome, StrDif_Tot.58, visual inspections. Users correctly formatted data long format option using following code transform data wide format, proceed using package (missing data) imputing (< 20% missing data MAR). transform newly formatted long data wide format, specifying idvar “ID”, timevar “WAVE”, supplying time points (encompassing exposure, confounder, outcome time points) data 6, 15, 24, 35, 58 times. Alternatively, users start single data frame wide data (without missingness). , load single complete, wide data frame simulated FLP example. Data missingness common human data. read simulated wide FLP data missingness. Users beginning single unformatted data frame long format can utilize helper function formatWideData() summarize exposure outcome data convert required variable names. formatWideData() allows users supply existing variables ID (id_var) missing data (missing) re-naming according required package. also allows user submit variables factors integers, function classes factor confounders (factor_confounders) factors, integer confounders (integer_confounders) integers data, others numeric. user can also specify time point delimeter (sep). , format simulated wide FLP data listing variables make factors integers wide format (e.g., “variable.t”), well ID missingness indicators. functions devMSMs package accept data form single data frame missing values m imputed datasets form either mids object (output mice package via imputeData()) list imputed datasets. developmental data humans amount missing data. Given creation IPTW balancing weights requires complete data, recommend imputing data. Imputation assumes missing data mechanism missing random (MAR) 20% missing data total (Leyrat et al., 2021). Given existing work demonstrating superiority, devMSMS implements ‘within’ approach imputed data, conducting steps imputed dataset pooling estimates using Rubin’s rules create final average predictions contrast comparisons Worfklows vignettes Step 5 (Leyrat et al, 2021; Granger et al., 2019). shown , users can use helper function impute wide data impute elsewhere read imputed data list use devMSMs. Users option using helper imputeData() function impute correctly formatted wide data. step can take run. user can specify many imputed datasets create (default m = 5). imputeData() draws mice() function mice package (van Buuren & Oudshoorn, 2011) conduct multiple imputation chained equations (mice). variables present dataset used impute missing data column. user can specify imputation method method field drawing following list: “pmm” (predictive mean matching), “midastouch” (weighted predictive mean matching), “sample” (random sample observed values), “rf” (random forest) “cart” (classification regression trees). Random forest imputation default given evidence efficiency superior performance (Shah et al., 2014). Please review mice documentation details. Additionally, users can specify integer value seed order offset random number generator mice() make reproducible imputations. parameter read_imps_from_file allow read already imputed data local storage (TRUE) re-run imputation code multiple times (FALSE; default). Users may use parameter supply mids object imputed data mice package (title ‘all_imp.rds’). sure inspect console warnings well resulting imputed datasets. variables missing data following imputation may need removed due high collinearity /low variability. required inputs function data frame wide format (formatted according pre-requirements listed ), m number imputed datasets create, path home directory (save.= TRUE), exposure (e.g., “variable”), outcome (e.g., “variable.t”). home directory path, exposure, outcome already defined user completed Specifying Core Inputs vignette. optional inputs follows. user can specify imputation method compatible mice() (see ). Additionally, user can specify maxit number interactions mice::mice() conduct (default 5). user can also specify para_proc, logical indicator indicating whether speed imputing using parallel processing (default = TRUE). draws 2 cores using functions parallel, doRNG, doParallel packages. user may also specify additional inputs accepted mice::mice() advise consulting [mice documentation] information. user can also indicate already created imputed datasets function wish read (read_imps_from_file = TRUE rather recreate (default). example, create 2 imputed datasets using default random forest method 0 iterations (just illustrative purposes), set seed reproducibility, assign output data use devMSMs. code takes time run. (Note: given challenges imputing data .rda files, set m = 2 maxit = 0 just illustrative purposes. recommend setting m = 5 maxit = 5 (mice default) running data.) inspect output console warnings mice(). mice object can now assigned data use deveMSMs package (see Workflows vignettes). Alternatively, user imputed datasets already created wide, formatted data using program mice, can read , list, files saved locally .csv files single folder. list can assigned data use deveMSMs package (see Workflows vignettes). , load list imputed data simulated FLP, example. (See example Rmarkdown file code files saved locally.)","code":"save.out <- FALSE verbose <- TRUE data(\"sim_data_long_miss\", package = \"devMSMs\") data_long <- sim_data_long_miss head(data_long, n = c(5, 10)) #> ID state BioDadInHH2 PmAge2 PmBlac2 TcBlac2 PmMrSt2 PmEd2 KFASTScr RMomAgeU #> 1 1 0 1 27.245 0 0 1 15 24 29 #> 2 1 0 1 27.245 0 0 1 15 24 29 #> 3 1 0 1 27.245 0 0 1 15 24 29 #> 4 1 0 1 27.245 0 0 1 15 24 29 #> 5 1 0 1 27.245 0 0 1 15 24 29 factor_confounders <- c(\"state\", \"TcBlac2\", \"BioDadInHH2\", \"HomeOwnd\", \"PmBlac2\", \"PmMrSt2\", \"SurpPreg\", \"RHealth\", \"SmokTotl\", \"DrnkFreq\", \"RHasSO\") integer_confounders <- c(\"KFASTScr\", \"PmEd2\", \"RMomAgeU\", \"SWghtLB\", \"peri_health\", \"caregiv_health\", \"gov_assist\", \"B18Raw\", \"EARS_TJo\", \"MDI\") data_long_f <- formatLongData( data = data_long, exposure = exposure, outcome = outcome, sep = \"\\\\.\", time_var = \"WAVE\", id_var = \"ID\", missing = NA, factor_confounders = factor_confounders, integer_confounders = integer_confounders, home_dir = home_dir, save.out = save.out ) #> Table: Summary of ESETA1 Information #> #> |WAVE | mean| sd| min| max| #> |:----|---------:|---------:|------:|-----:| #> |15 | 0.2983433| 0.9261390| -2.699| 3.474| #> |24 | 0.1585387| 0.9575181| -2.858| 3.284| #> |35 | 0.1388395| 0.9475905| -3.046| 3.014| #> |58 | 0.0996006| 0.9924516| -2.478| 3.173| #> |6 | 0.3337979| 0.9298080| -2.809| 4.035| #> #> Table: Summary of StrDif_Tot Information #> #> |WAVE | mean| sd| min| max| #> |:----|---------:|---------:|------:|-----:| #> |35 | 0.6009797| 0.2830620| -0.230| 1.536| #> |58 | 0.5029778| 0.2931918| -0.281| 1.448| #> Warning in formatLongData(data = data_long, exposure = exposure, outcome = #> outcome, : The following variables are characters. Please change them to #> integers and re-run: WAVE head(data_long_f, n = c(5, 10)) #> ID state BioDadInHH2 PmAge2 PmBlac2 TcBlac2 PmMrSt2 PmEd2 KFASTScr RMomAgeU #> 1 1 0 1 27.245 0 0 1 15 24 29 #> 2 1 0 1 27.245 0 0 1 15 24 29 #> 3 1 0 1 27.245 0 0 1 15 24 29 #> 4 1 0 1 27.245 0 0 1 15 24 29 #> 5 1 0 1 27.245 0 0 1 15 24 29 require(\"stats\", quietly = TRUE) sep <- \"\\\\.\" v <- sapply(strsplit(tv_conf[!grepl(\"\\\\:\", tv_conf)], sep), head, 1) v <- c(v[!duplicated(v)], sapply(strsplit(exposure[1], sep), head, 1)) data_wide_f <- stats::reshape( data = data_long_f, idvar = \"ID\", v.names = v, timevar = \"WAVE\", times = c(6, 15, 24, 35, 58), direction = \"wide\" ) data_wide_f <- data_wide_f[, colSums(is.na(data_wide_f)) < nrow(data_wide_f)] head(data_wide_f, n = c(5, 10)) #> ID state BioDadInHH2 PmAge2 PmBlac2 TcBlac2 PmMrSt2 PmEd2 KFASTScr #> 1 1 0 1 27.245 0 0 1 15 24 #> 6 10 1 0 16.014 0 1 0 13 18 #> 11 100 1 0 31.042 1 1 1 14 15 #> 16 1000 1 0 23.597 1 1 1 10 14 #> 21 1001 1 0 25.592 1 1 1 13 23 #> RMomAgeU #> 1 29 #> 6 30 #> 11 25 #> 16 31 #> 21 27 data(\"sim_data_wide\", package = \"devMSMs\") data_wide <- sim_data_wide head(data_wide, n = c(5, 10)) #> ID state TcBlac2 BioDadInHH2 HomeOwnd KFASTScr PmBlac2 PmEd2 PmMrSt2 PmAge2 #> 1 1 0 0 1 1 24 0 15 1 27.245 #> 2 2 1 1 0 2 27 1 17 0 32.292 #> 3 3 0 0 0 3 15 1 13 1 25.588 #> 4 4 1 0 0 2 17 0 14 0 22.664 #> 5 5 0 0 1 1 25 0 20 1 41.153 data(\"sim_data_wide_miss\", package = \"devMSMs\") data_wide <- sim_data_wide_miss head(data_wide, n = c(5, 10)) #> ID state TcBlac2 BioDadInHH2 HomeOwnd KFASTScr PmBlac2 PmEd2 PmMrSt2 PmAge2 #> 1 1 0 0 1 1 24 0 15 1 27.245 #> 2 2 1 1 0 2 27 1 17 0 32.292 #> 3 3 0 0 0 3 15 1 13 1 25.588 #> 4 4 1 0 0 2 17 0 14 0 22.664 #> 5 5 0 0 1 1 25 0 20 1 41.153 factor_confounders <- c( \"state\", \"TcBlac2\", \"BioDadInHH2\", \"HomeOwnd\", \"PmBlac2\", \"PmMrSt2\", \"SurpPreg\", \"RHealth\", \"SmokTotl\", \"DrnkFreq\", \"RHasSO.6\", \"RHasSO.15\", \"RHasSO.24\", \"RHasSO.35\" ) integer_confounders <- c( \"KFASTScr\", \"PmEd2\", \"RMomAgeU\", \"SWghtLB\", \"peri_health\", \"caregiv_health\", \"gov_assist\", \"B18Raw.6\", \"B18Raw.15\", \"B18Raw.24\", \"EARS_TJo.24\", \"EARS_TJo.35\", \"MDI.6\", \"MDI.15\" ) data_wide_f <- formatWideData( data = data_wide, exposure = exposure, outcome = outcome, sep = \"\\\\.\", id_var = \"ID\", missing = NA, factor_confounders = factor_confounders, integer_confounders = integer_confounders, home_dir = home_dir, save.out = save.out ) #> #> #> #>
Summary of ESETA1 Information<\/caption> #>
#> #> | | ESETA1.6 | ESETA1.15 | ESETA1.24 | ESETA1.35 | ESETA1.58 | #> |:--|:---------------|:---------------|:---------------|:---------------|:---------------| #> | |Min. :-2.8090 |Min. :-3.1010 |Min. :-2.8580 |Min. :-3.2410 |Min. :-2.4780 | #> | |1st Qu.:-0.3058 |1st Qu.:-0.3495 |1st Qu.:-0.4510 |1st Qu.:-0.5220 |1st Qu.:-0.4968 | #> | |Median : 0.3735 |Median : 0.2745 |Median : 0.1635 |Median : 0.1140 |Median : 0.1275 | #> | |Mean : 0.3405 |Mean : 0.2664 |Mean : 0.1591 |Mean : 0.1229 |Mean : 0.1159 | #> | |3rd Qu.: 0.9617 |3rd Qu.: 0.9217 |3rd Qu.: 0.8015 |3rd Qu.: 0.7750 |3rd Qu.: 0.7515 | #> | |Max. : 4.0350 |Max. : 3.4740 |Max. : 3.2840 |Max. : 3.0140 |Max. : 3.1730 | #> | |NA's :258 |NA's :258 |NA's :258 |NA's :258 |NA's :258 | #> #> <\/td> #> <\/tr> #> <\/tbody> #> <\/table> #> #> Table: Summary of StrDif_Tot.58 Information #> #> | Min.| X1st.Qu.| Median| Mean| X3rd.Qu.| Max.| NA.s| #> |------:|--------:|------:|---------:|--------:|-----:|----:| #> | -0.497| 0.29825| 0.488| 0.4989333| 0.7055| 1.448| 258| head(data_wide_f, n = c(5, 10)) #> ID state TcBlac2 BioDadInHH2 HomeOwnd KFASTScr PmBlac2 PmEd2 PmMrSt2 PmAge2 #> 1 1 0 0 1 1 24 0 15 1 27.245 #> 2 2 1 1 0 2 27 1 17 0 32.292 #> 3 3 0 0 0 3 15 1 13 1 25.588 #> 4 4 1 0 0 2 17 0 14 0 22.664 #> 5 5 0 0 1 1 25 0 20 1 41.153 s <- 1234 m <- 2 method <- \"rf\" maxit <- 0 imputed_data <- imputeData( data = data_wide_f, exposure = exposure, outcome = outcome, sep = \"\\\\.\", m = m, method = method, maxit = maxit, para_proc = FALSE, seed = s, read_imps_from_file = FALSE, home_dir = home_dir, save.out = save.out ) #> Creating 2 imputed datasets using the rf imputation method in mice::mice(). This may take some time to run. #> #> #> USER ALERT: Please view any logged events from the imputation below: #> Table: Logged Events from mice::mice head(mice::complete(imputed_data, 1), n = c(5, 10)) #> ALI_Le.35 B18Raw.15 B18Raw.24 B18Raw.58 B18Raw.6 BioDadInHH2 caregiv_health #> 1 3 1 1 0 -4 1 3 #> 2 2 5 -7 7 0 0 0 #> 3 3 6 5 20 -1 0 3 #> 4 4 24 25 17 11 0 3 #> 5 3 -8 1 3 1 1 2 #> CORTB.15 CORTB.24 CORTB.6 #> 1 -0.227 -0.652 0.742 #> 2 0.654 0.397 0.018 #> 3 1.145 0.033 -0.379 #> 4 0.301 -0.501 0.000 #> 5 -0.247 0.084 0.153 data <- imputed_data data(\"sim_data_imp_list\", package = \"devMSMs\") data <- sim_data_imp_list head(data[[1]], n = c(5, 10)) #> X ALI_Le.35 B18Raw.15 B18Raw.24 B18Raw.58 B18Raw.6 BioDadInHH2 caregiv_health #> 1 1 3 1 1 7 16 1 3 #> 2 2 2 4 -7 7 0 0 0 #> 3 3 3 6 5 20 -1 0 3 #> 4 4 4 24 25 17 11 0 3 #> 5 5 3 -8 -9 17 1 1 2 #> CORTB.15 CORTB.24 #> 1 -0.227 -0.652 #> 2 0.149 0.831 #> 3 1.145 0.033 #> 4 0.301 -0.501 #> 5 -0.247 0.084"},{"path":"https://istallworthy.github.io/devMSMs/articles/Data_Requirements.html","id":"p4-1--single-long-data-frame","dir":"Articles","previous_headings":"","what":"P4.1. Single Long Data Frame","title":"Data Requirements & Preparation","text":"Users beginning single data frame long format (without missingness) can utilize helper function formatLongData() summarize exposure outcome data convert required variable names. First, load simulated longitudinal data long format (missingness) accompanies devMSMs. data simulated based data Family Life Project (FLP), longitudinal study following 1,292 families representative two geographic areas (three counties North Carolina three counties Pennsylvania) high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). take example exposure economic strain (ESETA1) measured 6, 15, 24, 35, 58 months relation outcome behavior problems (StrDif_Tot) measured 58 months. long data correctly formatted, formatLongData() allows users supply existing variables time (time_var), ID (id_var), missing data (missing) re-naming according required package. also allows user submit variables factors integers, function classes factor confounders (factor_confounders) factors, integer confounders (integer_confounders) integers data, others numeric. sep field allows specify delimeter integer indicates time point variable names. , format simulated long FLP data. get descriptive statistics summary exposure, ESETA1, outcome, StrDif_Tot.58, visual inspections. Users correctly formatted data long format option using following code transform data wide format, proceed using package (missing data) imputing (< 20% missing data MAR). transform newly formatted long data wide format, specifying idvar “ID”, timevar “WAVE”, supplying time points (encompassing exposure, confounder, outcome time points) data 6, 15, 24, 35, 58 times.","code":"data(\"sim_data_long_miss\", package = \"devMSMs\") data_long <- sim_data_long_miss head(data_long, n = c(5, 10)) #> ID state BioDadInHH2 PmAge2 PmBlac2 TcBlac2 PmMrSt2 PmEd2 KFASTScr RMomAgeU #> 1 1 0 1 27.245 0 0 1 15 24 29 #> 2 1 0 1 27.245 0 0 1 15 24 29 #> 3 1 0 1 27.245 0 0 1 15 24 29 #> 4 1 0 1 27.245 0 0 1 15 24 29 #> 5 1 0 1 27.245 0 0 1 15 24 29 factor_confounders <- c(\"state\", \"TcBlac2\", \"BioDadInHH2\", \"HomeOwnd\", \"PmBlac2\", \"PmMrSt2\", \"SurpPreg\", \"RHealth\", \"SmokTotl\", \"DrnkFreq\", \"RHasSO\") integer_confounders <- c(\"KFASTScr\", \"PmEd2\", \"RMomAgeU\", \"SWghtLB\", \"peri_health\", \"caregiv_health\", \"gov_assist\", \"B18Raw\", \"EARS_TJo\", \"MDI\") data_long_f <- formatLongData( data = data_long, exposure = exposure, outcome = outcome, sep = \"\\\\.\", time_var = \"WAVE\", id_var = \"ID\", missing = NA, factor_confounders = factor_confounders, integer_confounders = integer_confounders, home_dir = home_dir, save.out = save.out ) #> Table: Summary of ESETA1 Information #> #> |WAVE | mean| sd| min| max| #> |:----|---------:|---------:|------:|-----:| #> |15 | 0.2983433| 0.9261390| -2.699| 3.474| #> |24 | 0.1585387| 0.9575181| -2.858| 3.284| #> |35 | 0.1388395| 0.9475905| -3.046| 3.014| #> |58 | 0.0996006| 0.9924516| -2.478| 3.173| #> |6 | 0.3337979| 0.9298080| -2.809| 4.035| #> #> Table: Summary of StrDif_Tot Information #> #> |WAVE | mean| sd| min| max| #> |:----|---------:|---------:|------:|-----:| #> |35 | 0.6009797| 0.2830620| -0.230| 1.536| #> |58 | 0.5029778| 0.2931918| -0.281| 1.448| #> Warning in formatLongData(data = data_long, exposure = exposure, outcome = #> outcome, : The following variables are characters. Please change them to #> integers and re-run: WAVE head(data_long_f, n = c(5, 10)) #> ID state BioDadInHH2 PmAge2 PmBlac2 TcBlac2 PmMrSt2 PmEd2 KFASTScr RMomAgeU #> 1 1 0 1 27.245 0 0 1 15 24 29 #> 2 1 0 1 27.245 0 0 1 15 24 29 #> 3 1 0 1 27.245 0 0 1 15 24 29 #> 4 1 0 1 27.245 0 0 1 15 24 29 #> 5 1 0 1 27.245 0 0 1 15 24 29 require(\"stats\", quietly = TRUE) sep <- \"\\\\.\" v <- sapply(strsplit(tv_conf[!grepl(\"\\\\:\", tv_conf)], sep), head, 1) v <- c(v[!duplicated(v)], sapply(strsplit(exposure[1], sep), head, 1)) data_wide_f <- stats::reshape( data = data_long_f, idvar = \"ID\", v.names = v, timevar = \"WAVE\", times = c(6, 15, 24, 35, 58), direction = \"wide\" ) data_wide_f <- data_wide_f[, colSums(is.na(data_wide_f)) < nrow(data_wide_f)] head(data_wide_f, n = c(5, 10)) #> ID state BioDadInHH2 PmAge2 PmBlac2 TcBlac2 PmMrSt2 PmEd2 KFASTScr #> 1 1 0 1 27.245 0 0 1 15 24 #> 6 10 1 0 16.014 0 1 0 13 18 #> 11 100 1 0 31.042 1 1 1 14 15 #> 16 1000 1 0 23.597 1 1 1 10 14 #> 21 1001 1 0 25.592 1 1 1 13 23 #> RMomAgeU #> 1 29 #> 6 30 #> 11 25 #> 16 31 #> 21 27"},{"path":"https://istallworthy.github.io/devMSMs/articles/Data_Requirements.html","id":"p4-1a--format-long-data","dir":"Articles","previous_headings":"P4 Data Preparation & Inspection","what":"P4.1a. Format Long Data","title":"Data Requirements & Preparation","text":"long data correctly formatted, formatLongData() allows users supply existing variables time (time_var), ID (id_var), missing data (missing) re-naming according required package. also allows user submit variables factors integers, function classes factor confounders (factor_confounders) factors, integer confounders (integer_confounders) integers data, others numeric. sep field allows specify delimeter integer indicates time point variable names. , format simulated long FLP data. get descriptive statistics summary exposure, ESETA1, outcome, StrDif_Tot.58, visual inspections.","code":"factor_confounders <- c(\"state\", \"TcBlac2\", \"BioDadInHH2\", \"HomeOwnd\", \"PmBlac2\", \"PmMrSt2\", \"SurpPreg\", \"RHealth\", \"SmokTotl\", \"DrnkFreq\", \"RHasSO\") integer_confounders <- c(\"KFASTScr\", \"PmEd2\", \"RMomAgeU\", \"SWghtLB\", \"peri_health\", \"caregiv_health\", \"gov_assist\", \"B18Raw\", \"EARS_TJo\", \"MDI\") data_long_f <- formatLongData( data = data_long, exposure = exposure, outcome = outcome, sep = \"\\\\.\", time_var = \"WAVE\", id_var = \"ID\", missing = NA, factor_confounders = factor_confounders, integer_confounders = integer_confounders, home_dir = home_dir, save.out = save.out ) #> Table: Summary of ESETA1 Information #> #> |WAVE | mean| sd| min| max| #> |:----|---------:|---------:|------:|-----:| #> |15 | 0.2983433| 0.9261390| -2.699| 3.474| #> |24 | 0.1585387| 0.9575181| -2.858| 3.284| #> |35 | 0.1388395| 0.9475905| -3.046| 3.014| #> |58 | 0.0996006| 0.9924516| -2.478| 3.173| #> |6 | 0.3337979| 0.9298080| -2.809| 4.035| #> #> Table: Summary of StrDif_Tot Information #> #> |WAVE | mean| sd| min| max| #> |:----|---------:|---------:|------:|-----:| #> |35 | 0.6009797| 0.2830620| -0.230| 1.536| #> |58 | 0.5029778| 0.2931918| -0.281| 1.448| #> Warning in formatLongData(data = data_long, exposure = exposure, outcome = #> outcome, : The following variables are characters. Please change them to #> integers and re-run: WAVE head(data_long_f, n = c(5, 10)) #> ID state BioDadInHH2 PmAge2 PmBlac2 TcBlac2 PmMrSt2 PmEd2 KFASTScr RMomAgeU #> 1 1 0 1 27.245 0 0 1 15 24 29 #> 2 1 0 1 27.245 0 0 1 15 24 29 #> 3 1 0 1 27.245 0 0 1 15 24 29 #> 4 1 0 1 27.245 0 0 1 15 24 29 #> 5 1 0 1 27.245 0 0 1 15 24 29"},{"path":"https://istallworthy.github.io/devMSMs/articles/Data_Requirements.html","id":"p4-1b--tranform-formatted-long-data-to-wide","dir":"Articles","previous_headings":"P4 Data Preparation & Inspection","what":"P4.1b. Tranform Formatted Long Data to Wide","title":"Data Requirements & Preparation","text":"Users correctly formatted data long format option using following code transform data wide format, proceed using package (missing data) imputing (< 20% missing data MAR). transform newly formatted long data wide format, specifying idvar “ID”, timevar “WAVE”, supplying time points (encompassing exposure, confounder, outcome time points) data 6, 15, 24, 35, 58 times.","code":"require(\"stats\", quietly = TRUE) sep <- \"\\\\.\" v <- sapply(strsplit(tv_conf[!grepl(\"\\\\:\", tv_conf)], sep), head, 1) v <- c(v[!duplicated(v)], sapply(strsplit(exposure[1], sep), head, 1)) data_wide_f <- stats::reshape( data = data_long_f, idvar = \"ID\", v.names = v, timevar = \"WAVE\", times = c(6, 15, 24, 35, 58), direction = \"wide\" ) data_wide_f <- data_wide_f[, colSums(is.na(data_wide_f)) < nrow(data_wide_f)] head(data_wide_f, n = c(5, 10)) #> ID state BioDadInHH2 PmAge2 PmBlac2 TcBlac2 PmMrSt2 PmEd2 KFASTScr #> 1 1 0 1 27.245 0 0 1 15 24 #> 6 10 1 0 16.014 0 1 0 13 18 #> 11 100 1 0 31.042 1 1 1 14 15 #> 16 1000 1 0 23.597 1 1 1 10 14 #> 21 1001 1 0 25.592 1 1 1 13 23 #> RMomAgeU #> 1 29 #> 6 30 #> 11 25 #> 16 31 #> 21 27"},{"path":"https://istallworthy.github.io/devMSMs/articles/Data_Requirements.html","id":"p4-2--single-wide-data-frame","dir":"Articles","previous_headings":"","what":"P4.2. Single Wide Data Frame","title":"Data Requirements & Preparation","text":"Alternatively, users start single data frame wide data (without missingness). , load single complete, wide data frame simulated FLP example. Data missingness common human data. read simulated wide FLP data missingness. Users beginning single unformatted data frame long format can utilize helper function formatWideData() summarize exposure outcome data convert required variable names. formatWideData() allows users supply existing variables ID (id_var) missing data (missing) re-naming according required package. also allows user submit variables factors integers, function classes factor confounders (factor_confounders) factors, integer confounders (integer_confounders) integers data, others numeric. user can also specify time point delimeter (sep). , format simulated wide FLP data listing variables make factors integers wide format (e.g., “variable.t”), well ID missingness indicators.","code":"data(\"sim_data_wide\", package = \"devMSMs\") data_wide <- sim_data_wide head(data_wide, n = c(5, 10)) #> ID state TcBlac2 BioDadInHH2 HomeOwnd KFASTScr PmBlac2 PmEd2 PmMrSt2 PmAge2 #> 1 1 0 0 1 1 24 0 15 1 27.245 #> 2 2 1 1 0 2 27 1 17 0 32.292 #> 3 3 0 0 0 3 15 1 13 1 25.588 #> 4 4 1 0 0 2 17 0 14 0 22.664 #> 5 5 0 0 1 1 25 0 20 1 41.153 data(\"sim_data_wide_miss\", package = \"devMSMs\") data_wide <- sim_data_wide_miss head(data_wide, n = c(5, 10)) #> ID state TcBlac2 BioDadInHH2 HomeOwnd KFASTScr PmBlac2 PmEd2 PmMrSt2 PmAge2 #> 1 1 0 0 1 1 24 0 15 1 27.245 #> 2 2 1 1 0 2 27 1 17 0 32.292 #> 3 3 0 0 0 3 15 1 13 1 25.588 #> 4 4 1 0 0 2 17 0 14 0 22.664 #> 5 5 0 0 1 1 25 0 20 1 41.153 factor_confounders <- c( \"state\", \"TcBlac2\", \"BioDadInHH2\", \"HomeOwnd\", \"PmBlac2\", \"PmMrSt2\", \"SurpPreg\", \"RHealth\", \"SmokTotl\", \"DrnkFreq\", \"RHasSO.6\", \"RHasSO.15\", \"RHasSO.24\", \"RHasSO.35\" ) integer_confounders <- c( \"KFASTScr\", \"PmEd2\", \"RMomAgeU\", \"SWghtLB\", \"peri_health\", \"caregiv_health\", \"gov_assist\", \"B18Raw.6\", \"B18Raw.15\", \"B18Raw.24\", \"EARS_TJo.24\", \"EARS_TJo.35\", \"MDI.6\", \"MDI.15\" ) data_wide_f <- formatWideData( data = data_wide, exposure = exposure, outcome = outcome, sep = \"\\\\.\", id_var = \"ID\", missing = NA, factor_confounders = factor_confounders, integer_confounders = integer_confounders, home_dir = home_dir, save.out = save.out ) #> #> #> #>
Summary of ESETA1 Information<\/caption> #>
#> #> | | ESETA1.6 | ESETA1.15 | ESETA1.24 | ESETA1.35 | ESETA1.58 | #> |:--|:---------------|:---------------|:---------------|:---------------|:---------------| #> | |Min. :-2.8090 |Min. :-3.1010 |Min. :-2.8580 |Min. :-3.2410 |Min. :-2.4780 | #> | |1st Qu.:-0.3058 |1st Qu.:-0.3495 |1st Qu.:-0.4510 |1st Qu.:-0.5220 |1st Qu.:-0.4968 | #> | |Median : 0.3735 |Median : 0.2745 |Median : 0.1635 |Median : 0.1140 |Median : 0.1275 | #> | |Mean : 0.3405 |Mean : 0.2664 |Mean : 0.1591 |Mean : 0.1229 |Mean : 0.1159 | #> | |3rd Qu.: 0.9617 |3rd Qu.: 0.9217 |3rd Qu.: 0.8015 |3rd Qu.: 0.7750 |3rd Qu.: 0.7515 | #> | |Max. : 4.0350 |Max. : 3.4740 |Max. : 3.2840 |Max. : 3.0140 |Max. : 3.1730 | #> | |NA's :258 |NA's :258 |NA's :258 |NA's :258 |NA's :258 | #> #> <\/td> #> <\/tr> #> <\/tbody> #> <\/table> #> #> Table: Summary of StrDif_Tot.58 Information #> #> | Min.| X1st.Qu.| Median| Mean| X3rd.Qu.| Max.| NA.s| #> |------:|--------:|------:|---------:|--------:|-----:|----:| #> | -0.497| 0.29825| 0.488| 0.4989333| 0.7055| 1.448| 258| head(data_wide_f, n = c(5, 10)) #> ID state TcBlac2 BioDadInHH2 HomeOwnd KFASTScr PmBlac2 PmEd2 PmMrSt2 PmAge2 #> 1 1 0 0 1 1 24 0 15 1 27.245 #> 2 2 1 1 0 2 27 1 17 0 32.292 #> 3 3 0 0 0 3 15 1 13 1 25.588 #> 4 4 1 0 0 2 17 0 14 0 22.664 #> 5 5 0 0 1 1 25 0 20 1 41.153"},{"path":"https://istallworthy.github.io/devMSMs/articles/Data_Requirements.html","id":"p4-2a--format-wide-data","dir":"Articles","previous_headings":"P4 Data Preparation & Inspection","what":"P4.2a. Format Wide Data","title":"Data Requirements & Preparation","text":"Users beginning single unformatted data frame long format can utilize helper function formatWideData() summarize exposure outcome data convert required variable names. formatWideData() allows users supply existing variables ID (id_var) missing data (missing) re-naming according required package. also allows user submit variables factors integers, function classes factor confounders (factor_confounders) factors, integer confounders (integer_confounders) integers data, others numeric. user can also specify time point delimeter (sep). , format simulated wide FLP data listing variables make factors integers wide format (e.g., “variable.t”), well ID missingness indicators.","code":"factor_confounders <- c( \"state\", \"TcBlac2\", \"BioDadInHH2\", \"HomeOwnd\", \"PmBlac2\", \"PmMrSt2\", \"SurpPreg\", \"RHealth\", \"SmokTotl\", \"DrnkFreq\", \"RHasSO.6\", \"RHasSO.15\", \"RHasSO.24\", \"RHasSO.35\" ) integer_confounders <- c( \"KFASTScr\", \"PmEd2\", \"RMomAgeU\", \"SWghtLB\", \"peri_health\", \"caregiv_health\", \"gov_assist\", \"B18Raw.6\", \"B18Raw.15\", \"B18Raw.24\", \"EARS_TJo.24\", \"EARS_TJo.35\", \"MDI.6\", \"MDI.15\" ) data_wide_f <- formatWideData( data = data_wide, exposure = exposure, outcome = outcome, sep = \"\\\\.\", id_var = \"ID\", missing = NA, factor_confounders = factor_confounders, integer_confounders = integer_confounders, home_dir = home_dir, save.out = save.out ) #> #> #> #>
Summary of ESETA1 Information<\/caption> #>
#> #> | | ESETA1.6 | ESETA1.15 | ESETA1.24 | ESETA1.35 | ESETA1.58 | #> |:--|:---------------|:---------------|:---------------|:---------------|:---------------| #> | |Min. :-2.8090 |Min. :-3.1010 |Min. :-2.8580 |Min. :-3.2410 |Min. :-2.4780 | #> | |1st Qu.:-0.3058 |1st Qu.:-0.3495 |1st Qu.:-0.4510 |1st Qu.:-0.5220 |1st Qu.:-0.4968 | #> | |Median : 0.3735 |Median : 0.2745 |Median : 0.1635 |Median : 0.1140 |Median : 0.1275 | #> | |Mean : 0.3405 |Mean : 0.2664 |Mean : 0.1591 |Mean : 0.1229 |Mean : 0.1159 | #> | |3rd Qu.: 0.9617 |3rd Qu.: 0.9217 |3rd Qu.: 0.8015 |3rd Qu.: 0.7750 |3rd Qu.: 0.7515 | #> | |Max. : 4.0350 |Max. : 3.4740 |Max. : 3.2840 |Max. : 3.0140 |Max. : 3.1730 | #> | |NA's :258 |NA's :258 |NA's :258 |NA's :258 |NA's :258 | #> #> <\/td> #> <\/tr> #> <\/tbody> #> <\/table> #> #> Table: Summary of StrDif_Tot.58 Information #> #> | Min.| X1st.Qu.| Median| Mean| X3rd.Qu.| Max.| NA.s| #> |------:|--------:|------:|---------:|--------:|-----:|----:| #> | -0.497| 0.29825| 0.488| 0.4989333| 0.7055| 1.448| 258| head(data_wide_f, n = c(5, 10)) #> ID state TcBlac2 BioDadInHH2 HomeOwnd KFASTScr PmBlac2 PmEd2 PmMrSt2 PmAge2 #> 1 1 0 0 1 1 24 0 15 1 27.245 #> 2 2 1 1 0 2 27 1 17 0 32.292 #> 3 3 0 0 0 3 15 1 13 1 25.588 #> 4 4 1 0 0 2 17 0 14 0 22.664 #> 5 5 0 0 1 1 25 0 20 1 41.153"},{"path":"https://istallworthy.github.io/devMSMs/articles/Data_Requirements.html","id":"p4-3--formatted-wide-data-with-missingness","dir":"Articles","previous_headings":"","what":"P4.3. Formatted Wide Data with Missingness","title":"Data Requirements & Preparation","text":"functions devMSMs package accept data form single data frame missing values m imputed datasets form either mids object (output mice package via imputeData()) list imputed datasets. developmental data humans amount missing data. Given creation IPTW balancing weights requires complete data, recommend imputing data. Imputation assumes missing data mechanism missing random (MAR) 20% missing data total (Leyrat et al., 2021). Given existing work demonstrating superiority, devMSMS implements ‘within’ approach imputed data, conducting steps imputed dataset pooling estimates using Rubin’s rules create final average predictions contrast comparisons Worfklows vignettes Step 5 (Leyrat et al, 2021; Granger et al., 2019). shown , users can use helper function impute wide data impute elsewhere read imputed data list use devMSMs. Users option using helper imputeData() function impute correctly formatted wide data. step can take run. user can specify many imputed datasets create (default m = 5). imputeData() draws mice() function mice package (van Buuren & Oudshoorn, 2011) conduct multiple imputation chained equations (mice). variables present dataset used impute missing data column. user can specify imputation method method field drawing following list: “pmm” (predictive mean matching), “midastouch” (weighted predictive mean matching), “sample” (random sample observed values), “rf” (random forest) “cart” (classification regression trees). Random forest imputation default given evidence efficiency superior performance (Shah et al., 2014). Please review mice documentation details. Additionally, users can specify integer value seed order offset random number generator mice() make reproducible imputations. parameter read_imps_from_file allow read already imputed data local storage (TRUE) re-run imputation code multiple times (FALSE; default). Users may use parameter supply mids object imputed data mice package (title ‘all_imp.rds’). sure inspect console warnings well resulting imputed datasets. variables missing data following imputation may need removed due high collinearity /low variability. required inputs function data frame wide format (formatted according pre-requirements listed ), m number imputed datasets create, path home directory (save.= TRUE), exposure (e.g., “variable”), outcome (e.g., “variable.t”). home directory path, exposure, outcome already defined user completed Specifying Core Inputs vignette. optional inputs follows. user can specify imputation method compatible mice() (see ). Additionally, user can specify maxit number interactions mice::mice() conduct (default 5). user can also specify para_proc, logical indicator indicating whether speed imputing using parallel processing (default = TRUE). draws 2 cores using functions parallel, doRNG, doParallel packages. user may also specify additional inputs accepted mice::mice() advise consulting [mice documentation] information. user can also indicate already created imputed datasets function wish read (read_imps_from_file = TRUE rather recreate (default). example, create 2 imputed datasets using default random forest method 0 iterations (just illustrative purposes), set seed reproducibility, assign output data use devMSMs. code takes time run. (Note: given challenges imputing data .rda files, set m = 2 maxit = 0 just illustrative purposes. recommend setting m = 5 maxit = 5 (mice default) running data.) inspect output console warnings mice(). mice object can now assigned data use deveMSMs package (see Workflows vignettes). Alternatively, user imputed datasets already created wide, formatted data using program mice, can read , list, files saved locally .csv files single folder. list can assigned data use deveMSMs package (see Workflows vignettes). , load list imputed data simulated FLP, example. (See example Rmarkdown file code files saved locally.)","code":"s <- 1234 m <- 2 method <- \"rf\" maxit <- 0 imputed_data <- imputeData( data = data_wide_f, exposure = exposure, outcome = outcome, sep = \"\\\\.\", m = m, method = method, maxit = maxit, para_proc = FALSE, seed = s, read_imps_from_file = FALSE, home_dir = home_dir, save.out = save.out ) #> Creating 2 imputed datasets using the rf imputation method in mice::mice(). This may take some time to run. #> #> #> USER ALERT: Please view any logged events from the imputation below: #> Table: Logged Events from mice::mice head(mice::complete(imputed_data, 1), n = c(5, 10)) #> ALI_Le.35 B18Raw.15 B18Raw.24 B18Raw.58 B18Raw.6 BioDadInHH2 caregiv_health #> 1 3 1 1 0 -4 1 3 #> 2 2 5 -7 7 0 0 0 #> 3 3 6 5 20 -1 0 3 #> 4 4 24 25 17 11 0 3 #> 5 3 -8 1 3 1 1 2 #> CORTB.15 CORTB.24 CORTB.6 #> 1 -0.227 -0.652 0.742 #> 2 0.654 0.397 0.018 #> 3 1.145 0.033 -0.379 #> 4 0.301 -0.501 0.000 #> 5 -0.247 0.084 0.153 data <- imputed_data data(\"sim_data_imp_list\", package = \"devMSMs\") data <- sim_data_imp_list head(data[[1]], n = c(5, 10)) #> X ALI_Le.35 B18Raw.15 B18Raw.24 B18Raw.58 B18Raw.6 BioDadInHH2 caregiv_health #> 1 1 3 1 1 7 16 1 3 #> 2 2 2 4 -7 7 0 0 0 #> 3 3 3 6 5 20 -1 0 3 #> 4 4 4 24 25 17 11 0 3 #> 5 5 3 -8 -9 17 1 1 2 #> CORTB.15 CORTB.24 #> 1 -0.227 -0.652 #> 2 0.149 0.831 #> 3 1.145 0.033 #> 4 0.301 -0.501 #> 5 -0.247 0.084"},{"path":"https://istallworthy.github.io/devMSMs/articles/Data_Requirements.html","id":"p4-3a--multiply-impute-formatted-wide-data-frame-using-mice","dir":"Articles","previous_headings":"P4 Data Preparation & Inspection","what":"P4.3a. Multiply Impute Formatted, Wide Data Frame using MICE","title":"Data Requirements & Preparation","text":"Users option using helper imputeData() function impute correctly formatted wide data. step can take run. user can specify many imputed datasets create (default m = 5). imputeData() draws mice() function mice package (van Buuren & Oudshoorn, 2011) conduct multiple imputation chained equations (mice). variables present dataset used impute missing data column. user can specify imputation method method field drawing following list: “pmm” (predictive mean matching), “midastouch” (weighted predictive mean matching), “sample” (random sample observed values), “rf” (random forest) “cart” (classification regression trees). Random forest imputation default given evidence efficiency superior performance (Shah et al., 2014). Please review mice documentation details. Additionally, users can specify integer value seed order offset random number generator mice() make reproducible imputations. parameter read_imps_from_file allow read already imputed data local storage (TRUE) re-run imputation code multiple times (FALSE; default). Users may use parameter supply mids object imputed data mice package (title ‘all_imp.rds’). sure inspect console warnings well resulting imputed datasets. variables missing data following imputation may need removed due high collinearity /low variability. required inputs function data frame wide format (formatted according pre-requirements listed ), m number imputed datasets create, path home directory (save.= TRUE), exposure (e.g., “variable”), outcome (e.g., “variable.t”). home directory path, exposure, outcome already defined user completed Specifying Core Inputs vignette. optional inputs follows. user can specify imputation method compatible mice() (see ). Additionally, user can specify maxit number interactions mice::mice() conduct (default 5). user can also specify para_proc, logical indicator indicating whether speed imputing using parallel processing (default = TRUE). draws 2 cores using functions parallel, doRNG, doParallel packages. user may also specify additional inputs accepted mice::mice() advise consulting [mice documentation] information. user can also indicate already created imputed datasets function wish read (read_imps_from_file = TRUE rather recreate (default). example, create 2 imputed datasets using default random forest method 0 iterations (just illustrative purposes), set seed reproducibility, assign output data use devMSMs. code takes time run. (Note: given challenges imputing data .rda files, set m = 2 maxit = 0 just illustrative purposes. recommend setting m = 5 maxit = 5 (mice default) running data.) inspect output console warnings mice(). mice object can now assigned data use deveMSMs package (see Workflows vignettes).","code":"s <- 1234 m <- 2 method <- \"rf\" maxit <- 0 imputed_data <- imputeData( data = data_wide_f, exposure = exposure, outcome = outcome, sep = \"\\\\.\", m = m, method = method, maxit = maxit, para_proc = FALSE, seed = s, read_imps_from_file = FALSE, home_dir = home_dir, save.out = save.out ) #> Creating 2 imputed datasets using the rf imputation method in mice::mice(). This may take some time to run. #> #> #> USER ALERT: Please view any logged events from the imputation below: #> Table: Logged Events from mice::mice head(mice::complete(imputed_data, 1), n = c(5, 10)) #> ALI_Le.35 B18Raw.15 B18Raw.24 B18Raw.58 B18Raw.6 BioDadInHH2 caregiv_health #> 1 3 1 1 0 -4 1 3 #> 2 2 5 -7 7 0 0 0 #> 3 3 6 5 20 -1 0 3 #> 4 4 24 25 17 11 0 3 #> 5 3 -8 1 3 1 1 2 #> CORTB.15 CORTB.24 CORTB.6 #> 1 -0.227 -0.652 0.742 #> 2 0.654 0.397 0.018 #> 3 1.145 0.033 -0.379 #> 4 0.301 -0.501 0.000 #> 5 -0.247 0.084 0.153 data <- imputed_data"},{"path":"https://istallworthy.github.io/devMSMs/articles/Data_Requirements.html","id":"p4-3b--read-in-as-a-list-of-wide-imputed-data-saved-locally","dir":"Articles","previous_headings":"P4 Data Preparation & Inspection","what":"P4.3b. Read in as a List of Wide Imputed Data Saved Locally","title":"Data Requirements & Preparation","text":"Alternatively, user imputed datasets already created wide, formatted data using program mice, can read , list, files saved locally .csv files single folder. list can assigned data use deveMSMs package (see Workflows vignettes). , load list imputed data simulated FLP, example. (See example Rmarkdown file code files saved locally.)","code":"data(\"sim_data_imp_list\", package = \"devMSMs\") data <- sim_data_imp_list head(data[[1]], n = c(5, 10)) #> X ALI_Le.35 B18Raw.15 B18Raw.24 B18Raw.58 B18Raw.6 BioDadInHH2 caregiv_health #> 1 1 3 1 1 7 16 1 3 #> 2 2 2 4 -7 7 0 0 0 #> 3 3 3 6 5 20 -1 0 3 #> 4 4 4 24 25 17 11 0 3 #> 5 5 3 -8 -9 17 1 1 2 #> CORTB.15 CORTB.24 #> 1 -0.227 -0.652 #> 2 0.149 0.831 #> 3 1.145 0.033 #> 4 0.301 -0.501 #> 5 -0.247 0.084"},{"path":"https://istallworthy.github.io/devMSMs/articles/Data_Requirements.html","id":"references","dir":"Articles","previous_headings":"","what":"References","title":"Data Requirements & Preparation","text":"Burchinal, M., Howes, C., Pianta, R., Bryant, D., Early, D., Clifford, R., & Barbarin, O. (2008). Predicting Child Outcomes End Kindergarten Quality Pre-Kindergarten Teacher–Child Interactions Instruction. Applied Developmental Science, 12(3), 140–153. https://doi.org/10.1080/10888690802199418 Kainz, K., Greifer, N., Givens, ., Swietek, K., Lombardi, B. M., Zietz, S., & Kohn, J. L. (2017). Improving Causal Inference: Recommendations Covariate Selection Balance Propensity Score Methods. Journal Society Social Work Research, 8(2), 279–303. https://doi.org/10.1086/691464 Vernon-Feagans, L., Cox, M., Willoughby, M., Burchinal, M., Garrett-Peters, P., Mills-Koonce, R., Garrett-Peiers, P., Conger, R. D., & Bauer, P. J. (2013). Family Life Project: Epidemiological Developmental Study Young Children Living Poor Rural Communities. Monographs Society Research Child Development, 78(5), –150.","code":""},{"path":"https://istallworthy.github.io/devMSMs/articles/Specify_Core_Inputs.html","id":"p3-1-recommended-home-directory","dir":"Articles","previous_headings":"","what":"P3.1 Recommended: Home Directory","title":"Specify Core Inputs","text":"Users required specify home directory, quotations, path designated folder output package (without final forward slash), plan save intermediary final outputs package (default) setting save.= TRUE functions. sub directories created within home directory devMSMs functions automatically save.= TRUE.","code":"home_dir <- NA # home_dir <- '/Users/isabella/Library/CloudStorage/Box-Box/BSL General/MSMs/testing/isa'"},{"path":"https://istallworthy.github.io/devMSMs/articles/Specify_Core_Inputs.html","id":"p3-2-recommended-time-point-delimiter","dir":"Articles","previous_headings":"","what":"P3.2 Recommended: Time Point Delimiter","title":"Specify Core Inputs","text":"Users required use consistent delimiter parsing names time-varying variables (.e., exposure, time-varying confounders, outcome) name construct time point measured. default period user can specify delimiter. devMSMs assume integer final instance delimiter wihin variable name corresponds time point measured. delimiter shoudl used time-varying variables. Users can specify different delimiter character string regular expression (regex) form. , use default period time delimiter.","code":"sep <- \"\\\\.\""},{"path":"https://istallworthy.github.io/devMSMs/articles/Specify_Core_Inputs.html","id":"p3-3-required-exposure-variable","dir":"Articles","previous_headings":"","what":"P3.3 Required: Exposure Variable","title":"Specify Core Inputs","text":"exposure refers developmental construct hypothesized cause outcome. Users required specify exposure variable use functions devMSMs. exposure can either continuously distributed binary, package automatically detects. user must specify exposure, list character strings corresponding exposure variable wide format, appears dataset. time exposure measured appear suffix delimiter user’s choosing (time-varying confounders). user two options specifying exposure variablee, select option best serves theory regarding developmental timing practical constraints data modeling process. First, may specify exposure time points exposure measured data. means balancing formulas created (Steps 1a, 2a, 3b Workflows vignettes) IPTW weights created (Steps 2b, 3c Workflows vignettes) assessed (Steps 2c, 3a, 4 Workflows vignettes) time points. case, epochs specified, time points included exposure main effects final substantive model history comparison (Step 5 Workflows vignettes). Second, may specify subset theoretically important time points exposure measured data. means balancing formulas created IPTW weights created assessed time points. , epochs specified, subsetted time points included exposure main effects final substantive models. Importantly, exposure variables time point included exposure included time-varying confounders, used balancing purposes . specification exposure epochs kept consistent throughout use devMSMs package. user intends specify exposure epochs, user include time points encompassed epochs . user intend specify exposure epochs, exposure constitute exposure main effects final outcome model form basis histories used history comparison. case, user specifies 4 exposure time points, required conduct subset history comparisons (Step 5b Workflows vignettes), given base code (see hypotheses() function marginaleffects package) accommodate pairwise history comparisons 5 time points. example, elected create epochs infancy (6 15 months), toddlerhood (24 35 months), early childhood (58 months) include exposure time points.","code":"exposure <- c(\"ESETA1.6\", \"ESETA1.15\", \"ESETA1.24\", \"ESETA1.35\", \"ESETA1.58\")"},{"path":"https://istallworthy.github.io/devMSMs/articles/Specify_Core_Inputs.html","id":"p3-4-required-for-continuous-exposure-high-and-low-cutoff-values","dir":"Articles","previous_headings":"","what":"P3.4 Required for Continuous Exposure: High and Low Cutoff Values","title":"Specify Core Inputs","text":"exposure variable continuously distributed (e.g., economic strain), inherent demarcation considered high versus low levels exposure. Given part MSM process involved examining different exposure histories –vary dose timing – development result different outcome levels, need specify considered high versus low levels exposure. continuous exposures, required recommended preliminary step Workflows vignette compareHistories() devMSMs function (see Workflows vignettes). specify hi_lo_cut, list two quantile values (0-1): first represents value considered high levels exposure second represents followed considered low levels exposure. values may revised following inspection sample distribution across resulting exposure histories recommended preliminary steps Workflows vignettes. final values used creating modeling effects exposure histories Step 5 Workflows vignettes. , specify 60th 30th percentiles demarcate high low levels economic strain exposure, respectively.","code":"hi_lo_cut <- c(0.6, 0.3)"},{"path":"https://istallworthy.github.io/devMSMs/articles/Specify_Core_Inputs.html","id":"p3-5-optional-exposure-epochs","dir":"Articles","previous_headings":"","what":"P3.5 Optional: Exposure Epochs","title":"Specify Core Inputs","text":"modeling effect exposure outcome MSM process, user option specify epochs exposure, grouping time points exposure meaningful categories. may useful cases user wishes establish balance using time points exposure measured, substantive hypotheses coarser timescales (e.g., infancy). epochs specified, time points exposure measured used creation exposure histories final step process. specified epoch must corresponding value (values can differ number entries shown ). specify epochs, users utilize optional epoch argument providing, character string, list user-created epoch labels, one exposure time point order listed exposure. user specifies exposure epochs, exposure main effects created epoch, exposure levels averaged epochs consist two time point values. exposure epochs arguments fitModel() compareHistories() devMSMs functions (see Workflows vignettes) specification kept consistent throughout use package vignettes. constitute main effects variables modeling relation exposure outcome (Workflows vignettes Step 5a) form basis estimating comparing exposure histories (Workflows vignettes Step 5b). epochs specified, exposure time points exposure field used aforementioned steps. , specify ‘infancy’ (“ESETA1.6”, “ESETA1.15), ‘toddlerhood’ (”ESETA1.24”, “ESETA1.35”), ‘childhood’ (“ESETA1.58”).","code":"epoch <- c(\"Infancy\", \"Infancy\", \"Toddlerhood\", \"Toddlerhood\", \"Childhood\")"},{"path":"https://istallworthy.github.io/devMSMs/articles/Specify_Core_Inputs.html","id":"p3-6-recommended-hypotheses-relevant-exposure-histories","dir":"Articles","previous_headings":"","what":"P3.6 Recommended: Hypotheses-Relevant Exposure Histories","title":"Specify Core Inputs","text":"strongly recommend users selective histories, developmental sequences high low exposure (exposure time points epochs), vital testing hypotheses. recommend user estimates compares subset possible exposure histories using reference comparison fields (rather comparing possible exposure histories). user can specify custom subset exposure histories using reference comparison fields optional inputs compareHistories() devMSMs function (see Workflows vignettes). conduct customized comparisons, users must provide least one unique valid history (e.g., “l-l-l”) reference providing character string (list strings) lowercase l’s h’s (separated -), corresponding exposure epoch (exposure time point), signify sequence exposure levels (“low” “high”, respectively). supply reference history, comparisons provide least one unique valid history comparison , quotations, providing string (list strings) l’s h’s (separated “-”), corresponding exposure epoch, signify sequence exposure levels (“low” “high”, respectively) constitutes comparison exposure history/histories compared reference Step 5b Workflows vignettes. supply one comparisons, least one reference must specified. reference exposure history compared comparison history comparisons supplied multiple comparison correction. reference comparison specified, histories compared Step 5b Workflows vignettes. However, 4 exposure main effects (either epochs exposure time points), user required select subset history comparisons (Step 5b Workflows vignettes), given base code (see hypotheses() function marginaleffects package) accommodate pairwise history comparisons 5 time points). final reference comparison values established step used estimating comparing exposure histories Step 5b Workflows vignettes. , specify low economic strain epochs (“l-l-l”) reference event comparison high levels epochs (“h-h-h”) well histories contain 1 dose exposure high economic strain different epochs.","code":"reference <- c(\"l-l-l\") comparison <- c(\"h-h-h\", \"l-l-h\", \"h-l-l\", \"l-h-l\")"},{"path":"https://istallworthy.github.io/devMSMs/articles/Specify_Core_Inputs.html","id":"p3-7-required-outcome-variable","dir":"Articles","previous_headings":"","what":"P3.7 Required: Outcome Variable","title":"Specify Core Inputs","text":"outcome refers developmental construct hypothesized caused exposure. Users also required specify outcome variable designated final time point, required input fitModel() compareHistories() functions devMSMs package. final time point equal (, ideally greater ) final exposure time point. Note instances outcome variable measured prior time points included time-varying confounders balancing purposes. Users must specify outcome, character string suffix time point collected, corresponding variable name wide data. outcome variables measured prior time points included time-varying confounders. example, specify behavior problems measured 58 months outcome.","code":"outcome <- \"StrDif_Tot.58\""},{"path":"https://istallworthy.github.io/devMSMs/articles/Specify_Core_Inputs.html","id":"p3-8-recommended-confounders","dir":"Articles","previous_headings":"","what":"P3.8 Recommended: Confounders","title":"Specify Core Inputs","text":"Specifying confounders critical successful implmentation MSMs. Confounders refer variables cause either exposure outcome, thus cause spurious relation exposure outcome. MSMs assume possible confounders measured. Time invariant confounders considered stable across developmental period studying. Specifying time invariant confounders ti_conf recommended use package input createFormulas() function devMSMS. Time invariant confounders include core demographic birth characteristics (e.g., sex, racial group membership, birth complications) might cause either exposure outcome, either directly proxy, suggested theory /evidenced strong associations existing literature. user wishes specify interactions, need manually create data listing . , user can also include interaction terms time invariant variables (e.g., “variable:variable”) inclusion balancing formula. Keep mind interactions include factor variables decomposed interactions factor level. ti_conf, list character strings, provide names confounders dataset time invariant. time suffix. , specify 18 time invariant confounders measured baseline study visit, prior first exposure time point. Time-varying confounders considered vary development, regardless many times measured dataset. Specifying time-varying confounders recommended use package input createFormulas() devMSMs function (see Workflows vignettes). tv_conf, list character strings, provide names variables wide format (e.g., “variable.t”) dataset time-varying, including exposure outcome variables specified respective fields (see ). time suffix following delimiter. Note time-varying confounders also include confounders measured repeatedly time points (e.g., InRatioCor) collected one several specific time points, missing time points, time invariant. Additionally, note user specify exposure time points tv_conf, lagged values exposure automatically included time-varying confounders creation formulas. user wishes specify interactions, need manually create data listing . , user can also include interaction terms time invariant variables (e.g., “variable:variable”) inclusion balancing formula. Keep mind interactions include factor variables decomposed interactions factor level. creating balancing formula exposure time point, default devMSMs include time-varying confounders measured exposure time point. often difficult differentiate confounders measured contemporaneously mediators, balancing mediator ill-advised. However, sometimes user may good evidence know given time-varying confounder mediator exposure even measured contemporaneously. case, may specify override package default retain given variable/set time-varying confoudners formulas exposure measured contemporaneously. concur_conf: list character strings, provide names time-varying confounders (wide format) wish included contemporaneously balancing formulas (overriding default include lagged confounders). user can now proceed Data Requirements Workflows vignettes.","code":"ti_conf <- c( \"state\", \"BioDadInHH2\", \"PmAge2\", \"PmBlac2\", \"TcBlac2\", \"PmMrSt2\", \"PmEd2\", \"KFASTScr\", \"RMomAgeU\", \"RHealth\", \"HomeOwnd\", \"SWghtLB\", \"SurpPreg\", \"SmokTotl\", \"DrnkFreq\", \"peri_health\", \"caregiv_health\", \"gov_assist\") tv_conf <- c(\"SAAmylase.6\", \"SAAmylase.15\", \"SAAmylase.24\", \"MDI.6\", \"MDI.15\", \"RHasSO.6\", \"RHasSO.15\", \"RHasSO.24\", \"RHasSO.35\", \"WndNbrhood.6\", \"WndNbrhood.24\", \"WndNbrhood.35\", \"IBRAttn.6\", \"IBRAttn.15\", \"IBRAttn.24\", \"B18Raw.6\", \"B18Raw.15\", \"B18Raw.24\", \"HOMEETA1.6\", \"HOMEETA1.15\", \"HOMEETA1.24\", \"HOMEETA1.35\", \"InRatioCor.6\", \"InRatioCor.15\", \"InRatioCor.24\", \"InRatioCor.35\", \"CORTB.6\", \"CORTB.15\", \"CORTB.24\", \"EARS_TJo.24\", \"EARS_TJo.35\", \"LESMnPos.24\", \"LESMnPos.35\", \"LESMnNeg.24\", \"LESMnNeg.35\", \"StrDif_Tot.35\", \"fscore.35\") concur_conf <- \"B18Raw.6\""},{"path":"https://istallworthy.github.io/devMSMs/articles/Specify_Core_Inputs.html","id":"p3-8a-recommended-time-invariant-confounders","dir":"Articles","previous_headings":"","what":"P3.8a Recommended: Time Invariant Confounders","title":"Specify Core Inputs","text":"Time invariant confounders considered stable across developmental period studying. Specifying time invariant confounders ti_conf recommended use package input createFormulas() function devMSMS. Time invariant confounders include core demographic birth characteristics (e.g., sex, racial group membership, birth complications) might cause either exposure outcome, either directly proxy, suggested theory /evidenced strong associations existing literature. user wishes specify interactions, need manually create data listing . , user can also include interaction terms time invariant variables (e.g., “variable:variable”) inclusion balancing formula. Keep mind interactions include factor variables decomposed interactions factor level. ti_conf, list character strings, provide names confounders dataset time invariant. time suffix. , specify 18 time invariant confounders measured baseline study visit, prior first exposure time point.","code":"ti_conf <- c( \"state\", \"BioDadInHH2\", \"PmAge2\", \"PmBlac2\", \"TcBlac2\", \"PmMrSt2\", \"PmEd2\", \"KFASTScr\", \"RMomAgeU\", \"RHealth\", \"HomeOwnd\", \"SWghtLB\", \"SurpPreg\", \"SmokTotl\", \"DrnkFreq\", \"peri_health\", \"caregiv_health\", \"gov_assist\")"},{"path":"https://istallworthy.github.io/devMSMs/articles/Specify_Core_Inputs.html","id":"p3-8b-recommended-time-varying-confounders","dir":"Articles","previous_headings":"","what":"P3.8b Recommended: Time-varying Confounders","title":"Specify Core Inputs","text":"Time-varying confounders considered vary development, regardless many times measured dataset. Specifying time-varying confounders recommended use package input createFormulas() devMSMs function (see Workflows vignettes). tv_conf, list character strings, provide names variables wide format (e.g., “variable.t”) dataset time-varying, including exposure outcome variables specified respective fields (see ). time suffix following delimiter. Note time-varying confounders also include confounders measured repeatedly time points (e.g., InRatioCor) collected one several specific time points, missing time points, time invariant. Additionally, note user specify exposure time points tv_conf, lagged values exposure automatically included time-varying confounders creation formulas. user wishes specify interactions, need manually create data listing . , user can also include interaction terms time invariant variables (e.g., “variable:variable”) inclusion balancing formula. Keep mind interactions include factor variables decomposed interactions factor level.","code":"tv_conf <- c(\"SAAmylase.6\", \"SAAmylase.15\", \"SAAmylase.24\", \"MDI.6\", \"MDI.15\", \"RHasSO.6\", \"RHasSO.15\", \"RHasSO.24\", \"RHasSO.35\", \"WndNbrhood.6\", \"WndNbrhood.24\", \"WndNbrhood.35\", \"IBRAttn.6\", \"IBRAttn.15\", \"IBRAttn.24\", \"B18Raw.6\", \"B18Raw.15\", \"B18Raw.24\", \"HOMEETA1.6\", \"HOMEETA1.15\", \"HOMEETA1.24\", \"HOMEETA1.35\", \"InRatioCor.6\", \"InRatioCor.15\", \"InRatioCor.24\", \"InRatioCor.35\", \"CORTB.6\", \"CORTB.15\", \"CORTB.24\", \"EARS_TJo.24\", \"EARS_TJo.35\", \"LESMnPos.24\", \"LESMnPos.35\", \"LESMnNeg.24\", \"LESMnNeg.35\", \"StrDif_Tot.35\", \"fscore.35\")"},{"path":"https://istallworthy.github.io/devMSMs/articles/Specify_Core_Inputs.html","id":"p3-8c-optional-concurrent-confounders","dir":"Articles","previous_headings":"","what":"P3.8c Optional: Concurrent Confounders","title":"Specify Core Inputs","text":"creating balancing formula exposure time point, default devMSMs include time-varying confounders measured exposure time point. often difficult differentiate confounders measured contemporaneously mediators, balancing mediator ill-advised. However, sometimes user may good evidence know given time-varying confounder mediator exposure even measured contemporaneously. case, may specify override package default retain given variable/set time-varying confoudners formulas exposure measured contemporaneously. concur_conf: list character strings, provide names time-varying confounders (wide format) wish included contemporaneously balancing formulas (overriding default include lagged confounders). user can now proceed Data Requirements Workflows vignettes.","code":"concur_conf <- \"B18Raw.6\""},{"path":"https://istallworthy.github.io/devMSMs/articles/Specify_Core_Inputs.html","id":"references","dir":"Articles","previous_headings":"","what":"References","title":"Specify Core Inputs","text":"Arel-Bundock, Vincent. 2024. marginaleffects: Predictions, Comparisons, Slopes, Marginal Means, Hypothesis Tests. https://CRAN.R-project.org/package=marginaleffects.","code":""},{"path":"https://istallworthy.github.io/devMSMs/articles/Terminology.html","id":"balancing-formula","dir":"Articles","previous_headings":"","what":"Balancing Formula","title":"Terminology","text":"table summarizes three formula type’s used. Table 2. Summary formula terminology used devMSMs package creating balancing weights assessing performance devMSMs (Workflows vignettes Steps 4-6). different kinds formulas vary respect inclusion time-varying confounders type specification create using createFormulas() function. type = \"full\" type = \"short\" type = \"update\"","code":"ESETA1.t ~ time-invariant confounders + time-varying confounders + lagged outcomes + lagged outcomes ESETA1.24 ~ B18Raw.15 + B18Raw.6 + BioDadInHH2 + CORTB.15 + CORTB.6 + DrnkFreq + ES.15 + ES.6 + gov_assist + HOMEETA1.15 + HOMEETA1.6 + HomeOwnd ... ESETA1.24 ~ B18Raw.15 + BioDadInHH2 + CORTB.15 + DrnkFreq + ES.15 + gov_assist + HOMEETA1.15 + HomeOwnd ... ESETA1.24 ~ B18Raw.15 + BioDadInHH2 + CORTB.15 + DrnkFreq + ES.6 + ES.15 + gov_assist + HOMEETA1.15 + HomeOwnd ..."},{"path":"https://istallworthy.github.io/devMSMs/articles/Terminology.html","id":"core-functions-of-devmsms","dir":"Articles","previous_headings":"","what":"7 core functions of devMSMs","title":"Terminology","text":"7 key functions used devMSMs workflow. Summary 7 core functions devMSMs package.","code":""},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"installation","dir":"Articles","previous_headings":"","what":"Installation","title":"Workflow: Continuous Exposure","text":"devMSMs available CRAN, need install directly Github (https://github.com/istallworthy/devMSMs), shown . devMSMs functions option save objects ‘.rds’ files. Users can also save content print, summary, plot methods, illustrated sections . save, users must supply path home directory (home_dir) creating initial MSM object. Users can save home directory using default file labels (.txt file type) using save.= TRUE. saving tables, users option supply name file type (e.g., save.= “custom_name.png”). Allowable file types : .png, .html, .pdf, .tex, .md. sub-folders referenced function created automatically within home directory. recommend saving outputs future use provide commented examples . output saved , function automatically provides path file aid user reading output future. functions output tables. tinytables package can customized (e.g., dimensions, footnotes, captions, combined, etc.) according options provided package (https://vincentarelbundock.github.io/tinytable/vignettes/tinytable.html).","code":"options(repos = c(CRAN = \"https://cloud.r-project.org\")) install.packages(\"devtools\") #> Installing package into '/home/runner/work/_temp/Library' #> (as 'lib' is unspecified) require(\"devtools\", quietly = TRUE) devtools::install_github(\"istallworthy/devMSMs\", quiet = TRUE) library(devMSMs) devtools::install_github(\"istallworthy/devMSMsHelpers\", quiet = TRUE) library(devMSMsHelpers) save.out = FALSE"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"phase-0-preliminary-conceptual-data-preparation","dir":"Articles","previous_headings":"","what":"Phase 0: Preliminary Conceptual & Data Preparation","title":"Workflow: Continuous Exposure","text":"Please see accompanying manuscript steps P1 (creating hypotheses) P2 (creating DAG). first step create initial MSM object specifying core variables data use package. Please see Specifying Core Inputs vignette detail following core inputs. , specify data, exposure, time invariant time-varying confounders, well exposure epochs. several optional fields user specify MSM object. user also option specify concur_conf, indicating, list character strings, names time-varying confounders (e.g., “variable.time”) wish included concurrently weights formulas (overriding default include lagged confounders). done user strong evidence differentiate confounders mediators relation exposure contemporaneously. specify home directory given nature example, recommend save core function outputs. , use default period time delimiter. specify 6 time points exposure. , specify 60th 30th percentiles demarcate high low levels economic strain exposure, respectively. specify first two exposure time points (6 15 months) considered infancy, second two (34 25 months) toddlerhood, final (58 months) childhood. See Specify Core Inputs vignette information. , specify low economic strain epochs (“l-l-l”) reference event comparison high levels epochs (“h-h-h”) examine example question comparing causal effects 0 vs 3 doses exposure economic strain children’s behavior problems. specify outcome behavior problems 58 months. specify time-invariant time-varying confounders. specify concurrent confounders , given data, unable disentangle mediators colliders. highly recommend first implementing Data Requirements & Preparation Vignette https://istallworthy.github.io/devMSMs/articles/Data_Requirements.html assigning variable, data, one following wide data formats (see Figure 1) use package: single data frame data wide format missing data mids object (output mice::mice()) data imputed wide format list data imputed wide format data frames See Data Preparation vignette detail. first load 2 imputed datasets mice object. data simulated based data Family Life Project (FLP), longitudinal study following 1,292 families representative two geographic areas (three counties North Carolina three counties Pennsylvania) high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). take example exposure economic strain (“ESETA1”) measured 6, 15, 24, 35, 58 months relation outcome behavior problems (“StrDif_Tot”) measured 58 months. (See Data Requirements & Preparation vignette beginning data types, including missing data). set seed reproducibility. , inspect MSMS object view confirm variables categorized. users, highly recommend use helper inspectData() function (complete dataset long wide format imputed data case missingness) summarize exposure, outcome, confounders inspect sample distribution among exposure histories. Based user-specified exposure epochs high low quantile values (continuous exposures), function outputs table showing sample distribution across histories. strongly suggest visually inspecting table revising designation epochs /high low quantile values (continuous exposures) history contains reasonable number participants. gold standard required number per history cell, users guard extrapolation beyond scope data. example, data, using 75th 25th percentile cutoffs, histories represented less two cases thus re-evaluated cutoffs. Users may wish revise epoch designation high low cutoff values, applicable. function conducts summaries history distribution inspection imputed dataset imputed data supplied. required inputs inspectData() : complete data (data frame wide long format, list imputed data frames wide format, mids object), exposure (e.g., “variable”), outcome (e.g., “variable.t”). exposure continuously distributed, user required supply hi_lo_cut values demarcating high low levels. Optional inputs home directory (save.= TRUE), epochs, high/low cutoff values continuous exposures, specification reference comparison histories. helper inspectData() function outputs following files home directory: correlation plot variables dataset, tables exposure outcome descriptive statistics, two summary tables confounders considered time point. , see summaries data types well reasonable cell counts specified histories, imputed dataset.","code":"# home_dir = '/Users/isabella/Library/CloudStorage/Box-Box/BSL General/MSMs/testing/isa' sep <- \"\\\\.\" exposure <- c(\"ESETA1.6\", \"ESETA1.15\", \"ESETA1.24\", \"ESETA1.35\", \"ESETA1.58\") hi_lo_cut <- c(0.6, 0.3) epochs <- c(\"Infancy\", \"Infancy\", \"Toddlerhood\", \"Toddlerhood\", \"Childhood\") reference <- c(\"l-l-l\") comparison <- c(\"h-h-h\") outcome <- \"StrDif_Tot.58\" ti_conf <- c( \"state\", \"BioDadInHH2\", \"PmAge2\", \"PmBlac2\", \"TcBlac2\", \"PmMrSt2\", \"PmEd2\", \"KFASTScr\", \"RMomAgeU\", \"RHealth\", \"HomeOwnd\", \"SWghtLB\", \"SurpPreg\", \"SmokTotl\", \"DrnkFreq\", \"peri_health\", \"caregiv_health\", \"gov_assist\") tv_conf <- c(\"SAAmylase.6\", \"SAAmylase.15\", \"SAAmylase.24\", \"MDI.6\", \"MDI.15\", \"RHasSO.6\", \"RHasSO.15\", \"RHasSO.24\", \"RHasSO.35\", \"WndNbrhood.6\", \"WndNbrhood.24\", \"WndNbrhood.35\", \"IBRAttn.6\", \"IBRAttn.15\", \"IBRAttn.24\", \"B18Raw.6\", \"B18Raw.15\", \"B18Raw.24\", \"HOMEETA1.6\", \"HOMEETA1.15\", \"HOMEETA1.24\", \"HOMEETA1.35\", \"InRatioCor.6\", \"InRatioCor.15\", \"InRatioCor.24\", \"InRatioCor.35\", \"CORTB.6\", \"CORTB.15\", \"CORTB.24\", \"EARS_TJo.24\", \"EARS_TJo.35\", \"LESMnPos.24\", \"LESMnPos.35\", \"LESMnNeg.24\", \"LESMnNeg.35\", \"StrDif_Tot.35\", \"fscore.35\") data(\"sim_data_mice\", package = \"devMSMs\") data <- sim_data_mice head(mice::complete(data, 1), n = c(5, 10)) #> ALI_Le.35 B18Raw.15 B18Raw.24 B18Raw.58 B18Raw.6 BioDadInHH2 caregiv_health #> 1 3 1 1 7 16 1 3 #> 2 2 4 -7 7 0 0 0 #> 3 3 6 5 20 -1 0 3 #> 4 4 24 25 17 11 0 3 #> 5 3 -8 -9 17 1 1 2 #> CORTB.15 CORTB.24 CORTB.6 #> 1 -0.227 -0.652 0.742 #> 2 0.149 0.831 0.018 #> 3 1.145 0.033 -0.379 #> 4 0.301 -0.501 0.000 #> 5 -0.247 0.084 0.153 set.seed(1234) obj <- initMSM( data, exposure = c(\"ESETA1.6\", \"ESETA1.15\", \"ESETA1.24\", \"ESETA1.35\", \"ESETA1.58\"), ti_conf = c(\"state\", \"BioDadInHH2\", \"PmAge2\", \"PmBlac2\", \"TcBlac2\", \"PmMrSt2\", \"PmEd2\", \"KFASTScr\", \"RMomAgeU\", \"RHealth\", \"HomeOwnd\", \"SWghtLB\", \"SurpPreg\", \"SmokTotl\", \"DrnkFreq\", \"peri_health\", \"caregiv_health\", \"gov_assist\"), tv_conf = c(\"SAAmylase.6\",\"SAAmylase.15\", \"SAAmylase.24\", \"MDI.6\", \"MDI.15\", \"RHasSO.6\", \"RHasSO.15\", \"RHasSO.24\",\"RHasSO.35\", \"WndNbrhood.6\",\"WndNbrhood.24\", \"WndNbrhood.35\", \"IBRAttn.6\", \"IBRAttn.15\", \"IBRAttn.24\", \"B18Raw.6\", \"B18Raw.15\", \"B18Raw.24\", \"HOMEETA1.6\", \"HOMEETA1.15\", \"HOMEETA1.24\", \"HOMEETA1.35\", \"InRatioCor.6\", \"InRatioCor.15\", \"InRatioCor.24\", \"InRatioCor.35\", \"CORTB.6\", \"CORTB.15\", \"CORTB.24\", \"EARS_TJo.24\", \"EARS_TJo.35\", \"LESMnPos.24\", \"LESMnPos.35\", \"LESMnNeg.24\", \"LESMnNeg.35\", \"StrDif_Tot.35\", \"fscore.35\"), epoch <- c(\"Infancy\", \"Infancy\", \"Toddlerhood\", \"Toddlerhood\", \"Childhood\"), sep = \"\\\\.\" ) print(obj) #> Exposure (continuous): ESETA1.6, ESETA1.15, ESETA1.24, ESETA1.35, ESETA1.58 #> Corresponding epoch: Infancy, Infancy, Toddlerhood, Toddlerhood, Childhood #> Variable and their encodings: #> var type time #> ESETA1.6 exposure 6 #> ESETA1.15 exposure 15 #> ESETA1.24 exposure 24 #> ESETA1.35 exposure 35 #> ESETA1.58 exposure 58 #> SAAmylase.6 tv_conf 6 #> SAAmylase.15 tv_conf 15 #> SAAmylase.24 tv_conf 24 #> MDI.6 tv_conf 6 #> MDI.15 tv_conf 15 #> RHasSO.6 tv_conf 6 #> RHasSO.15 tv_conf 15 #> RHasSO.24 tv_conf 24 #> RHasSO.35 tv_conf 35 #> WndNbrhood.6 tv_conf 6 #> WndNbrhood.24 tv_conf 24 #> WndNbrhood.35 tv_conf 35 #> IBRAttn.6 tv_conf 6 #> IBRAttn.15 tv_conf 15 #> IBRAttn.24 tv_conf 24 #> B18Raw.6 tv_conf 6 #> B18Raw.15 tv_conf 15 #> B18Raw.24 tv_conf 24 #> HOMEETA1.6 tv_conf 6 #> HOMEETA1.15 tv_conf 15 #> HOMEETA1.24 tv_conf 24 #> HOMEETA1.35 tv_conf 35 #> InRatioCor.6 tv_conf 6 #> InRatioCor.15 tv_conf 15 #> InRatioCor.24 tv_conf 24 #> InRatioCor.35 tv_conf 35 #> CORTB.6 tv_conf 6 #> CORTB.15 tv_conf 15 #> CORTB.24 tv_conf 24 #> EARS_TJo.24 tv_conf 24 #> EARS_TJo.35 tv_conf 35 #> LESMnPos.24 tv_conf 24 #> LESMnPos.35 tv_conf 35 #> LESMnNeg.24 tv_conf 24 #> LESMnNeg.35 tv_conf 35 #> StrDif_Tot.35 tv_conf 35 #> fscore.35 tv_conf 35 #> state ti_conf -1 #> BioDadInHH2 ti_conf -1 #> PmAge2 ti_conf -1 #> PmBlac2 ti_conf -1 #> TcBlac2 ti_conf -1 #> PmMrSt2 ti_conf -1 #> PmEd2 ti_conf -1 #> KFASTScr ti_conf -1 #> RMomAgeU ti_conf -1 #> RHealth ti_conf -1 #> HomeOwnd ti_conf -1 #> SWghtLB ti_conf -1 #> SurpPreg ti_conf -1 #> SmokTotl ti_conf -1 #> DrnkFreq ti_conf -1 #> peri_health ti_conf -1 #> caregiv_health ti_conf -1 #> gov_assist ti_conf -1 inspectData(data = data, obj = obj, outcome = outcome, hi_lo_cut = hi_lo_cut, reference = reference, comparison = comparison, verbose = TRUE, save.out = save.out) #> Imputation 1 #> USER ALERT: Out of the total of 1292 individuals in the sample, below is the distribution of the 333 (26%) individuals that fall into 2 user-selected exposure histories (out of the 27 total) created from 30th and 60th percentile values for low and high levels of exposure-epoch Infancy, Toddlerhood, Childhood. #> USER ALERT: Please inspect the distribution of the sample across the following exposure histories and ensure there is sufficient spread to avoid extrapolation and low precision: #> #> +---------------+-----+ #> | epoch_history | n | #> +===============+=====+ #> | h-h-h | 214 | #> +---------------+-----+ #> | l-l-l | 119 | #> +---------------+-----+ #> #> Table: Summary of user-selected exposure histories based on exposure main effects Infancy, Toddlerhood, Childhood: #> USER ALERT: Below are the 55 variables spanning 32 unique domains that will be treated as confounding variables for the relation between ESETA1 and StrDif_Tot.58. #> Please inspect this list carefully. It should include all time-varying covariates, time invariant covariates, as well as lagged levels of exposure and outcome variables if they were collected at time points earlier than the outcome time point. #> [1] \"B18Raw.15\" \"B18Raw.24\" \"B18Raw.6\" \"BioDadInHH2\" #> [5] \"caregiv_health\" \"CORTB.15\" \"CORTB.24\" \"CORTB.6\" #> [9] \"DrnkFreq\" \"EARS_TJo.24\" \"EARS_TJo.35\" \"fscore.35\" #> [13] \"gov_assist\" \"HOMEETA1.15\" \"HOMEETA1.24\" \"HOMEETA1.35\" #> [17] \"HOMEETA1.6\" \"HomeOwnd\" \"IBRAttn.15\" \"IBRAttn.24\" #> [21] \"IBRAttn.6\" \"InRatioCor.15\" \"InRatioCor.24\" \"InRatioCor.35\" #> [25] \"InRatioCor.6\" \"KFASTScr\" \"LESMnNeg.24\" \"LESMnNeg.35\" #> [29] \"LESMnPos.24\" \"LESMnPos.35\" \"MDI.15\" \"MDI.6\" #> [33] \"peri_health\" \"PmAge2\" \"PmBlac2\" \"PmEd2\" #> [37] \"PmMrSt2\" \"RHasSO.15\" \"RHasSO.24\" \"RHasSO.35\" #> [41] \"RHasSO.6\" \"RHealth\" \"RMomAgeU\" \"SAAmylase.15\" #> [45] \"SAAmylase.24\" \"SAAmylase.6\" \"SmokTotl\" \"state\" #> [49] \"StrDif_Tot.35\" \"SurpPreg\" \"SWghtLB\" \"TcBlac2\" #> [53] \"WndNbrhood.24\" \"WndNbrhood.35\" \"WndNbrhood.6\" #> #> The following variables are designated as numeric: #> [1] \"ALI_Le.35, CORTB.15, CORTB.24, CORTB.6, ESETA1.15, ESETA1.24, ESETA1.35, ESETA1.58, ESETA1.6, fscore.35, fscore.58, HOMEETA1.15, HOMEETA1.24, HOMEETA1.35, HOMEETA1.58, HOMEETA1.6, IBRAttn.15, IBRAttn.24, IBRAttn.6, ID, InRatioCor.15, InRatioCor.24, InRatioCor.35, InRatioCor.58, InRatioCor.6, LESMnNeg.24, LESMnNeg.35, LESMnPos.24, LESMnPos.35, PmAge2, SAAmylase.15, SAAmylase.24, SAAmylase.6, StrDif_Tot.35, StrDif_Tot.58, WndNbrhood.24, WndNbrhood.35, WndNbrhood.58, WndNbrhood.6, ESETA1.Childhood, ESETA1.Infancy, ESETA1.Toddlerhood\" #> #> The following variables are designated as factors: #> [1] \"BioDadInHH2, DrnkFreq, HomeOwnd, PmBlac2, PmMrSt2, RHasSO.15, RHasSO.24, RHasSO.35, RHasSO.58, RHasSO.6, RHealth, SmokTotl, state, SurpPreg, TcBlac2\" #> #> Table: Other variable types #> #> | |variable |type | #> |:--------------|:--------------|:-------| #> |B18Raw.15 |B18Raw.15 |integer | #> |B18Raw.24 |B18Raw.24 |integer | #> |B18Raw.58 |B18Raw.58 |integer | #> |B18Raw.6 |B18Raw.6 |integer | #> |caregiv_health |caregiv_health |integer | #> |EARS_TJo.24 |EARS_TJo.24 |integer | #> |EARS_TJo.35 |EARS_TJo.35 |integer | #> |gov_assist |gov_assist |integer | #> |KFASTScr |KFASTScr |integer | #> |MDI.15 |MDI.15 |integer | #> |MDI.6 |MDI.6 |integer | #> |peri_health |peri_health |integer | #> |PmEd2 |PmEd2 |integer | #> |RMomAgeU |RMomAgeU |integer | #> |SWghtLB |SWghtLB |integer | #> #> #> #> #>
Summary of ESETA1 Information<\/caption> #>
#> #> | | ESETA1.6 | ESETA1.15 | ESETA1.24 | ESETA1.35 | ESETA1.58 | #> |:--|:---------------|:---------------|:---------------|:----------------|:----------------| #> | |Min. :-2.8090 |Min. :-3.1010 |Min. :-2.8580 |Min. :-3.24100 |Min. :-2.47800 | #> | |1st Qu.:-0.4193 |1st Qu.:-0.4153 |1st Qu.:-0.4665 |1st Qu.:-0.57050 |1st Qu.:-0.51100 | #> | |Median : 0.3030 |Median : 0.2165 |Median : 0.1445 |Median : 0.07300 |Median : 0.05650 | #> | |Mean : 0.2765 |Mean : 0.2115 |Mean : 0.1154 |Mean : 0.08565 |Mean : 0.07673 | #> | |3rd Qu.: 0.9000 |3rd Qu.: 0.8620 |3rd Qu.: 0.7258 |3rd Qu.: 0.74075 |3rd Qu.: 0.71425 | #> | |Max. : 4.0350 |Max. : 3.4740 |Max. : 3.2840 |Max. : 3.01400 |Max. : 3.17300 | #> #> <\/td> #> <\/tr> #> <\/tbody> #> <\/table> #> #> Table: Summary of StrDif_Tot.58 Information #> #> | Min.| X1st.Qu.| Median| Mean| X3rd.Qu.| Max.| #> |------:|--------:|------:|---------:|--------:|-----:| #> | -0.497| 0.297| 0.48| 0.4897314| 0.689| 1.448| #> Imputation 2 #> USER ALERT: Out of the total of 1292 individuals in the sample, below is the distribution of the 333 (26%) individuals that fall into 2 user-selected exposure histories (out of the 27 total) created from 30th and 60th percentile values for low and high levels of exposure-epoch Infancy, Toddlerhood, Childhood. #> USER ALERT: Please inspect the distribution of the sample across the following exposure histories and ensure there is sufficient spread to avoid extrapolation and low precision: #> #> +---------------+-----+ #> | epoch_history | n | #> +===============+=====+ #> | h-h-h | 218 | #> +---------------+-----+ #> | l-l-l | 115 | #> +---------------+-----+ #> #> Table: Summary of user-selected exposure histories based on exposure main effects Infancy, Toddlerhood, Childhood: #> USER ALERT: Below are the 55 variables spanning 32 unique domains that will be treated as confounding variables for the relation between ESETA1 and StrDif_Tot.58. #> Please inspect this list carefully. It should include all time-varying covariates, time invariant covariates, as well as lagged levels of exposure and outcome variables if they were collected at time points earlier than the outcome time point. #> [1] \"B18Raw.15\" \"B18Raw.24\" \"B18Raw.6\" \"BioDadInHH2\" #> [5] \"caregiv_health\" \"CORTB.15\" \"CORTB.24\" \"CORTB.6\" #> [9] \"DrnkFreq\" \"EARS_TJo.24\" \"EARS_TJo.35\" \"fscore.35\" #> [13] \"gov_assist\" \"HOMEETA1.15\" \"HOMEETA1.24\" \"HOMEETA1.35\" #> [17] \"HOMEETA1.6\" \"HomeOwnd\" \"IBRAttn.15\" \"IBRAttn.24\" #> [21] \"IBRAttn.6\" \"InRatioCor.15\" \"InRatioCor.24\" \"InRatioCor.35\" #> [25] \"InRatioCor.6\" \"KFASTScr\" \"LESMnNeg.24\" \"LESMnNeg.35\" #> [29] \"LESMnPos.24\" \"LESMnPos.35\" \"MDI.15\" \"MDI.6\" #> [33] \"peri_health\" \"PmAge2\" \"PmBlac2\" \"PmEd2\" #> [37] \"PmMrSt2\" \"RHasSO.15\" \"RHasSO.24\" \"RHasSO.35\" #> [41] \"RHasSO.6\" \"RHealth\" \"RMomAgeU\" \"SAAmylase.15\" #> [45] \"SAAmylase.24\" \"SAAmylase.6\" \"SmokTotl\" \"state\" #> [49] \"StrDif_Tot.35\" \"SurpPreg\" \"SWghtLB\" \"TcBlac2\" #> [53] \"WndNbrhood.24\" \"WndNbrhood.35\" \"WndNbrhood.6\" #> #> The following variables are designated as numeric: #> [1] \"ALI_Le.35, CORTB.15, CORTB.24, CORTB.6, ESETA1.15, ESETA1.24, ESETA1.35, ESETA1.58, ESETA1.6, fscore.35, fscore.58, HOMEETA1.15, HOMEETA1.24, HOMEETA1.35, HOMEETA1.58, HOMEETA1.6, IBRAttn.15, IBRAttn.24, IBRAttn.6, ID, InRatioCor.15, InRatioCor.24, InRatioCor.35, InRatioCor.58, InRatioCor.6, LESMnNeg.24, LESMnNeg.35, LESMnPos.24, LESMnPos.35, PmAge2, SAAmylase.15, SAAmylase.24, SAAmylase.6, StrDif_Tot.35, StrDif_Tot.58, WndNbrhood.24, WndNbrhood.35, WndNbrhood.58, WndNbrhood.6, ESETA1.Childhood, ESETA1.Infancy, ESETA1.Toddlerhood\" #> #> The following variables are designated as factors: #> [1] \"BioDadInHH2, DrnkFreq, HomeOwnd, PmBlac2, PmMrSt2, RHasSO.15, RHasSO.24, RHasSO.35, RHasSO.58, RHasSO.6, RHealth, SmokTotl, state, SurpPreg, TcBlac2\" #> #> Table: Other variable types #> #> | |variable |type | #> |:--------------|:--------------|:-------| #> |B18Raw.15 |B18Raw.15 |integer | #> |B18Raw.24 |B18Raw.24 |integer | #> |B18Raw.58 |B18Raw.58 |integer | #> |B18Raw.6 |B18Raw.6 |integer | #> |caregiv_health |caregiv_health |integer | #> |EARS_TJo.24 |EARS_TJo.24 |integer | #> |EARS_TJo.35 |EARS_TJo.35 |integer | #> |gov_assist |gov_assist |integer | #> |KFASTScr |KFASTScr |integer | #> |MDI.15 |MDI.15 |integer | #> |MDI.6 |MDI.6 |integer | #> |peri_health |peri_health |integer | #> |PmEd2 |PmEd2 |integer | #> |RMomAgeU |RMomAgeU |integer | #> |SWghtLB |SWghtLB |integer | #> #> #> #> #>
Summary of ESETA1 Information<\/caption> #>
#> #> | | ESETA1.6 | ESETA1.15 | ESETA1.24 | ESETA1.35 | ESETA1.58 | #> |:--|:---------------|:---------------|:---------------|:----------------|:----------------| #> | |Min. :-2.8090 |Min. :-3.1010 |Min. :-2.8580 |Min. :-3.24100 |Min. :-2.47800 | #> | |1st Qu.:-0.3245 |1st Qu.:-0.4133 |1st Qu.:-0.5020 |1st Qu.:-0.56900 |1st Qu.:-0.53350 | #> | |Median : 0.3440 |Median : 0.2215 |Median : 0.1160 |Median : 0.07400 |Median : 0.08300 | #> | |Mean : 0.3201 |Mean : 0.2022 |Mean : 0.1229 |Mean : 0.08662 |Mean : 0.07949 | #> | |3rd Qu.: 0.9423 |3rd Qu.: 0.8482 |3rd Qu.: 0.7380 |3rd Qu.: 0.74625 |3rd Qu.: 0.70550 | #> | |Max. : 4.0350 |Max. : 3.4740 |Max. : 3.2840 |Max. : 3.01400 |Max. : 3.17300 | #> #> <\/td> #> <\/tr> #> <\/tbody> #> <\/table> #> #> Table: Summary of StrDif_Tot.58 Information #> #> | Min.| X1st.Qu.| Median| Mean| X3rd.Qu.| Max.| #> |------:|--------:|------:|--------:|--------:|-----:| #> | -0.497| 0.29675| 0.472| 0.489219| 0.69325| 1.448| #> [[1]] #> NULL #> #> [[2]] #> NULL"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"step-p3--specify-core-inputs","dir":"Articles","previous_headings":"","what":"STEP P3. Specify Core Inputs","title":"Workflow: Continuous Exposure","text":"first step create initial MSM object specifying core variables data use package. Please see Specifying Core Inputs vignette detail following core inputs. , specify data, exposure, time invariant time-varying confounders, well exposure epochs. several optional fields user specify MSM object. user also option specify concur_conf, indicating, list character strings, names time-varying confounders (e.g., “variable.time”) wish included concurrently weights formulas (overriding default include lagged confounders). done user strong evidence differentiate confounders mediators relation exposure contemporaneously. specify home directory given nature example, recommend save core function outputs. , use default period time delimiter. specify 6 time points exposure. , specify 60th 30th percentiles demarcate high low levels economic strain exposure, respectively. specify first two exposure time points (6 15 months) considered infancy, second two (34 25 months) toddlerhood, final (58 months) childhood. See Specify Core Inputs vignette information. , specify low economic strain epochs (“l-l-l”) reference event comparison high levels epochs (“h-h-h”) examine example question comparing causal effects 0 vs 3 doses exposure economic strain children’s behavior problems. specify outcome behavior problems 58 months. specify time-invariant time-varying confounders. specify concurrent confounders , given data, unable disentangle mediators colliders.","code":"# home_dir = '/Users/isabella/Library/CloudStorage/Box-Box/BSL General/MSMs/testing/isa' sep <- \"\\\\.\" exposure <- c(\"ESETA1.6\", \"ESETA1.15\", \"ESETA1.24\", \"ESETA1.35\", \"ESETA1.58\") hi_lo_cut <- c(0.6, 0.3) epochs <- c(\"Infancy\", \"Infancy\", \"Toddlerhood\", \"Toddlerhood\", \"Childhood\") reference <- c(\"l-l-l\") comparison <- c(\"h-h-h\") outcome <- \"StrDif_Tot.58\" ti_conf <- c( \"state\", \"BioDadInHH2\", \"PmAge2\", \"PmBlac2\", \"TcBlac2\", \"PmMrSt2\", \"PmEd2\", \"KFASTScr\", \"RMomAgeU\", \"RHealth\", \"HomeOwnd\", \"SWghtLB\", \"SurpPreg\", \"SmokTotl\", \"DrnkFreq\", \"peri_health\", \"caregiv_health\", \"gov_assist\") tv_conf <- c(\"SAAmylase.6\", \"SAAmylase.15\", \"SAAmylase.24\", \"MDI.6\", \"MDI.15\", \"RHasSO.6\", \"RHasSO.15\", \"RHasSO.24\", \"RHasSO.35\", \"WndNbrhood.6\", \"WndNbrhood.24\", \"WndNbrhood.35\", \"IBRAttn.6\", \"IBRAttn.15\", \"IBRAttn.24\", \"B18Raw.6\", \"B18Raw.15\", \"B18Raw.24\", \"HOMEETA1.6\", \"HOMEETA1.15\", \"HOMEETA1.24\", \"HOMEETA1.35\", \"InRatioCor.6\", \"InRatioCor.15\", \"InRatioCor.24\", \"InRatioCor.35\", \"CORTB.6\", \"CORTB.15\", \"CORTB.24\", \"EARS_TJo.24\", \"EARS_TJo.35\", \"LESMnPos.24\", \"LESMnPos.35\", \"LESMnNeg.24\", \"LESMnNeg.35\", \"StrDif_Tot.35\", \"fscore.35\")"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"p3-1-recommended-home-directory","dir":"Articles","previous_headings":"Phase 0: Preliminary Conceptual & Data Preparation","what":"P3.1 Recommended: Home Directory","title":"Workflow: Continuous Exposure","text":"specify home directory given nature example, recommend save core function outputs.","code":"# home_dir = '/Users/isabella/Library/CloudStorage/Box-Box/BSL General/MSMs/testing/isa'"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"p3-2-recommended-time-point-delimiter","dir":"Articles","previous_headings":"Phase 0: Preliminary Conceptual & Data Preparation","what":"P3.2 Recommended: Time Point Delimiter","title":"Workflow: Continuous Exposure","text":", use default period time delimiter.","code":"sep <- \"\\\\.\""},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"p3-3-required-exposure-variable","dir":"Articles","previous_headings":"Phase 0: Preliminary Conceptual & Data Preparation","what":"P3.3 Required: Exposure Variable","title":"Workflow: Continuous Exposure","text":"specify 6 time points exposure.","code":"exposure <- c(\"ESETA1.6\", \"ESETA1.15\", \"ESETA1.24\", \"ESETA1.35\", \"ESETA1.58\")"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"p3-4--required-for-continuous-exposures-identify-high-and-low-cutoff-values","dir":"Articles","previous_headings":"Phase 0: Preliminary Conceptual & Data Preparation","what":"P3.4. Required for Continuous Exposures: Identify High and Low Cutoff Values","title":"Workflow: Continuous Exposure","text":", specify 60th 30th percentiles demarcate high low levels economic strain exposure, respectively.","code":"hi_lo_cut <- c(0.6, 0.3)"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"p3-5-optional-exposure-epochs","dir":"Articles","previous_headings":"Phase 0: Preliminary Conceptual & Data Preparation","what":"P3.5 Optional: Exposure Epochs","title":"Workflow: Continuous Exposure","text":"specify first two exposure time points (6 15 months) considered infancy, second two (34 25 months) toddlerhood, final (58 months) childhood.","code":"epochs <- c(\"Infancy\", \"Infancy\", \"Toddlerhood\", \"Toddlerhood\", \"Childhood\")"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"p3-6-recommended-hypotheses-relevant-exposure-histories","dir":"Articles","previous_headings":"Phase 0: Preliminary Conceptual & Data Preparation","what":"P3.6 Recommended: Hypotheses-Relevant Exposure Histories","title":"Workflow: Continuous Exposure","text":"See Specify Core Inputs vignette information. , specify low economic strain epochs (“l-l-l”) reference event comparison high levels epochs (“h-h-h”) examine example question comparing causal effects 0 vs 3 doses exposure economic strain children’s behavior problems.","code":"reference <- c(\"l-l-l\") comparison <- c(\"h-h-h\")"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"p3-7-required-outcome-variable","dir":"Articles","previous_headings":"Phase 0: Preliminary Conceptual & Data Preparation","what":"P3.7 Required: Outcome Variable","title":"Workflow: Continuous Exposure","text":"specify outcome behavior problems 58 months.","code":"outcome <- \"StrDif_Tot.58\""},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"p3-8-recommended-confounders","dir":"Articles","previous_headings":"Phase 0: Preliminary Conceptual & Data Preparation","what":"P3.8 Recommended: Confounders","title":"Workflow: Continuous Exposure","text":"specify time-invariant time-varying confounders.","code":"ti_conf <- c( \"state\", \"BioDadInHH2\", \"PmAge2\", \"PmBlac2\", \"TcBlac2\", \"PmMrSt2\", \"PmEd2\", \"KFASTScr\", \"RMomAgeU\", \"RHealth\", \"HomeOwnd\", \"SWghtLB\", \"SurpPreg\", \"SmokTotl\", \"DrnkFreq\", \"peri_health\", \"caregiv_health\", \"gov_assist\") tv_conf <- c(\"SAAmylase.6\", \"SAAmylase.15\", \"SAAmylase.24\", \"MDI.6\", \"MDI.15\", \"RHasSO.6\", \"RHasSO.15\", \"RHasSO.24\", \"RHasSO.35\", \"WndNbrhood.6\", \"WndNbrhood.24\", \"WndNbrhood.35\", \"IBRAttn.6\", \"IBRAttn.15\", \"IBRAttn.24\", \"B18Raw.6\", \"B18Raw.15\", \"B18Raw.24\", \"HOMEETA1.6\", \"HOMEETA1.15\", \"HOMEETA1.24\", \"HOMEETA1.35\", \"InRatioCor.6\", \"InRatioCor.15\", \"InRatioCor.24\", \"InRatioCor.35\", \"CORTB.6\", \"CORTB.15\", \"CORTB.24\", \"EARS_TJo.24\", \"EARS_TJo.35\", \"LESMnPos.24\", \"LESMnPos.35\", \"LESMnNeg.24\", \"LESMnNeg.35\", \"StrDif_Tot.35\", \"fscore.35\")"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"p3-8c-optional-concurrent-confounders","dir":"Articles","previous_headings":"Phase 0: Preliminary Conceptual & Data Preparation","what":"P3.8c Optional: Concurrent Confounders","title":"Workflow: Continuous Exposure","text":"specify concurrent confounders , given data, unable disentangle mediators colliders.","code":""},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"step-p4--data-preparation-inspection","dir":"Articles","previous_headings":"","what":"STEP P4. Data Preparation & Inspection","title":"Workflow: Continuous Exposure","text":"highly recommend first implementing Data Requirements & Preparation Vignette https://istallworthy.github.io/devMSMs/articles/Data_Requirements.html assigning variable, data, one following wide data formats (see Figure 1) use package: single data frame data wide format missing data mids object (output mice::mice()) data imputed wide format list data imputed wide format data frames See Data Preparation vignette detail. first load 2 imputed datasets mice object. data simulated based data Family Life Project (FLP), longitudinal study following 1,292 families representative two geographic areas (three counties North Carolina three counties Pennsylvania) high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). take example exposure economic strain (“ESETA1”) measured 6, 15, 24, 35, 58 months relation outcome behavior problems (“StrDif_Tot”) measured 58 months. (See Data Requirements & Preparation vignette beginning data types, including missing data). set seed reproducibility. , inspect MSMS object view confirm variables categorized. users, highly recommend use helper inspectData() function (complete dataset long wide format imputed data case missingness) summarize exposure, outcome, confounders inspect sample distribution among exposure histories. Based user-specified exposure epochs high low quantile values (continuous exposures), function outputs table showing sample distribution across histories. strongly suggest visually inspecting table revising designation epochs /high low quantile values (continuous exposures) history contains reasonable number participants. gold standard required number per history cell, users guard extrapolation beyond scope data. example, data, using 75th 25th percentile cutoffs, histories represented less two cases thus re-evaluated cutoffs. Users may wish revise epoch designation high low cutoff values, applicable. function conducts summaries history distribution inspection imputed dataset imputed data supplied. required inputs inspectData() : complete data (data frame wide long format, list imputed data frames wide format, mids object), exposure (e.g., “variable”), outcome (e.g., “variable.t”). exposure continuously distributed, user required supply hi_lo_cut values demarcating high low levels. Optional inputs home directory (save.= TRUE), epochs, high/low cutoff values continuous exposures, specification reference comparison histories. helper inspectData() function outputs following files home directory: correlation plot variables dataset, tables exposure outcome descriptive statistics, two summary tables confounders considered time point. , see summaries data types well reasonable cell counts specified histories, imputed dataset.","code":"data(\"sim_data_mice\", package = \"devMSMs\") data <- sim_data_mice head(mice::complete(data, 1), n = c(5, 10)) #> ALI_Le.35 B18Raw.15 B18Raw.24 B18Raw.58 B18Raw.6 BioDadInHH2 caregiv_health #> 1 3 1 1 7 16 1 3 #> 2 2 4 -7 7 0 0 0 #> 3 3 6 5 20 -1 0 3 #> 4 4 24 25 17 11 0 3 #> 5 3 -8 -9 17 1 1 2 #> CORTB.15 CORTB.24 CORTB.6 #> 1 -0.227 -0.652 0.742 #> 2 0.149 0.831 0.018 #> 3 1.145 0.033 -0.379 #> 4 0.301 -0.501 0.000 #> 5 -0.247 0.084 0.153 set.seed(1234) obj <- initMSM( data, exposure = c(\"ESETA1.6\", \"ESETA1.15\", \"ESETA1.24\", \"ESETA1.35\", \"ESETA1.58\"), ti_conf = c(\"state\", \"BioDadInHH2\", \"PmAge2\", \"PmBlac2\", \"TcBlac2\", \"PmMrSt2\", \"PmEd2\", \"KFASTScr\", \"RMomAgeU\", \"RHealth\", \"HomeOwnd\", \"SWghtLB\", \"SurpPreg\", \"SmokTotl\", \"DrnkFreq\", \"peri_health\", \"caregiv_health\", \"gov_assist\"), tv_conf = c(\"SAAmylase.6\",\"SAAmylase.15\", \"SAAmylase.24\", \"MDI.6\", \"MDI.15\", \"RHasSO.6\", \"RHasSO.15\", \"RHasSO.24\",\"RHasSO.35\", \"WndNbrhood.6\",\"WndNbrhood.24\", \"WndNbrhood.35\", \"IBRAttn.6\", \"IBRAttn.15\", \"IBRAttn.24\", \"B18Raw.6\", \"B18Raw.15\", \"B18Raw.24\", \"HOMEETA1.6\", \"HOMEETA1.15\", \"HOMEETA1.24\", \"HOMEETA1.35\", \"InRatioCor.6\", \"InRatioCor.15\", \"InRatioCor.24\", \"InRatioCor.35\", \"CORTB.6\", \"CORTB.15\", \"CORTB.24\", \"EARS_TJo.24\", \"EARS_TJo.35\", \"LESMnPos.24\", \"LESMnPos.35\", \"LESMnNeg.24\", \"LESMnNeg.35\", \"StrDif_Tot.35\", \"fscore.35\"), epoch <- c(\"Infancy\", \"Infancy\", \"Toddlerhood\", \"Toddlerhood\", \"Childhood\"), sep = \"\\\\.\" ) print(obj) #> Exposure (continuous): ESETA1.6, ESETA1.15, ESETA1.24, ESETA1.35, ESETA1.58 #> Corresponding epoch: Infancy, Infancy, Toddlerhood, Toddlerhood, Childhood #> Variable and their encodings: #> var type time #> ESETA1.6 exposure 6 #> ESETA1.15 exposure 15 #> ESETA1.24 exposure 24 #> ESETA1.35 exposure 35 #> ESETA1.58 exposure 58 #> SAAmylase.6 tv_conf 6 #> SAAmylase.15 tv_conf 15 #> SAAmylase.24 tv_conf 24 #> MDI.6 tv_conf 6 #> MDI.15 tv_conf 15 #> RHasSO.6 tv_conf 6 #> RHasSO.15 tv_conf 15 #> RHasSO.24 tv_conf 24 #> RHasSO.35 tv_conf 35 #> WndNbrhood.6 tv_conf 6 #> WndNbrhood.24 tv_conf 24 #> WndNbrhood.35 tv_conf 35 #> IBRAttn.6 tv_conf 6 #> IBRAttn.15 tv_conf 15 #> IBRAttn.24 tv_conf 24 #> B18Raw.6 tv_conf 6 #> B18Raw.15 tv_conf 15 #> B18Raw.24 tv_conf 24 #> HOMEETA1.6 tv_conf 6 #> HOMEETA1.15 tv_conf 15 #> HOMEETA1.24 tv_conf 24 #> HOMEETA1.35 tv_conf 35 #> InRatioCor.6 tv_conf 6 #> InRatioCor.15 tv_conf 15 #> InRatioCor.24 tv_conf 24 #> InRatioCor.35 tv_conf 35 #> CORTB.6 tv_conf 6 #> CORTB.15 tv_conf 15 #> CORTB.24 tv_conf 24 #> EARS_TJo.24 tv_conf 24 #> EARS_TJo.35 tv_conf 35 #> LESMnPos.24 tv_conf 24 #> LESMnPos.35 tv_conf 35 #> LESMnNeg.24 tv_conf 24 #> LESMnNeg.35 tv_conf 35 #> StrDif_Tot.35 tv_conf 35 #> fscore.35 tv_conf 35 #> state ti_conf -1 #> BioDadInHH2 ti_conf -1 #> PmAge2 ti_conf -1 #> PmBlac2 ti_conf -1 #> TcBlac2 ti_conf -1 #> PmMrSt2 ti_conf -1 #> PmEd2 ti_conf -1 #> KFASTScr ti_conf -1 #> RMomAgeU ti_conf -1 #> RHealth ti_conf -1 #> HomeOwnd ti_conf -1 #> SWghtLB ti_conf -1 #> SurpPreg ti_conf -1 #> SmokTotl ti_conf -1 #> DrnkFreq ti_conf -1 #> peri_health ti_conf -1 #> caregiv_health ti_conf -1 #> gov_assist ti_conf -1 inspectData(data = data, obj = obj, outcome = outcome, hi_lo_cut = hi_lo_cut, reference = reference, comparison = comparison, verbose = TRUE, save.out = save.out) #> Imputation 1 #> USER ALERT: Out of the total of 1292 individuals in the sample, below is the distribution of the 333 (26%) individuals that fall into 2 user-selected exposure histories (out of the 27 total) created from 30th and 60th percentile values for low and high levels of exposure-epoch Infancy, Toddlerhood, Childhood. #> USER ALERT: Please inspect the distribution of the sample across the following exposure histories and ensure there is sufficient spread to avoid extrapolation and low precision: #> #> +---------------+-----+ #> | epoch_history | n | #> +===============+=====+ #> | h-h-h | 214 | #> +---------------+-----+ #> | l-l-l | 119 | #> +---------------+-----+ #> #> Table: Summary of user-selected exposure histories based on exposure main effects Infancy, Toddlerhood, Childhood: #> USER ALERT: Below are the 55 variables spanning 32 unique domains that will be treated as confounding variables for the relation between ESETA1 and StrDif_Tot.58. #> Please inspect this list carefully. It should include all time-varying covariates, time invariant covariates, as well as lagged levels of exposure and outcome variables if they were collected at time points earlier than the outcome time point. #> [1] \"B18Raw.15\" \"B18Raw.24\" \"B18Raw.6\" \"BioDadInHH2\" #> [5] \"caregiv_health\" \"CORTB.15\" \"CORTB.24\" \"CORTB.6\" #> [9] \"DrnkFreq\" \"EARS_TJo.24\" \"EARS_TJo.35\" \"fscore.35\" #> [13] \"gov_assist\" \"HOMEETA1.15\" \"HOMEETA1.24\" \"HOMEETA1.35\" #> [17] \"HOMEETA1.6\" \"HomeOwnd\" \"IBRAttn.15\" \"IBRAttn.24\" #> [21] \"IBRAttn.6\" \"InRatioCor.15\" \"InRatioCor.24\" \"InRatioCor.35\" #> [25] \"InRatioCor.6\" \"KFASTScr\" \"LESMnNeg.24\" \"LESMnNeg.35\" #> [29] \"LESMnPos.24\" \"LESMnPos.35\" \"MDI.15\" \"MDI.6\" #> [33] \"peri_health\" \"PmAge2\" \"PmBlac2\" \"PmEd2\" #> [37] \"PmMrSt2\" \"RHasSO.15\" \"RHasSO.24\" \"RHasSO.35\" #> [41] \"RHasSO.6\" \"RHealth\" \"RMomAgeU\" \"SAAmylase.15\" #> [45] \"SAAmylase.24\" \"SAAmylase.6\" \"SmokTotl\" \"state\" #> [49] \"StrDif_Tot.35\" \"SurpPreg\" \"SWghtLB\" \"TcBlac2\" #> [53] \"WndNbrhood.24\" \"WndNbrhood.35\" \"WndNbrhood.6\" #> #> The following variables are designated as numeric: #> [1] \"ALI_Le.35, CORTB.15, CORTB.24, CORTB.6, ESETA1.15, ESETA1.24, ESETA1.35, ESETA1.58, ESETA1.6, fscore.35, fscore.58, HOMEETA1.15, HOMEETA1.24, HOMEETA1.35, HOMEETA1.58, HOMEETA1.6, IBRAttn.15, IBRAttn.24, IBRAttn.6, ID, InRatioCor.15, InRatioCor.24, InRatioCor.35, InRatioCor.58, InRatioCor.6, LESMnNeg.24, LESMnNeg.35, LESMnPos.24, LESMnPos.35, PmAge2, SAAmylase.15, SAAmylase.24, SAAmylase.6, StrDif_Tot.35, StrDif_Tot.58, WndNbrhood.24, WndNbrhood.35, WndNbrhood.58, WndNbrhood.6, ESETA1.Childhood, ESETA1.Infancy, ESETA1.Toddlerhood\" #> #> The following variables are designated as factors: #> [1] \"BioDadInHH2, DrnkFreq, HomeOwnd, PmBlac2, PmMrSt2, RHasSO.15, RHasSO.24, RHasSO.35, RHasSO.58, RHasSO.6, RHealth, SmokTotl, state, SurpPreg, TcBlac2\" #> #> Table: Other variable types #> #> | |variable |type | #> |:--------------|:--------------|:-------| #> |B18Raw.15 |B18Raw.15 |integer | #> |B18Raw.24 |B18Raw.24 |integer | #> |B18Raw.58 |B18Raw.58 |integer | #> |B18Raw.6 |B18Raw.6 |integer | #> |caregiv_health |caregiv_health |integer | #> |EARS_TJo.24 |EARS_TJo.24 |integer | #> |EARS_TJo.35 |EARS_TJo.35 |integer | #> |gov_assist |gov_assist |integer | #> |KFASTScr |KFASTScr |integer | #> |MDI.15 |MDI.15 |integer | #> |MDI.6 |MDI.6 |integer | #> |peri_health |peri_health |integer | #> |PmEd2 |PmEd2 |integer | #> |RMomAgeU |RMomAgeU |integer | #> |SWghtLB |SWghtLB |integer | #> #> #> #> #>
Summary of ESETA1 Information<\/caption> #>
#> #> | | ESETA1.6 | ESETA1.15 | ESETA1.24 | ESETA1.35 | ESETA1.58 | #> |:--|:---------------|:---------------|:---------------|:----------------|:----------------| #> | |Min. :-2.8090 |Min. :-3.1010 |Min. :-2.8580 |Min. :-3.24100 |Min. :-2.47800 | #> | |1st Qu.:-0.4193 |1st Qu.:-0.4153 |1st Qu.:-0.4665 |1st Qu.:-0.57050 |1st Qu.:-0.51100 | #> | |Median : 0.3030 |Median : 0.2165 |Median : 0.1445 |Median : 0.07300 |Median : 0.05650 | #> | |Mean : 0.2765 |Mean : 0.2115 |Mean : 0.1154 |Mean : 0.08565 |Mean : 0.07673 | #> | |3rd Qu.: 0.9000 |3rd Qu.: 0.8620 |3rd Qu.: 0.7258 |3rd Qu.: 0.74075 |3rd Qu.: 0.71425 | #> | |Max. : 4.0350 |Max. : 3.4740 |Max. : 3.2840 |Max. : 3.01400 |Max. : 3.17300 | #> #> <\/td> #> <\/tr> #> <\/tbody> #> <\/table> #> #> Table: Summary of StrDif_Tot.58 Information #> #> | Min.| X1st.Qu.| Median| Mean| X3rd.Qu.| Max.| #> |------:|--------:|------:|---------:|--------:|-----:| #> | -0.497| 0.297| 0.48| 0.4897314| 0.689| 1.448| #> Imputation 2 #> USER ALERT: Out of the total of 1292 individuals in the sample, below is the distribution of the 333 (26%) individuals that fall into 2 user-selected exposure histories (out of the 27 total) created from 30th and 60th percentile values for low and high levels of exposure-epoch Infancy, Toddlerhood, Childhood. #> USER ALERT: Please inspect the distribution of the sample across the following exposure histories and ensure there is sufficient spread to avoid extrapolation and low precision: #> #> +---------------+-----+ #> | epoch_history | n | #> +===============+=====+ #> | h-h-h | 218 | #> +---------------+-----+ #> | l-l-l | 115 | #> +---------------+-----+ #> #> Table: Summary of user-selected exposure histories based on exposure main effects Infancy, Toddlerhood, Childhood: #> USER ALERT: Below are the 55 variables spanning 32 unique domains that will be treated as confounding variables for the relation between ESETA1 and StrDif_Tot.58. #> Please inspect this list carefully. It should include all time-varying covariates, time invariant covariates, as well as lagged levels of exposure and outcome variables if they were collected at time points earlier than the outcome time point. #> [1] \"B18Raw.15\" \"B18Raw.24\" \"B18Raw.6\" \"BioDadInHH2\" #> [5] \"caregiv_health\" \"CORTB.15\" \"CORTB.24\" \"CORTB.6\" #> [9] \"DrnkFreq\" \"EARS_TJo.24\" \"EARS_TJo.35\" \"fscore.35\" #> [13] \"gov_assist\" \"HOMEETA1.15\" \"HOMEETA1.24\" \"HOMEETA1.35\" #> [17] \"HOMEETA1.6\" \"HomeOwnd\" \"IBRAttn.15\" \"IBRAttn.24\" #> [21] \"IBRAttn.6\" \"InRatioCor.15\" \"InRatioCor.24\" \"InRatioCor.35\" #> [25] \"InRatioCor.6\" \"KFASTScr\" \"LESMnNeg.24\" \"LESMnNeg.35\" #> [29] \"LESMnPos.24\" \"LESMnPos.35\" \"MDI.15\" \"MDI.6\" #> [33] \"peri_health\" \"PmAge2\" \"PmBlac2\" \"PmEd2\" #> [37] \"PmMrSt2\" \"RHasSO.15\" \"RHasSO.24\" \"RHasSO.35\" #> [41] \"RHasSO.6\" \"RHealth\" \"RMomAgeU\" \"SAAmylase.15\" #> [45] \"SAAmylase.24\" \"SAAmylase.6\" \"SmokTotl\" \"state\" #> [49] \"StrDif_Tot.35\" \"SurpPreg\" \"SWghtLB\" \"TcBlac2\" #> [53] \"WndNbrhood.24\" \"WndNbrhood.35\" \"WndNbrhood.6\" #> #> The following variables are designated as numeric: #> [1] \"ALI_Le.35, CORTB.15, CORTB.24, CORTB.6, ESETA1.15, ESETA1.24, ESETA1.35, ESETA1.58, ESETA1.6, fscore.35, fscore.58, HOMEETA1.15, HOMEETA1.24, HOMEETA1.35, HOMEETA1.58, HOMEETA1.6, IBRAttn.15, IBRAttn.24, IBRAttn.6, ID, InRatioCor.15, InRatioCor.24, InRatioCor.35, InRatioCor.58, InRatioCor.6, LESMnNeg.24, LESMnNeg.35, LESMnPos.24, LESMnPos.35, PmAge2, SAAmylase.15, SAAmylase.24, SAAmylase.6, StrDif_Tot.35, StrDif_Tot.58, WndNbrhood.24, WndNbrhood.35, WndNbrhood.58, WndNbrhood.6, ESETA1.Childhood, ESETA1.Infancy, ESETA1.Toddlerhood\" #> #> The following variables are designated as factors: #> [1] \"BioDadInHH2, DrnkFreq, HomeOwnd, PmBlac2, PmMrSt2, RHasSO.15, RHasSO.24, RHasSO.35, RHasSO.58, RHasSO.6, RHealth, SmokTotl, state, SurpPreg, TcBlac2\" #> #> Table: Other variable types #> #> | |variable |type | #> |:--------------|:--------------|:-------| #> |B18Raw.15 |B18Raw.15 |integer | #> |B18Raw.24 |B18Raw.24 |integer | #> |B18Raw.58 |B18Raw.58 |integer | #> |B18Raw.6 |B18Raw.6 |integer | #> |caregiv_health |caregiv_health |integer | #> |EARS_TJo.24 |EARS_TJo.24 |integer | #> |EARS_TJo.35 |EARS_TJo.35 |integer | #> |gov_assist |gov_assist |integer | #> |KFASTScr |KFASTScr |integer | #> |MDI.15 |MDI.15 |integer | #> |MDI.6 |MDI.6 |integer | #> |peri_health |peri_health |integer | #> |PmEd2 |PmEd2 |integer | #> |RMomAgeU |RMomAgeU |integer | #> |SWghtLB |SWghtLB |integer | #> #> #> #> #>
Summary of ESETA1 Information<\/caption> #>
#> #> | | ESETA1.6 | ESETA1.15 | ESETA1.24 | ESETA1.35 | ESETA1.58 | #> |:--|:---------------|:---------------|:---------------|:----------------|:----------------| #> | |Min. :-2.8090 |Min. :-3.1010 |Min. :-2.8580 |Min. :-3.24100 |Min. :-2.47800 | #> | |1st Qu.:-0.3245 |1st Qu.:-0.4133 |1st Qu.:-0.5020 |1st Qu.:-0.56900 |1st Qu.:-0.53350 | #> | |Median : 0.3440 |Median : 0.2215 |Median : 0.1160 |Median : 0.07400 |Median : 0.08300 | #> | |Mean : 0.3201 |Mean : 0.2022 |Mean : 0.1229 |Mean : 0.08662 |Mean : 0.07949 | #> | |3rd Qu.: 0.9423 |3rd Qu.: 0.8482 |3rd Qu.: 0.7380 |3rd Qu.: 0.74625 |3rd Qu.: 0.70550 | #> | |Max. : 4.0350 |Max. : 3.4740 |Max. : 3.2840 |Max. : 3.01400 |Max. : 3.17300 | #> #> <\/td> #> <\/tr> #> <\/tbody> #> <\/table> #> #> Table: Summary of StrDif_Tot.58 Information #> #> | Min.| X1st.Qu.| Median| Mean| X3rd.Qu.| Max.| #> |------:|--------:|------:|--------:|--------:|-----:| #> | -0.497| 0.29675| 0.472| 0.489219| 0.69325| 1.448| #> [[1]] #> NULL #> #> [[2]] #> NULL"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"p4-3b--required-read-in-wide-data","dir":"Articles","previous_headings":"Phase 0: Preliminary Conceptual & Data Preparation","what":"P4.3b. Required: Read in Wide Data","title":"Workflow: Continuous Exposure","text":"highly recommend first implementing Data Requirements & Preparation Vignette https://istallworthy.github.io/devMSMs/articles/Data_Requirements.html assigning variable, data, one following wide data formats (see Figure 1) use package: single data frame data wide format missing data mids object (output mice::mice()) data imputed wide format list data imputed wide format data frames See Data Preparation vignette detail. first load 2 imputed datasets mice object. data simulated based data Family Life Project (FLP), longitudinal study following 1,292 families representative two geographic areas (three counties North Carolina three counties Pennsylvania) high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). take example exposure economic strain (“ESETA1”) measured 6, 15, 24, 35, 58 months relation outcome behavior problems (“StrDif_Tot”) measured 58 months. (See Data Requirements & Preparation vignette beginning data types, including missing data).","code":"data(\"sim_data_mice\", package = \"devMSMs\") data <- sim_data_mice head(mice::complete(data, 1), n = c(5, 10)) #> ALI_Le.35 B18Raw.15 B18Raw.24 B18Raw.58 B18Raw.6 BioDadInHH2 caregiv_health #> 1 3 1 1 7 16 1 3 #> 2 2 4 -7 7 0 0 0 #> 3 3 6 5 20 -1 0 3 #> 4 4 24 25 17 11 0 3 #> 5 3 -8 -9 17 1 1 2 #> CORTB.15 CORTB.24 CORTB.6 #> 1 -0.227 -0.652 0.742 #> 2 0.149 0.831 0.018 #> 3 1.145 0.033 -0.379 #> 4 0.301 -0.501 0.000 #> 5 -0.247 0.084 0.153"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"p4-4-required-create-msm-object","dir":"Articles","previous_headings":"Phase 0: Preliminary Conceptual & Data Preparation","what":"P4.4 Required: Create MSM Object","title":"Workflow: Continuous Exposure","text":"set seed reproducibility. , inspect MSMS object view confirm variables categorized.","code":"set.seed(1234) obj <- initMSM( data, exposure = c(\"ESETA1.6\", \"ESETA1.15\", \"ESETA1.24\", \"ESETA1.35\", \"ESETA1.58\"), ti_conf = c(\"state\", \"BioDadInHH2\", \"PmAge2\", \"PmBlac2\", \"TcBlac2\", \"PmMrSt2\", \"PmEd2\", \"KFASTScr\", \"RMomAgeU\", \"RHealth\", \"HomeOwnd\", \"SWghtLB\", \"SurpPreg\", \"SmokTotl\", \"DrnkFreq\", \"peri_health\", \"caregiv_health\", \"gov_assist\"), tv_conf = c(\"SAAmylase.6\",\"SAAmylase.15\", \"SAAmylase.24\", \"MDI.6\", \"MDI.15\", \"RHasSO.6\", \"RHasSO.15\", \"RHasSO.24\",\"RHasSO.35\", \"WndNbrhood.6\",\"WndNbrhood.24\", \"WndNbrhood.35\", \"IBRAttn.6\", \"IBRAttn.15\", \"IBRAttn.24\", \"B18Raw.6\", \"B18Raw.15\", \"B18Raw.24\", \"HOMEETA1.6\", \"HOMEETA1.15\", \"HOMEETA1.24\", \"HOMEETA1.35\", \"InRatioCor.6\", \"InRatioCor.15\", \"InRatioCor.24\", \"InRatioCor.35\", \"CORTB.6\", \"CORTB.15\", \"CORTB.24\", \"EARS_TJo.24\", \"EARS_TJo.35\", \"LESMnPos.24\", \"LESMnPos.35\", \"LESMnNeg.24\", \"LESMnNeg.35\", \"StrDif_Tot.35\", \"fscore.35\"), epoch <- c(\"Infancy\", \"Infancy\", \"Toddlerhood\", \"Toddlerhood\", \"Childhood\"), sep = \"\\\\.\" ) print(obj) #> Exposure (continuous): ESETA1.6, ESETA1.15, ESETA1.24, ESETA1.35, ESETA1.58 #> Corresponding epoch: Infancy, Infancy, Toddlerhood, Toddlerhood, Childhood #> Variable and their encodings: #> var type time #> ESETA1.6 exposure 6 #> ESETA1.15 exposure 15 #> ESETA1.24 exposure 24 #> ESETA1.35 exposure 35 #> ESETA1.58 exposure 58 #> SAAmylase.6 tv_conf 6 #> SAAmylase.15 tv_conf 15 #> SAAmylase.24 tv_conf 24 #> MDI.6 tv_conf 6 #> MDI.15 tv_conf 15 #> RHasSO.6 tv_conf 6 #> RHasSO.15 tv_conf 15 #> RHasSO.24 tv_conf 24 #> RHasSO.35 tv_conf 35 #> WndNbrhood.6 tv_conf 6 #> WndNbrhood.24 tv_conf 24 #> WndNbrhood.35 tv_conf 35 #> IBRAttn.6 tv_conf 6 #> IBRAttn.15 tv_conf 15 #> IBRAttn.24 tv_conf 24 #> B18Raw.6 tv_conf 6 #> B18Raw.15 tv_conf 15 #> B18Raw.24 tv_conf 24 #> HOMEETA1.6 tv_conf 6 #> HOMEETA1.15 tv_conf 15 #> HOMEETA1.24 tv_conf 24 #> HOMEETA1.35 tv_conf 35 #> InRatioCor.6 tv_conf 6 #> InRatioCor.15 tv_conf 15 #> InRatioCor.24 tv_conf 24 #> InRatioCor.35 tv_conf 35 #> CORTB.6 tv_conf 6 #> CORTB.15 tv_conf 15 #> CORTB.24 tv_conf 24 #> EARS_TJo.24 tv_conf 24 #> EARS_TJo.35 tv_conf 35 #> LESMnPos.24 tv_conf 24 #> LESMnPos.35 tv_conf 35 #> LESMnNeg.24 tv_conf 24 #> LESMnNeg.35 tv_conf 35 #> StrDif_Tot.35 tv_conf 35 #> fscore.35 tv_conf 35 #> state ti_conf -1 #> BioDadInHH2 ti_conf -1 #> PmAge2 ti_conf -1 #> PmBlac2 ti_conf -1 #> TcBlac2 ti_conf -1 #> PmMrSt2 ti_conf -1 #> PmEd2 ti_conf -1 #> KFASTScr ti_conf -1 #> RMomAgeU ti_conf -1 #> RHealth ti_conf -1 #> HomeOwnd ti_conf -1 #> SWghtLB ti_conf -1 #> SurpPreg ti_conf -1 #> SmokTotl ti_conf -1 #> DrnkFreq ti_conf -1 #> peri_health ti_conf -1 #> caregiv_health ti_conf -1 #> gov_assist ti_conf -1"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"p4-5--recommended-inspect-exposure-histories-and-data","dir":"Articles","previous_headings":"Phase 0: Preliminary Conceptual & Data Preparation","what":"P4.5. Recommended: Inspect Exposure Histories and Data","title":"Workflow: Continuous Exposure","text":"users, highly recommend use helper inspectData() function (complete dataset long wide format imputed data case missingness) summarize exposure, outcome, confounders inspect sample distribution among exposure histories. Based user-specified exposure epochs high low quantile values (continuous exposures), function outputs table showing sample distribution across histories. strongly suggest visually inspecting table revising designation epochs /high low quantile values (continuous exposures) history contains reasonable number participants. gold standard required number per history cell, users guard extrapolation beyond scope data. example, data, using 75th 25th percentile cutoffs, histories represented less two cases thus re-evaluated cutoffs. Users may wish revise epoch designation high low cutoff values, applicable. function conducts summaries history distribution inspection imputed dataset imputed data supplied. required inputs inspectData() : complete data (data frame wide long format, list imputed data frames wide format, mids object), exposure (e.g., “variable”), outcome (e.g., “variable.t”). exposure continuously distributed, user required supply hi_lo_cut values demarcating high low levels. Optional inputs home directory (save.= TRUE), epochs, high/low cutoff values continuous exposures, specification reference comparison histories. helper inspectData() function outputs following files home directory: correlation plot variables dataset, tables exposure outcome descriptive statistics, two summary tables confounders considered time point. , see summaries data types well reasonable cell counts specified histories, imputed dataset.","code":"inspectData(data = data, obj = obj, outcome = outcome, hi_lo_cut = hi_lo_cut, reference = reference, comparison = comparison, verbose = TRUE, save.out = save.out) #> Imputation 1 #> USER ALERT: Out of the total of 1292 individuals in the sample, below is the distribution of the 333 (26%) individuals that fall into 2 user-selected exposure histories (out of the 27 total) created from 30th and 60th percentile values for low and high levels of exposure-epoch Infancy, Toddlerhood, Childhood. #> USER ALERT: Please inspect the distribution of the sample across the following exposure histories and ensure there is sufficient spread to avoid extrapolation and low precision: #> #> +---------------+-----+ #> | epoch_history | n | #> +===============+=====+ #> | h-h-h | 214 | #> +---------------+-----+ #> | l-l-l | 119 | #> +---------------+-----+ #> #> Table: Summary of user-selected exposure histories based on exposure main effects Infancy, Toddlerhood, Childhood: #> USER ALERT: Below are the 55 variables spanning 32 unique domains that will be treated as confounding variables for the relation between ESETA1 and StrDif_Tot.58. #> Please inspect this list carefully. It should include all time-varying covariates, time invariant covariates, as well as lagged levels of exposure and outcome variables if they were collected at time points earlier than the outcome time point. #> [1] \"B18Raw.15\" \"B18Raw.24\" \"B18Raw.6\" \"BioDadInHH2\" #> [5] \"caregiv_health\" \"CORTB.15\" \"CORTB.24\" \"CORTB.6\" #> [9] \"DrnkFreq\" \"EARS_TJo.24\" \"EARS_TJo.35\" \"fscore.35\" #> [13] \"gov_assist\" \"HOMEETA1.15\" \"HOMEETA1.24\" \"HOMEETA1.35\" #> [17] \"HOMEETA1.6\" \"HomeOwnd\" \"IBRAttn.15\" \"IBRAttn.24\" #> [21] \"IBRAttn.6\" \"InRatioCor.15\" \"InRatioCor.24\" \"InRatioCor.35\" #> [25] \"InRatioCor.6\" \"KFASTScr\" \"LESMnNeg.24\" \"LESMnNeg.35\" #> [29] \"LESMnPos.24\" \"LESMnPos.35\" \"MDI.15\" \"MDI.6\" #> [33] \"peri_health\" \"PmAge2\" \"PmBlac2\" \"PmEd2\" #> [37] \"PmMrSt2\" \"RHasSO.15\" \"RHasSO.24\" \"RHasSO.35\" #> [41] \"RHasSO.6\" \"RHealth\" \"RMomAgeU\" \"SAAmylase.15\" #> [45] \"SAAmylase.24\" \"SAAmylase.6\" \"SmokTotl\" \"state\" #> [49] \"StrDif_Tot.35\" \"SurpPreg\" \"SWghtLB\" \"TcBlac2\" #> [53] \"WndNbrhood.24\" \"WndNbrhood.35\" \"WndNbrhood.6\" #> #> The following variables are designated as numeric: #> [1] \"ALI_Le.35, CORTB.15, CORTB.24, CORTB.6, ESETA1.15, ESETA1.24, ESETA1.35, ESETA1.58, ESETA1.6, fscore.35, fscore.58, HOMEETA1.15, HOMEETA1.24, HOMEETA1.35, HOMEETA1.58, HOMEETA1.6, IBRAttn.15, IBRAttn.24, IBRAttn.6, ID, InRatioCor.15, InRatioCor.24, InRatioCor.35, InRatioCor.58, InRatioCor.6, LESMnNeg.24, LESMnNeg.35, LESMnPos.24, LESMnPos.35, PmAge2, SAAmylase.15, SAAmylase.24, SAAmylase.6, StrDif_Tot.35, StrDif_Tot.58, WndNbrhood.24, WndNbrhood.35, WndNbrhood.58, WndNbrhood.6, ESETA1.Childhood, ESETA1.Infancy, ESETA1.Toddlerhood\" #> #> The following variables are designated as factors: #> [1] \"BioDadInHH2, DrnkFreq, HomeOwnd, PmBlac2, PmMrSt2, RHasSO.15, RHasSO.24, RHasSO.35, RHasSO.58, RHasSO.6, RHealth, SmokTotl, state, SurpPreg, TcBlac2\" #> #> Table: Other variable types #> #> | |variable |type | #> |:--------------|:--------------|:-------| #> |B18Raw.15 |B18Raw.15 |integer | #> |B18Raw.24 |B18Raw.24 |integer | #> |B18Raw.58 |B18Raw.58 |integer | #> |B18Raw.6 |B18Raw.6 |integer | #> |caregiv_health |caregiv_health |integer | #> |EARS_TJo.24 |EARS_TJo.24 |integer | #> |EARS_TJo.35 |EARS_TJo.35 |integer | #> |gov_assist |gov_assist |integer | #> |KFASTScr |KFASTScr |integer | #> |MDI.15 |MDI.15 |integer | #> |MDI.6 |MDI.6 |integer | #> |peri_health |peri_health |integer | #> |PmEd2 |PmEd2 |integer | #> |RMomAgeU |RMomAgeU |integer | #> |SWghtLB |SWghtLB |integer | #> #> #> #> #>
Summary of ESETA1 Information<\/caption> #>
#> #> | | ESETA1.6 | ESETA1.15 | ESETA1.24 | ESETA1.35 | ESETA1.58 | #> |:--|:---------------|:---------------|:---------------|:----------------|:----------------| #> | |Min. :-2.8090 |Min. :-3.1010 |Min. :-2.8580 |Min. :-3.24100 |Min. :-2.47800 | #> | |1st Qu.:-0.4193 |1st Qu.:-0.4153 |1st Qu.:-0.4665 |1st Qu.:-0.57050 |1st Qu.:-0.51100 | #> | |Median : 0.3030 |Median : 0.2165 |Median : 0.1445 |Median : 0.07300 |Median : 0.05650 | #> | |Mean : 0.2765 |Mean : 0.2115 |Mean : 0.1154 |Mean : 0.08565 |Mean : 0.07673 | #> | |3rd Qu.: 0.9000 |3rd Qu.: 0.8620 |3rd Qu.: 0.7258 |3rd Qu.: 0.74075 |3rd Qu.: 0.71425 | #> | |Max. : 4.0350 |Max. : 3.4740 |Max. : 3.2840 |Max. : 3.01400 |Max. : 3.17300 | #> #> <\/td> #> <\/tr> #> <\/tbody> #> <\/table> #> #> Table: Summary of StrDif_Tot.58 Information #> #> | Min.| X1st.Qu.| Median| Mean| X3rd.Qu.| Max.| #> |------:|--------:|------:|---------:|--------:|-----:| #> | -0.497| 0.297| 0.48| 0.4897314| 0.689| 1.448| #> Imputation 2 #> USER ALERT: Out of the total of 1292 individuals in the sample, below is the distribution of the 333 (26%) individuals that fall into 2 user-selected exposure histories (out of the 27 total) created from 30th and 60th percentile values for low and high levels of exposure-epoch Infancy, Toddlerhood, Childhood. #> USER ALERT: Please inspect the distribution of the sample across the following exposure histories and ensure there is sufficient spread to avoid extrapolation and low precision: #> #> +---------------+-----+ #> | epoch_history | n | #> +===============+=====+ #> | h-h-h | 218 | #> +---------------+-----+ #> | l-l-l | 115 | #> +---------------+-----+ #> #> Table: Summary of user-selected exposure histories based on exposure main effects Infancy, Toddlerhood, Childhood: #> USER ALERT: Below are the 55 variables spanning 32 unique domains that will be treated as confounding variables for the relation between ESETA1 and StrDif_Tot.58. #> Please inspect this list carefully. It should include all time-varying covariates, time invariant covariates, as well as lagged levels of exposure and outcome variables if they were collected at time points earlier than the outcome time point. #> [1] \"B18Raw.15\" \"B18Raw.24\" \"B18Raw.6\" \"BioDadInHH2\" #> [5] \"caregiv_health\" \"CORTB.15\" \"CORTB.24\" \"CORTB.6\" #> [9] \"DrnkFreq\" \"EARS_TJo.24\" \"EARS_TJo.35\" \"fscore.35\" #> [13] \"gov_assist\" \"HOMEETA1.15\" \"HOMEETA1.24\" \"HOMEETA1.35\" #> [17] \"HOMEETA1.6\" \"HomeOwnd\" \"IBRAttn.15\" \"IBRAttn.24\" #> [21] \"IBRAttn.6\" \"InRatioCor.15\" \"InRatioCor.24\" \"InRatioCor.35\" #> [25] \"InRatioCor.6\" \"KFASTScr\" \"LESMnNeg.24\" \"LESMnNeg.35\" #> [29] \"LESMnPos.24\" \"LESMnPos.35\" \"MDI.15\" \"MDI.6\" #> [33] \"peri_health\" \"PmAge2\" \"PmBlac2\" \"PmEd2\" #> [37] \"PmMrSt2\" \"RHasSO.15\" \"RHasSO.24\" \"RHasSO.35\" #> [41] \"RHasSO.6\" \"RHealth\" \"RMomAgeU\" \"SAAmylase.15\" #> [45] \"SAAmylase.24\" \"SAAmylase.6\" \"SmokTotl\" \"state\" #> [49] \"StrDif_Tot.35\" \"SurpPreg\" \"SWghtLB\" \"TcBlac2\" #> [53] \"WndNbrhood.24\" \"WndNbrhood.35\" \"WndNbrhood.6\" #> #> The following variables are designated as numeric: #> [1] \"ALI_Le.35, CORTB.15, CORTB.24, CORTB.6, ESETA1.15, ESETA1.24, ESETA1.35, ESETA1.58, ESETA1.6, fscore.35, fscore.58, HOMEETA1.15, HOMEETA1.24, HOMEETA1.35, HOMEETA1.58, HOMEETA1.6, IBRAttn.15, IBRAttn.24, IBRAttn.6, ID, InRatioCor.15, InRatioCor.24, InRatioCor.35, InRatioCor.58, InRatioCor.6, LESMnNeg.24, LESMnNeg.35, LESMnPos.24, LESMnPos.35, PmAge2, SAAmylase.15, SAAmylase.24, SAAmylase.6, StrDif_Tot.35, StrDif_Tot.58, WndNbrhood.24, WndNbrhood.35, WndNbrhood.58, WndNbrhood.6, ESETA1.Childhood, ESETA1.Infancy, ESETA1.Toddlerhood\" #> #> The following variables are designated as factors: #> [1] \"BioDadInHH2, DrnkFreq, HomeOwnd, PmBlac2, PmMrSt2, RHasSO.15, RHasSO.24, RHasSO.35, RHasSO.58, RHasSO.6, RHealth, SmokTotl, state, SurpPreg, TcBlac2\" #> #> Table: Other variable types #> #> | |variable |type | #> |:--------------|:--------------|:-------| #> |B18Raw.15 |B18Raw.15 |integer | #> |B18Raw.24 |B18Raw.24 |integer | #> |B18Raw.58 |B18Raw.58 |integer | #> |B18Raw.6 |B18Raw.6 |integer | #> |caregiv_health |caregiv_health |integer | #> |EARS_TJo.24 |EARS_TJo.24 |integer | #> |EARS_TJo.35 |EARS_TJo.35 |integer | #> |gov_assist |gov_assist |integer | #> |KFASTScr |KFASTScr |integer | #> |MDI.15 |MDI.15 |integer | #> |MDI.6 |MDI.6 |integer | #> |peri_health |peri_health |integer | #> |PmEd2 |PmEd2 |integer | #> |RMomAgeU |RMomAgeU |integer | #> |SWghtLB |SWghtLB |integer | #> #> #> #> #>
Summary of ESETA1 Information<\/caption> #>
#> #> | | ESETA1.6 | ESETA1.15 | ESETA1.24 | ESETA1.35 | ESETA1.58 | #> |:--|:---------------|:---------------|:---------------|:----------------|:----------------| #> | |Min. :-2.8090 |Min. :-3.1010 |Min. :-2.8580 |Min. :-3.24100 |Min. :-2.47800 | #> | |1st Qu.:-0.3245 |1st Qu.:-0.4133 |1st Qu.:-0.5020 |1st Qu.:-0.56900 |1st Qu.:-0.53350 | #> | |Median : 0.3440 |Median : 0.2215 |Median : 0.1160 |Median : 0.07400 |Median : 0.08300 | #> | |Mean : 0.3201 |Mean : 0.2022 |Mean : 0.1229 |Mean : 0.08662 |Mean : 0.07949 | #> | |3rd Qu.: 0.9423 |3rd Qu.: 0.8482 |3rd Qu.: 0.7380 |3rd Qu.: 0.74625 |3rd Qu.: 0.70550 | #> | |Max. : 4.0350 |Max. : 3.4740 |Max. : 3.2840 |Max. : 3.01400 |Max. : 3.17300 | #> #> <\/td> #> <\/tr> #> <\/tbody> #> <\/table> #> #> Table: Summary of StrDif_Tot.58 Information #> #> | Min.| X1st.Qu.| Median| Mean| X3rd.Qu.| Max.| #> |------:|--------:|------:|--------:|--------:|-----:| #> | -0.497| 0.29675| 0.472| 0.489219| 0.69325| 1.448| #> [[1]] #> NULL #> #> [[2]] #> NULL"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"phase-1-confounder-adjustment","dir":"Articles","previous_headings":"","what":"PHASE 1: Confounder Adjustment","title":"Workflow: Continuous Exposure","text":"goal first phase minimize associations confounders exposure using IPTW balancing weights. strongly advise user carefully inspect weights formula ensure weights created evaluated appropriately step. first create comprehensive, full weights formulas relating exposure confounders time point using createFormulas() function (type = “full”). step creates full formulas containing measured confounding variables exposure time point, including time-invariant confounders lagged time-varying confounders. code automatically excludes time-varying confounders contemporaneous time point given decisively differentiated mediators balanced (Thoemmes & Ong, 2016), although can modified user strong reason believe concurrent variable truly confounder (see ). user wishes specify interactions confounders weights formulas, need manually create data listing . Keep mind interactions include factor variables decomposed interactions factor level. required input create full weights formulas using createFormulas() function : MSM object (e.g., “obj”) setting type = “full”. Optional inputs create full weights formulas using createFormulas() function follows. user may specify list custom formulas specifying custom list formulas, one exposure time point (e.g., “exposure.time ~ variable.time + variable +…”) formula format. recommend first running createFormulas() function without custom formulas (custom = NULL) using output model required format custom formulas. createFormulas() function automatically check custom formulas ensure correctly formatted formula exposure time point exposure dependent variable. However, user responsible ensuring custom formulas contain appropriate confounders formula type generating. Please see Customize weights formulas vignette detail customize formulas. chose create custom formulas instead use createFormulas() make automatically example. first create full formulas. function returns list formulas, one exposure time point. inspect . full formula contains time invariant confounders well lagged time-varying confounders time point. inspection important step, verify appropriate confounders present formula. inspect formulas . next step examines initial imbalance, strongly exposure relates confounder time point, measured confounders prior weighting using assessBalance() function. function draws calcBalStats() function (see Assessing Balance Time-Varying Exposure section accompanying manuscript). assessBalance() function outputs balance statistics (correlations continuous exposures standardized mean differences binary exposures) relating exposure time point confounders table well plots. function also provides summary balance statistics averaging across time points (imputed datasets supplied). required inputs using assessBalance() function conduct pre-balance testing : data (data frame, mids object, list imputed datasets dataframes wide format) MSM object (e.g., “obj”). Please see Assessing Balance Time-Varying Exposures vignette detail function calculates balance. optional inputs follows. user may specify balance_thresh, threshold(s) determining confounder balance, one two ways. * First, can provide single number value (0-1) absolute value standardized balance statistic (either correlation continuous exposures standardized group mean difference binary exposures) exposure confounders confounders considered balanced, considered imbalanced (default 0.1; Stuart, 2010). Second, users may make priori assertion confounders important others based theory existing research. case, can provide two numbers represent balance thresholds important less important confounders, respectively. user supplies two balance thresholds, must also supply list important confounders (time-varying: “variable.t”, time invariant: “variable”) imp_conf field. balance threshold specification kept consistent throughout use workflow. , recommended, provide two balancing thresholds identify income parent education important confounders relation economic strain behavior problems. create prebalance statistics . function returns list (one entry per imputed dataset, applicable), contains table exposure time point. able contains confounders time point, associated standardized balance statistics relating confounder exposure time point, user-supplied balance threshold, binary indicator whether confounder balanced. shown , can print, summarize, plot several versions balance statistics option supply save.save viewed output home directory. functions takes optional t field view balance statistics one exposure time points. t takes integer value 1 total number time points. specified, output shown exposure time points. imputed data, functions takes option field can used view balance one imputed data set. specified, output shown averaged across absolute values balance statistics imputed datasets. can useful average across imputed datasets get overall sense balance. non-imputed data, specify . can view prebalance statistics single imputed dataset (e.g., first imputed dataset), using field. Note supply t integers 1 however number time points exposure measured. example, first time point measures ESETA1 6 months corresponds t = 1. , can view prebalance statistics averaged across imputed data sets different time points specifying . can also used view balance statistics data imputed. can also summarize assessBalance() output view average remaining relation confounders exposure well summary table showing total number imbalanced confounders exposure time point. can view one imputed dataset averaged across . Averaging across imputed datasets, see xx confounders imbalanced respect economic strain exposure respective balance threshold. Lastly, can plot balance summary one time points, one imputed dataset averaged across . dotted red lines denote balance thresholds points colored labeled red denote confounders imbalanced relation respective balance thresholds. love plots depict standardized associations confounder exposure exposure time point, vertical red dashed lines indicating balance thresholds. Imbalanced confounders shown red variable name labels. goal second step create shortened, parsimonious weights formulas determining optimal IPTW weighting method successfully reduces imbalance data. First, create shorter, parsimonious weights formulas relating exposure confounders time point using createFormulas() function (type = “short”). exposure time point, formulas contain time invariant confounders well time-varying confounders t-1 lag. logic balancing confounders recent prior time point (t-1 ) may achieve balance levels distal time points, given stability many confounders time. Importantly, empirically assess relax assumption needed subsequent steps (Steps 3a-b). required input create shortened weights formulas using createFormulas() function : MSM object (e.g., ‘obj’) setting type = “short”. addition optional input outlined Step 1a, user also option specify keep_conf, list time-varying confounders (e.g., “variable.t”) always retain lagged confounders shortened formulas. user may use argument retain specific time-varying confounders otherwise excluded step occur lags greater t-1 formula. create short formulas . get list entries containing formula exposure time point. inspect make sure contain time-varying covariates lag one prior exposure time point. formulas considerably shorter full formulas. instance, 58-month exposure time point, formula contains time invariant confounders time-varying confounders 35-month time point. created shorter, simplified weights formulas, now create first round IPTW balancing weights (Thoemmes & Ong, 2016) using createWeights() function, shortened weights formulas, available weighting methods. function calls weightitMSM() function WeightIt package (Greifer, 2023) uses time-specific formulas create weights time point automatically multiplying together create one weight per person. Weights stabilized, recommended (Cole & Hernan, 2008; Thoemmes & Ong, 2016), distributions can saved inspection. required inputs using createWeights() function create initial around IPTW balancing weights : MSM object (e.g, ‘obj’), complete data (data frame, mids object, list imputed datasets dataframes wide format), short formulas (see Step 2a). specify short formulas . optional inputs follows. method, provide one following methods calculating balancing weights using weightitMSM() methods validated longitudinal exposures: “cbps” (Covariate Balancing Propensity Score weighting), “gbm” (generalized boosted model), “glm” (generalized linear model; default), “super” (SuperLearner via SuperLearner package; Polley et al., 2013). information can found WeightIt documentation. begin specifying CBPS weighting method. createWeights() function can also take number additional arguments accapted weightitMSM() function (e.g., ‘criterion’, distribution’, ‘SL.library’). package defaults correspond weightIt defaults. user selects SuperLearner (“super”) method, default super learner libraries (‘SL.library’) “SL.glm” “SL.glm.interaction” alternative library can entered input createWeights function. binary exposures, “cbps” method allows specify estimand either ATE, ATT, ATC. “glm”, “super”, “bart” can specify ATE, ATT, ATC, ATO, ATM, ATOS. “gbm”, can specify ATE, ATT, ATC, ATO, ATM. default estimand binary exposures ATE. advise interested user review WeightIt documentation information additional optional arguments available weighting methods. Users option specify verbose = TRUE view information weights creation. function returns list weights objects form WeightItMSM output (entry imputed dataset appropriate). , create IPTW weights using default CBPS method. take run. Note save weights (supplying save.= TRUE custom file name createWeights() home directory initMWM()), function outputs file path use reading weights future use. can useful given weighting methods can take long time run, especially imputed datasets. previously saved CBPS weights, read instead re-creating . Given separate set weights created imputed dataset, conduct inspections imputed dataset. First, view basic statistics CBPS weights given imputed dataset. , note median weight value 0.77 (SD= 1.18) fairly extensive range 0 - 9. Next, look inside output summarize weighting process (drawing summary method weightIt, given imputed dataset. summary also provides effective sample size, sample size results applying weights original sample size, time point. Weighting can often result effective weighted sample size smaller orignal sample size something keep mind evaluating weighting methods. example, see original 1,292 sample reduced 605 upon weighting CBPS method. view distribution plot weights one imputed dataset. user option supply save.save plots home directory. shown , distribution heavy right tail (typical real-world data). right tail distribution represents individuals experienced statistically unexpected levels exposure given levels confounders. create inspect IPTW balancing weights using available methods order evaluate compare performance subsequent steps. , summarize plot averaging across imputed datasets order get sense overall performance. Example inspections first imputed dataset. shown , GLM method produces higher median 1.27 much greater range weights. GBM method produces similar mean GLM similarly large range (0-216). bart method similar median even larger range (0-945). super method produces similar median range 0-270. Next, evaluate well weights created using different weighting methods reduced imbalance using assessBalance() function. function calls calcBalStats() function using short formulas specifies balance statistics calculated using IPTW weights supplied. required inputs using assessBalance() function assess balance first round IPTW weights : complete data (data frame, mids object, list imputed datasets dataframes wide format), MSM object (e.g., ‘obj’), weights just created. optional inputs described Step 1b. assessBalance() function returns data frame (list) balance statistics, balance thresholds, binary balanced tag (1 = balanced, 0 = imbalanced) confounder relevant exposure time point. function outputs balance statistics (correlations continuous exposures standardized mean differences binary exposures) relating exposure time point confounders table well plots. function also provides summary balance statistics averaging across time points (imputed datasets supplied). retain optional important confounders (imp_conf) balance threshold (balance_thresh) specified earlier. first assess balance CBPS weighting method. function returns list balance statistics expsoure time point, one entry per imputed dataset (applicable). assessing balance using imputed data, can average across imputed datasets view overall summary performance method. can also examine imputed dataset individually. summarize CBPS balance statistics across imputed datasets examine balance first imputed dataset. user option supply save.save printed output home directory. Averaging across imputed datasets, find 2 imbalanced confounders remaining (35-month exposure time point) 241, median remaining correlation 0.06 maximum 0.07. can visualize imbalance love plots, averaging across imputed datasets, exposure time point (first time point shown ). can also plot balance given imputed datset. can see income 6 15 months remains imbalanced 4th (35-month) time point. can inspect balance statistics confounder relation exposure time points one individually, either averaging across imputed datasets one individually. user option supply save.save printed output home directory. , show example balance statistics first time point, averaged across imputed datasets. shown , two remaining imbalanced confounders related exposure correlation values 0.065 0.061. , assess balance weighting method comparing . summaries, identify optimal weighting method dataset, one yields best confounder balance. , can consider several criteria. note exist gold-standard, hard fast rules identifying optimal balance (especially using imputed data). However, can draw following guidance: Fewest imbalanced confounders remaining relative user-specified balance threshold(s) (summary output); Lowest median absolute balance statistic, across confounders time points, reflecting best overall attenuation confounding (summary output); Lowest maximum absolute balance statistic, across confounders time points (imputed datasets, applicable), indicating weakest remaining relation exposure confounder least balanced confounder (summary output); Reasonable effective sample size following weighting (imputed datasets, applicable), indicating reasonable power detect effects (weightiIt summary output). first three, examine summaries weighting methods. , find CBPS method fewest imbalanced confounders (2), lowest median balance statistic, lowest max balance statistic. examine fourth criterion, use weightIt summary method examine effective sample sizes (“Weighted”) compared orignal sample size (“Unweighted”) across weighting methods. just first imputed dataset. , also find CBPS method yields highest effective sample size 605. inspections, identify best performing weighting method CBPS. goal next step closely inspect balance reults best-performing weights created shortened weights formulas, add shortened formulas time-varying confounders lags > t-1 successfully balanced, create final round weights. next inspect balance produced weights created previous step best-performing weights method (.e., using SuperLearner method). , revisit assumption balancing proximal time-varying confounders (t-1) confers balance confounders distal prior time points (t- 1+). closely inspect balance CBPS weights, averaged across imputed datasets. real-world data, often difficult fully balance many confounding variables, especially across time. user find confounders remain imbalanced, can skip Step 3d. Given identified remaining imbalanced confounders, proceed Step 3b. Subsequently, update shortened formulas include time-varying confounders (t-1 +) successfully balanced full formulas, shown . , create final round weights formulas using createFormulas() function (setting type = “update” providing balance statistics bal_stats field). createFormulas() function draws user-provided balance statistics automatically identify add formulas exposure time point time-varying confounders lags greater 1 remain imbalanced weighting. function displays weights formula console message user time-varying confounders added. required input update shortened weights formulas using createFormulas() function : MSM object (e.g., “obj”), setting type = “update”, providing bal_stats balance statistics just created Step 3a. optional input detailed Step 1a. function returns list weights formulas labeled type, exposure, outcome, exposure time point. , update short formulas using balance statistics best-performing weights. inspect new formulas make sure imbalanced covariates added appropriate formulas. user option supply save.save printed output home directory. shown , income 6 15 months (“InRatioCor.6” “InRatioCor.15”) added 35-month weights formula. originally weights formula given lags greater t -1. remaining imbalance suggests achieving balance 24-month income successfully balance prior levels income. use weights formulas recreate CBPS weights effort achieve greatest reduction balance. Next, create final set balancing weights using optimal weighting method identified Step 2c updated formulas previous step using createWeights() function (method = “…’), SuperLearner method optimal weighting method identified Step 2c. function calls weightitMSM() function WeightIt package (Greifer, 2023) uses time-specific formulas create weights time point automatically multiplying together create one weight per person. Weights stabilized, recommended (Cole & Hernan, 2008; Thoemmes & Ong, 2016) distributions saved home directory inspection. required inputs using createWeights() function create final round IPTW balancing weights using updated short weights formulas : complete data (data frame, mids object, list imputed datasets dataframes wide format), MSM object (e.g., “obj”), best-performing weights method, updated formulas (see Step 3a). optional input createWeights() function listed Step 2b. function returns list form WeightItMSM output. , use updated formulas CPBS weighting method create final round IPTW balancing weights. inspect final weights imputed dataset. user option supply save.save printed plot output home directory. shown , weights median value 0.77 range 0-9, . next step trim (.e., winsorize) final set weights eliminate heavy right tail distribution using trimWeights() function. function draws Weightit package (Griefer, 2023) plots summarizes trimmed weights. function outputs list trimmed weights either single nested list (labeled “0” data data frame format) nested lists imputed dataset (data imputed). required input trimWeights() function final weights just created. optional input allows user specify quantile value (0-1; default 0.95) weights replaced weight value quantile, reduce heavy right tail. , use default 95th percentile trimming weights. trim final weights . function returns list weights objects, containing trimmed weights, form weightitMSM output ( one entry per imputed dataset, applicable). entry also specifies quantile value weights trimmed. inspect trimmed weights one imputed datasets . user option supply save.save plots home directory. shown , weights still median value 0.77 smaller standard deviation range now goes 0-4. create trimmed weights using two quantile values + /- ~0.3 previously chosen quantile value, order conduct recommended sensitivity analyses subsequent steps. first create weights 92nd quantile value. Trimming 92nd quantile preserves median 0.77 even smaller standard deviation range. 98th quantile value. Trimming instead 98th quantile produces larger standard deviation range. find comparable descriptive statistics sets weights, upper range value varying quantile cutoff. assess consequences differences (e.g., different ranges) subsequent steps. created trimmed final set IPTW balancing weights, next step conduct final evaluation well reduce imbalance. assess performance final trimmed untrimmed weights using assessBalance() function. required inputs using assessBalance() function assess final, trimmed weights achieve balance full formulas : complete data (data frame, mids object, list imputed datasets dataframes wide format), MSM object (e.g., “obj”), weights. optional inputs assessBalance() function detailed Step 1b. , assess balance trimmed weights. Assess balance trimmed weights Summarize inspect. shown , trimmed weights result one imbalanced confounder relation exposure 15 months effective sample size 719. assess balance untrimmed weights Summarize inspect see non-trimmed weights result imbalanced confounders effective sample size 611. scenario, given , trimmed weights, imbalanced confounder (income 6 months) related exposure -0.051 trimmed weights yield higher effective sample size, proceed trimmed weights. summarize final balance statistics, averaging across imputed datasets. user option supply save.save plot output home directory. outcome modeling step (Step 5), users option include remaining imbalanced confounders time invariant covariates final outcome model. case, manually list imbalanced confounders time invariant assign covariates. Subsequently, also assess balance weights trimmed two additional quantile values assess whether final balance assessment sensitive trim value. first assess balance weights trimmed 93rd quantile value. , similarly find income 6 months imbalanced respect exposure 15 months (albeit slighter stronger correlation main analyses). next assess balance weights trimmed 98th quantile value. , find remaining imbalanced confounders (similar untrimmed results).","code":"type <- \"full\" full_formulas <- createFormulas(obj = obj, type = type, save.out = save.out) print(full_formulas) #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 6, the full formula for ESETA1.6 is: #> ESETA1.6 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 15, the full formula for ESETA1.15 is: #> ESETA1.15 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + MDI.6 + RHasSO.6 + WndNbrhood.6 + IBRAttn.6 + B18Raw.6 + HOMEETA1.6 + InRatioCor.6 + CORTB.6 + ESETA1.6 #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 24, the full formula for ESETA1.24 is: #> ESETA1.24 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + SAAmylase.15 + MDI.6 + MDI.15 + RHasSO.6 + RHasSO.15 + WndNbrhood.6 + IBRAttn.6 + IBRAttn.15 + B18Raw.6 + B18Raw.15 + HOMEETA1.6 + HOMEETA1.15 + InRatioCor.6 + InRatioCor.15 + CORTB.6 + CORTB.15 + ESETA1.6 + ESETA1.15 #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 35, the full formula for ESETA1.35 is: #> ESETA1.35 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + SAAmylase.15 + SAAmylase.24 + MDI.6 + MDI.15 + RHasSO.6 + RHasSO.15 + RHasSO.24 + WndNbrhood.6 + WndNbrhood.24 + IBRAttn.6 + IBRAttn.15 + IBRAttn.24 + B18Raw.6 + B18Raw.15 + B18Raw.24 + HOMEETA1.6 + HOMEETA1.15 + HOMEETA1.24 + InRatioCor.6 + InRatioCor.15 + InRatioCor.24 + CORTB.6 + CORTB.15 + CORTB.24 + EARS_TJo.24 + LESMnPos.24 + LESMnNeg.24 + ESETA1.6 + ESETA1.15 + ESETA1.24 #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 58, the full formula for ESETA1.58 is: #> ESETA1.58 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + SAAmylase.15 + SAAmylase.24 + MDI.6 + MDI.15 + RHasSO.6 + RHasSO.15 + RHasSO.24 + RHasSO.35 + WndNbrhood.6 + WndNbrhood.24 + WndNbrhood.35 + IBRAttn.6 + IBRAttn.15 + IBRAttn.24 + B18Raw.6 + B18Raw.15 + B18Raw.24 + HOMEETA1.6 + HOMEETA1.15 + HOMEETA1.24 + HOMEETA1.35 + InRatioCor.6 + InRatioCor.15 + InRatioCor.24 + InRatioCor.35 + CORTB.6 + CORTB.15 + CORTB.24 + EARS_TJo.24 + EARS_TJo.35 + LESMnPos.24 + LESMnPos.35 + LESMnNeg.24 + LESMnNeg.35 + StrDif_Tot.35 + fscore.35 + ESETA1.6 + ESETA1.15 + ESETA1.24 + ESETA1.35 balance_thresh <- c(0.05, 0.1) imp_conf <- c(\"InRatioCor.6\", \"InRatioCor.15\", \"InRatioCor.24\", \"InRatioCor.35\", \"PmEd2\") prebalance_stats <- assessBalance(obj = obj, data = data, balance_thresh = balance_thresh, imp_conf = imp_conf, save.out = save.out) print(prebalance_stats, i = 1, t = 1, save.out = save.out) #> #> +----------+----------------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +==========+================+===============+============+==========+ #> | ESETA1.6 | state_1 | 0.13324 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | BioDadInHH2_1 | -0.13865 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmAge2 | -0.06481 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmBlac2_1 | 0.17598 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | TcBlac2_1 | 0.20129 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmMrSt2_1 | -0.14101 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmEd2 | -0.23888 | 0.05 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | KFASTScr | -0.18058 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RMomAgeU | -0.11428 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_1 | -0.08223 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_2 | -0.01624 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_3 | 0.07892 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_4 | 0.10536 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_5 | 0.0588 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_1 | -0.13681 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_2 | -0.0364 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_3 | 0.09405 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_4 | 0.15808 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SWghtLB | -0.09514 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SurpPreg_1 | 0.10405 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_1 | 0.00731 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_2 | 0.04693 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_3 | 0.04867 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | DrnkFreq_1 | -0.0182 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | DrnkFreq_2 | 0.02272 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | peri_health | 0.02042 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | caregiv_health | 0.14314 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | gov_assist | 0.31012 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> #> Table: Balance Stats for Exposure Time 1 for imputation (1) print(prebalance_stats, t = 1, save.out = save.out) #> #> +----------+----------------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +==========+================+===============+============+==========+ #> | ESETA1.6 | state_1 | 0.12646 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | BioDadInHH2_1 | -0.13395 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmAge2 | -0.0525 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmBlac2_1 | 0.18314 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | TcBlac2_1 | 0.20776 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmMrSt2_1 | -0.12948 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmEd2 | -0.23456 | 0.05 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | KFASTScr | -0.17153 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RMomAgeU | -0.10139 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_1 | -0.07479 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_2 | -0.01536 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_3 | 0.07441 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_4 | 0.10334 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_5 | 0.05769 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_1 | -0.13942 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_2 | -0.04196 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_3 | 0.10162 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_4 | 0.15135 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SWghtLB | -0.09639 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SurpPreg_1 | 0.10475 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_1 | 0.0135 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_2 | 0.04304 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_3 | 0.05533 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | DrnkFreq_1 | -0.00539 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | DrnkFreq_2 | 0.01557 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | peri_health | 0.02454 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | caregiv_health | 0.15074 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | gov_assist | 0.30943 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> #> Table: Balance Stats for Exposure Time 1 Averaging Across Imputed Datasets summary(prebalance_stats, i = 1, save.out = save.out) #> USER ALERT: For imputation 1: As shown below, 55 out of 241 (22.8%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.13 (max: 0.31): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 14 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 11 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 11 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 11 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 8 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates for imputation 1 summary(prebalance_stats, save.out = save.out) #> USER ALERT: Averaging across imputated datasets: As shown below, 60 out of 241 (24.9%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.13 (max: 0.31): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 15 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 12 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 11 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 14 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 8 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaged Across Imputed Datasets plot(prebalance_stats, i = 1, t = 1, save.out = save.out) plot(prebalance_stats, t = 1, save.out = save.out) type <- \"short\" short_formulas <- createFormulas(obj = obj, type = type, save.out = save.out) print(short_formulas) #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 6, the short formula for ESETA1.6 is: #> ESETA1.6 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 15, the short formula for ESETA1.15 is: #> ESETA1.15 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + MDI.6 + RHasSO.6 + WndNbrhood.6 + IBRAttn.6 + B18Raw.6 + HOMEETA1.6 + InRatioCor.6 + CORTB.6 + ESETA1.6 #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 24, the short formula for ESETA1.24 is: #> ESETA1.24 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.15 + MDI.15 + RHasSO.15 + IBRAttn.15 + B18Raw.15 + HOMEETA1.15 + InRatioCor.15 + CORTB.15 + ESETA1.15 #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 35, the short formula for ESETA1.35 is: #> ESETA1.35 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.24 + RHasSO.24 + WndNbrhood.24 + IBRAttn.24 + B18Raw.24 + HOMEETA1.24 + InRatioCor.24 + CORTB.24 + EARS_TJo.24 + LESMnPos.24 + LESMnNeg.24 + ESETA1.24 #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 58, the short formula for ESETA1.58 is: #> ESETA1.58 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + RHasSO.35 + WndNbrhood.35 + HOMEETA1.35 + InRatioCor.35 + EARS_TJo.35 + LESMnPos.35 + LESMnNeg.35 + StrDif_Tot.35 + fscore.35 + ESETA1.35 formulas <- short_formulas method <- \"cbps\" weights.cbps <- createWeights(obj = obj, data = data, method = method, formulas = formulas, verbose = TRUE, # maxit = 1, # just for testing to speed up save.out = save.out) #> initial value 0.903706 #> iter 10 value 0.248548 #> iter 20 value 0.222840 #> iter 30 value 0.209527 #> iter 40 value 0.169216 #> iter 50 value 0.141001 #> iter 60 value 0.139547 #> iter 70 value 0.139440 #> iter 80 value 0.139430 #> final value 0.139430 #> converged #> initial value 0.585184 #> iter 10 value 0.241866 #> iter 20 value 0.144858 #> iter 30 value 0.108653 #> iter 40 value 0.099077 #> iter 50 value 0.098009 #> iter 60 value 0.097791 #> iter 70 value 0.097759 #> iter 80 value 0.097753 #> iter 90 value 0.097752 #> final value 0.097752 #> converged #> #> For imputation 1 and the `cbps` weighting method, the median weight value is 0.77 (SD = 1.18; range = 0-9). # weights.cbps <- readRDS('file_path_to_saved_weights.rds') print(weights.cbps, i = 1) #> #> For imputation 1 and the `cbps` weighting method, the median weight value is 0.77 (SD = 1.18; range = 0-9). summary(weights.cbps[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5138 #> #> - Units with the 5 most extreme weights: #> #> 1246 1145 294 697 919 #> all 7.4581 7.6788 7.9902 8.2032 8.5138 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.066 0.725 0.443 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 605.04 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5138 #> #> - Units with the 5 most extreme weights: #> #> 1246 1145 294 697 919 #> all 7.4581 7.6788 7.9902 8.2032 8.5138 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.066 0.725 0.443 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 605.04 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5138 #> #> - Units with the 5 most extreme weights: #> #> 1246 1145 294 697 919 #> all 7.4581 7.6788 7.9902 8.2032 8.5138 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.066 0.725 0.443 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 605.04 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5138 #> #> - Units with the 5 most extreme weights: #> #> 1246 1145 294 697 919 #> all 7.4581 7.6788 7.9902 8.2032 8.5138 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.066 0.725 0.443 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 605.04 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5138 #> #> - Units with the 5 most extreme weights: #> #> 1246 1145 294 697 919 #> all 7.4581 7.6788 7.9902 8.2032 8.5138 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.066 0.725 0.443 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 605.04 plot(weights.cbps, i = 1, save.out = save.out) method <- \"glm\" weights.glm <- createWeights(obj = obj, data = data, method = method, formulas = formulas, save.out = save.out) print(weights.glm, i = 1) #> #> For imputation 1 and the `glm` weighting method, the median weight value is 1.27 (SD = 10.03; range = 0-271). summary(weights.glm[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 271.3462 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.1877 58.3054 63.4626 178.9983 271.3462 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.824 0.96 1.144 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 82.74 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 271.3462 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.1877 58.3054 63.4626 178.9983 271.3462 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.824 0.96 1.144 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 82.74 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 271.3462 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.1877 58.3054 63.4626 178.9983 271.3462 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.824 0.96 1.144 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 82.74 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 271.3462 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.1877 58.3054 63.4626 178.9983 271.3462 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.824 0.96 1.144 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 82.74 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 271.3462 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.1877 58.3054 63.4626 178.9983 271.3462 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.824 0.96 1.144 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 82.74 plot(weights.glm, i = 1, save.out = save.out) method <- \"gbm\" weights.gbm <- createWeights(obj = obj, data = data, method = method, formulas = formulas, save.out = save.out) print(weights.gbm, i = 1) #> #> For imputation 1 and the `gbm` weighting method, the median weight value is 1.26 (SD = 8.18; range = 0-216). summary(weights.gbm[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 216.1534 #> #> - Units with the 5 most extreme weights: #> #> 342 30 475 1145 36 #> all 43.0076 43.1447 55.5631 150.016 216.1534 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.383 0.916 1.016 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 103.87 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 216.1534 #> #> - Units with the 5 most extreme weights: #> #> 342 30 475 1145 36 #> all 43.0076 43.1447 55.5631 150.016 216.1534 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.383 0.916 1.016 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 103.87 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 216.1534 #> #> - Units with the 5 most extreme weights: #> #> 342 30 475 1145 36 #> all 43.0076 43.1447 55.5631 150.016 216.1534 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.383 0.916 1.016 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 103.87 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 216.1534 #> #> - Units with the 5 most extreme weights: #> #> 342 30 475 1145 36 #> all 43.0076 43.1447 55.5631 150.016 216.1534 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.383 0.916 1.016 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 103.87 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 216.1534 #> #> - Units with the 5 most extreme weights: #> #> 342 30 475 1145 36 #> all 43.0076 43.1447 55.5631 150.016 216.1534 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.383 0.916 1.016 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 103.87 plot(weights.gbm, i = 1, save.out = save.out) method <- \"bart\" weights.bart <- createWeights(obj = obj, data = data, method = method, formulas = formulas, save.out = save.out) print(weights.bart, i = 1) #> #> For imputation 1 and the `bart` weighting method, the median weight value is 1.23 (SD = 19.51; range = 0-663). summary(weights.bart[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 663.017 #> #> - Units with the 5 most extreme weights: #> #> 30 1235 475 591 1145 #> all 45.4484 71.8712 91.6244 156.2991 663.017 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 6.764 1.031 1.581 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 27.65 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 663.017 #> #> - Units with the 5 most extreme weights: #> #> 30 1235 475 591 1145 #> all 45.4484 71.8712 91.6244 156.2991 663.017 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 6.764 1.031 1.581 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 27.65 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 663.017 #> #> - Units with the 5 most extreme weights: #> #> 30 1235 475 591 1145 #> all 45.4484 71.8712 91.6244 156.2991 663.017 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 6.764 1.031 1.581 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 27.65 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 663.017 #> #> - Units with the 5 most extreme weights: #> #> 30 1235 475 591 1145 #> all 45.4484 71.8712 91.6244 156.2991 663.017 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 6.764 1.031 1.581 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 27.65 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 663.017 #> #> - Units with the 5 most extreme weights: #> #> 30 1235 475 591 1145 #> all 45.4484 71.8712 91.6244 156.2991 663.017 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 6.764 1.031 1.581 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 27.65 plot(weights.bart, i = 1, save.out = save.out) method <- \"super\" weights.super <- createWeights(obj = obj, data = data, method = method, formulas = formulas, save.out = save.out) #> Loading required package: nnls #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning: glm.fit: algorithm did not converge #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases print(weights.super, i = 1) #> #> For imputation 1 and the `super` weighting method, the median weight value is 1.27 (SD = 9.99; range = 0-270). summary(weights.super[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 270.2898 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.0314 58.1278 63.2379 178.3232 270.2898 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.817 0.959 1.141 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 83.06 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 270.2898 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.0314 58.1278 63.2379 178.3232 270.2898 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.817 0.959 1.141 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 83.06 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 270.2898 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.0314 58.1278 63.2379 178.3232 270.2898 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.817 0.959 1.141 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 83.06 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 270.2898 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.0314 58.1278 63.2379 178.3232 270.2898 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.817 0.959 1.141 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 83.06 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 270.2898 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.0314 58.1278 63.2379 178.3232 270.2898 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.817 0.959 1.141 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 83.06 plot(weights.super, i = 1, save.out = save.out) weights <- weights.cbps balance_stats.cbps <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) summary(balance_stats.cbps, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 2 out of 241 (0.8%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.06 (max: 0.07): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps` summary(balance_stats.cbps, i = 1, save.out = save.out) #> No covariates remain imbalaned for imputation 1 using `cbps` weighting method. #> USER ALERT: For imputation 1 using `cbps` weighting method: As shown below, 0 out of 241 (0.0%) covariates across time points remain imbalanced: #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates for imputation 1 using `cbps` plot(balance_stats.cbps, t = 4, save.out = save.out) plot(balance_stats.cbps, t = 4, i = 1, save.out = save.out) print(balance_stats.cbps, t = 4, save.out = save.out) #> #> +-----------+----------------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +===========+================+===============+============+==========+ #> | ESETA1.35 | state_1 | 0.015981 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | BioDadInHH2_1 | -0.021683 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmAge2 | -0.007495 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmBlac2_1 | 0.010392 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | TcBlac2_1 | 0.016378 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmMrSt2_1 | -0.001099 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmEd2 | -0.038985 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | KFASTScr | -0.025093 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RMomAgeU | -0.013874 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_1 | 0.01822 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_2 | -0.023165 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_3 | -0.000151 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_4 | 0.024033 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_5 | 0.005529 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_1 | -0.025161 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_2 | 0.032237 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_3 | -0.019884 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_4 | 0.012453 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SWghtLB | -0.003065 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SurpPreg_1 | 0.026664 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_1 | -0.012977 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_2 | -0.013428 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_3 | 0.009222 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | DrnkFreq_1 | -0.022527 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | DrnkFreq_2 | 0.009097 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | peri_health | 0.001459 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | caregiv_health | -0.005178 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | gov_assist | 0.031894 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.6 | -0.026255 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.15 | -0.016323 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.24 | 0.010027 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | MDI.6 | -0.018594 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | MDI.15 | 0.025267 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.6_1 | 0.0186 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.15_1 | 0.037179 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.24_1 | 0.013187 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | WndNbrhood.6 | -0.032172 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | WndNbrhood.24 | -0.022859 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.6 | -0.060499 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.15 | -0.017499 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.24 | 0.005985 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.6 | 0.040266 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.15 | 0.026637 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.24 | 0.013031 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.6 | -0.057377 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.15 | -0.020653 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.24 | -0.006642 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.6 | -0.065028 | 0.05 | 0 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.15 | -0.060949 | 0.05 | 0 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.24 | -0.036796 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.6 | 0.038281 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.15 | 0.009567 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.24 | 0.026607 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | EARS_TJo.24 | -0.012261 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | LESMnPos.24 | -0.010644 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | LESMnNeg.24 | 0.00818 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.6 | 0.084495 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.15 | 0.077512 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.24 | 0.020474 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> #> Table: Balance Stats for Exposure Time 4 Averaging Across Imputed Datasets weights <- weights.glm balance_stats.glm <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) weights <- weights.gbm balance_stats.gbm <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) weights <- weights.bart balance_stats.bart <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) weights <- weights.super balance_stats.super <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) summary(balance_stats.cbps, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 2 out of 241 (0.8%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.06 (max: 0.07): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps` summary(balance_stats.glm, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `glm` weighting method: As shown below, 31 out of 241 (12.9%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.13 (max: 0.29): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 7 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 18 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 2 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `glm` summary(balance_stats.gbm, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `gbm` weighting method: As shown below, 27 out of 241 (11.2%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.12 (max: 0.22): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 7 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 3 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 10 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 5 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 2 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `gbm` summary(balance_stats.bart, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `bart` weighting method: As shown below, 28 out of 241 (11.6%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.13 (max: 0.24): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 7 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 13 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 7 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 1 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `bart` summary(balance_stats.super, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `super` weighting method: As shown below, 31 out of 241 (12.9%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.13 (max: 0.29): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 7 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 18 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 2 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `super` summary(weights.cbps[[1]])[[1]][6] #> $effective.sample.size #> Total #> Unweighted 1292.0000 #> Weighted 605.0426 summary(weights.glm[[1]])[[1]][6] #> $effective.sample.size #> Total #> Unweighted 1292.00000 #> Weighted 82.74434 summary(weights.gbm[[1]])[[1]][6] #> $effective.sample.size #> Total #> Unweighted 1292.0000 #> Weighted 103.8726 summary(weights.bart[[1]])[[1]][6] #> $effective.sample.size #> Total #> Unweighted 1292.00000 #> Weighted 27.65344 summary(weights.super[[1]])[[1]][6] #> $effective.sample.size #> Total #> Unweighted 1292.00000 #> Weighted 83.05617 print(balance_stats.cbps) #> #> +-----------+----------------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +===========+================+===============+============+==========+ #> | ESETA1.6 | state_1 | 0.0056014 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | BioDadInHH2_1 | -0.0010128 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmAge2 | -0.0014006 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmBlac2_1 | 0.0056993 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | TcBlac2_1 | 0.0057264 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmMrSt2_1 | -0.003174 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmEd2 | -0.0126755 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | KFASTScr | -0.0123196 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RMomAgeU | -0.0050029 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_1 | -0.0058639 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_2 | -0.000575 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_3 | 0.00236 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_4 | 0.0062365 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_5 | 0.0165904 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_1 | -0.0015327 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_2 | -0.0004367 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_3 | 0.0036865 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_4 | 0.0058464 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SWghtLB | -0.0076889 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SurpPreg_1 | 0.0027974 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_1 | 0.0041922 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_2 | -0.0021733 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_3 | 0.0127002 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | DrnkFreq_1 | -0.0056479 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | DrnkFreq_2 | 0.0062915 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | peri_health | 0.0018227 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | caregiv_health | 0.0063088 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | gov_assist | 0.0142948 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | state_1 | 0.0093982 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | BioDadInHH2_1 | -0.0060919 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmAge2 | -0.00208 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmBlac2_1 | 0.0078345 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | TcBlac2_1 | 0.004728 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmMrSt2_1 | -0.003418 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmEd2 | -0.0143257 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | KFASTScr | -0.0059526 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RMomAgeU | -0.0017348 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_1 | -0.0033083 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_2 | -0.0021593 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_3 | 0.0017789 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_4 | 0.0109611 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_5 | -0.0110053 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_1 | -0.007286 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_2 | -0.0015007 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_3 | 0.0027981 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_4 | 0.00847 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SWghtLB | -0.0013944 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SurpPreg_1 | 0.0011906 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_1 | 0.0014261 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_2 | 0.0056452 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_3 | -0.0058635 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | DrnkFreq_1 | 0.0061577 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | DrnkFreq_2 | -0.0064732 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | peri_health | -0.001696 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | caregiv_health | 0.0067301 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | gov_assist | 0.0086264 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SAAmylase.6 | 0.0031339 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | MDI.6 | -0.0008854 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHasSO.6_1 | 0.0072932 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | WndNbrhood.6 | -0.0053101 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | IBRAttn.6 | -0.0030064 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | B18Raw.6 | 0.020191 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HOMEETA1.6 | -0.0133514 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | InRatioCor.6 | -0.0212558 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | CORTB.6 | -0.0004624 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | ESETA1.6 | 0.0190618 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | state_1 | 0.0178116 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | BioDadInHH2_1 | -0.0113743 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | PmAge2 | -0.0025439 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | PmBlac2_1 | 0.0137147 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | TcBlac2_1 | 0.0194831 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | PmMrSt2_1 | 0.0056732 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | PmEd2 | -0.0088749 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | KFASTScr | 0.0027367 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RMomAgeU | -0.0066146 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHealth_1 | -0.0024297 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHealth_2 | 0.0132047 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHealth_3 | -0.0131262 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHealth_4 | -0.0077858 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHealth_5 | 0.0232206 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | HomeOwnd_1 | -0.0102612 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | HomeOwnd_2 | -0.0164388 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | HomeOwnd_3 | 0.0056505 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | HomeOwnd_4 | 0.0031887 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SWghtLB | 0.0047081 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SurpPreg_1 | 0.0027554 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SmokTotl_1 | 0.0039094 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SmokTotl_2 | -0.0184712 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SmokTotl_3 | 0.0039583 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | DrnkFreq_1 | 0.0133345 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | DrnkFreq_2 | -0.0110411 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | peri_health | -0.0071191 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | caregiv_health | -0.0052552 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | gov_assist | -0.0017485 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SAAmylase.6 | 0.0159673 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SAAmylase.15 | 0.0082825 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | MDI.6 | 0.0094737 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | MDI.15 | -0.0034069 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHasSO.6_1 | -0.0140331 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHasSO.15_1 | -0.001231 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | WndNbrhood.6 | 0.0017775 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | IBRAttn.6 | -0.0016465 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | IBRAttn.15 | -0.000343 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | B18Raw.6 | 0.0822361 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | B18Raw.15 | 0.0005663 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | HOMEETA1.6 | 0.0113979 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | HOMEETA1.15 | 0.0067273 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | InRatioCor.6 | -0.0374541 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | InRatioCor.15 | 0.0098439 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | CORTB.6 | 0.0563049 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | CORTB.15 | -0.005924 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | ESETA1.6 | 0.0273448 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | ESETA1.15 | 0.0061281 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | state_1 | 0.0159812 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | BioDadInHH2_1 | -0.0216829 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmAge2 | -0.0074947 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmBlac2_1 | 0.0103925 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | TcBlac2_1 | 0.0163783 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmMrSt2_1 | -0.0010987 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmEd2 | -0.0389852 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | KFASTScr | -0.0250932 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RMomAgeU | -0.0138737 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_1 | 0.0182202 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_2 | -0.0231654 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_3 | -0.0001511 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_4 | 0.0240331 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_5 | 0.005529 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_1 | -0.0251607 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_2 | 0.0322371 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_3 | -0.0198839 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_4 | 0.0124531 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SWghtLB | -0.0030648 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SurpPreg_1 | 0.0266638 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_1 | -0.0129774 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_2 | -0.013428 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_3 | 0.009222 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | DrnkFreq_1 | -0.0225268 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | DrnkFreq_2 | 0.0090972 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | peri_health | 0.0014589 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | caregiv_health | -0.0051781 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | gov_assist | 0.0318938 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.6 | -0.0262552 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.15 | -0.0163234 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.24 | 0.0100267 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | MDI.6 | -0.0185937 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | MDI.15 | 0.0252672 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.6_1 | 0.0185998 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.15_1 | 0.0371793 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.24_1 | 0.0131871 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | WndNbrhood.6 | -0.0321717 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | WndNbrhood.24 | -0.022859 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.6 | -0.0604992 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.15 | -0.0174987 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.24 | 0.0059855 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.6 | 0.0402665 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.15 | 0.0266371 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.24 | 0.0130311 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.6 | -0.0573771 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.15 | -0.020653 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.24 | -0.0066419 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.6 | -0.0650277 | 0.05 | 0 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.15 | -0.0609491 | 0.05 | 0 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.24 | -0.036796 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.6 | 0.0382809 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.15 | 0.0095674 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.24 | 0.0266067 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | EARS_TJo.24 | -0.0122612 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | LESMnPos.24 | -0.0106439 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | LESMnNeg.24 | 0.0081802 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.6 | 0.0844947 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.15 | 0.0775117 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.24 | 0.0204742 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | state_1 | 0.0173188 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | BioDadInHH2_1 | -0.029331 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | PmAge2 | -0.0022438 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | PmBlac2_1 | 0.0167733 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | TcBlac2_1 | 0.0285232 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | PmMrSt2_1 | -0.0308851 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | PmEd2 | -0.005835 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | KFASTScr | 0.0001801 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RMomAgeU | 0.0200869 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHealth_1 | -0.0046526 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHealth_2 | 0.0058821 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHealth_3 | 0.0057173 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHealth_4 | -0.0099921 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHealth_5 | -0.0018151 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HomeOwnd_1 | -0.0129367 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HomeOwnd_2 | 0.0088235 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HomeOwnd_3 | 0.029316 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HomeOwnd_4 | -0.0281944 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SWghtLB | -0.0300973 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SurpPreg_1 | -0.0039986 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SmokTotl_1 | 0.002585 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SmokTotl_2 | -0.0052944 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SmokTotl_3 | -0.0020945 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | DrnkFreq_1 | -0.0068799 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | DrnkFreq_2 | 0.0052751 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | peri_health | 0.0042015 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | caregiv_health | 0.0116077 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | gov_assist | 0.007267 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SAAmylase.6 | 0.0316109 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SAAmylase.15 | -0.030204 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SAAmylase.24 | -0.0039453 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | MDI.6 | 0.0458769 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | MDI.15 | -0.046456 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHasSO.6_1 | 0.0649412 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHasSO.15_1 | -0.0122701 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHasSO.24_1 | -0.0169821 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHasSO.35_1 | 0.0116231 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | WndNbrhood.6 | -0.0373402 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | WndNbrhood.24 | -0.001917 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | WndNbrhood.35 | 0.0023001 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | IBRAttn.6 | -0.0320238 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | IBRAttn.15 | -0.0253196 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | IBRAttn.24 | -0.0374467 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | B18Raw.6 | 0.016658 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | B18Raw.15 | 0.0519722 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | B18Raw.24 | 0.0765176 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HOMEETA1.6 | -0.0038499 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HOMEETA1.15 | 0.0141684 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HOMEETA1.24 | -0.0396149 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HOMEETA1.35 | -0.0181722 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | InRatioCor.6 | -0.021147 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | InRatioCor.15 | -0.0288403 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | InRatioCor.24 | -0.0306187 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | InRatioCor.35 | -0.0000517 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | CORTB.6 | 0.034015 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | CORTB.15 | 0.0126726 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | CORTB.24 | -0.0234976 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | EARS_TJo.24 | -0.0205811 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | EARS_TJo.35 | -0.0102582 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | LESMnPos.24 | -0.0325432 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | LESMnPos.35 | -0.0198356 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | LESMnNeg.24 | 0.0397038 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | LESMnNeg.35 | 0.0159532 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | StrDif_Tot.35 | 0.025157 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | fscore.35 | -0.0372574 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | ESETA1.6 | 0.0391978 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | ESETA1.15 | 0.0257108 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | ESETA1.24 | 0.0109497 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | ESETA1.35 | 0.0073936 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> #> Table: Balance Stats for All Exposure Time Points Averaging Across Imputed Datasets plot(balance_stats.cbps, t = 4, save.out = save.out) type <- \"update\" bal_stats <- balance_stats.cbps updated_formulas <- createFormulas(obj = obj, type = type, bal_stats = bal_stats, save.out = save.out) print(updated_formulas, save.out = save.out) #> USER ALERT: Please manually inspect the updated balancing formula below that includes time-varying confounders at t-1 and those greater at further lags that remained imbalanced: #> At time point 6, the update formula for ESETA1.6 is: #> ESETA1.6 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist #> USER ALERT: Please manually inspect the updated balancing formula below that includes time-varying confounders at t-1 and those greater at further lags that remained imbalanced: #> At time point 15, the update formula for ESETA1.15 is: #> ESETA1.15 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + MDI.6 + RHasSO.6 + WndNbrhood.6 + IBRAttn.6 + B18Raw.6 + HOMEETA1.6 + InRatioCor.6 + CORTB.6 + ESETA1.6 #> USER ALERT: Please manually inspect the updated balancing formula below that includes time-varying confounders at t-1 and those greater at further lags that remained imbalanced: #> At time point 24, the update formula for ESETA1.24 is: #> ESETA1.24 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.15 + MDI.15 + RHasSO.15 + IBRAttn.15 + B18Raw.15 + HOMEETA1.15 + InRatioCor.15 + CORTB.15 + ESETA1.15 #> USER ALERT: Please manually inspect the updated balancing formula below that includes time-varying confounders at t-1 and those greater at further lags that remained imbalanced: #> At time point 35, the update formula for ESETA1.35 is: #> ESETA1.35 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.24 + RHasSO.24 + WndNbrhood.24 + IBRAttn.24 + B18Raw.24 + HOMEETA1.24 + InRatioCor.24 + CORTB.24 + EARS_TJo.24 + LESMnPos.24 + LESMnNeg.24 + ESETA1.24 + InRatioCor.6 + InRatioCor.15 #> USER ALERT: Please manually inspect the updated balancing formula below that includes time-varying confounders at t-1 and those greater at further lags that remained imbalanced: #> At time point 58, the update formula for ESETA1.58 is: #> ESETA1.58 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + RHasSO.35 + WndNbrhood.35 + HOMEETA1.35 + InRatioCor.35 + EARS_TJo.35 + LESMnPos.35 + LESMnNeg.35 + StrDif_Tot.35 + fscore.35 + ESETA1.35 formulas <- updated_formulas method <- \"cbps\" final_weights <- createWeights(data = data, obj = obj, method = method, formulas = formulas, # max.it = 1, # testing only save.out = save.out) print(final_weights, i = 1) #> #> For imputation 1 and the `cbps` weighting method, the median weight value is 0.77 (SD = 1.17; range = 0-9). plot(final_weights, i = 1, save.out = save.out) quantile <- 0.95 weights <- final_weights trim_weights <- trimWeights(weights = weights, at = quantile, save.out = save.out) print(trim_weights, i = 1) #> #> For imputation 1 and the `cbps` weighting method, after trimming at 95th quantile, the median weight value is 0.77 (SD = 0.93; range = 0-4). plot(trim_weights, i = 1, save.out = save.out) quantile <- 0.92 trim_weights.s1 <- trimWeights(weights = weights, at = quantile, save.out = save.out) print(trim_weights.s1, i = 1) #> #> For imputation 1 and the `cbps` weighting method, after trimming at 92th quantile, the median weight value is 0.77 (SD = 0.82; range = 0-3). plot(trim_weights.s1, i = 1, save.out = save.out) quantile <- 0.98 trim_weights.s2 <- trimWeights(weights = weights, at = quantile, save.out = save.out) print(trim_weights.s2, i = 1) #> #> For imputation 1 and the `cbps` weighting method, after trimming at 98th quantile, the median weight value is 0.77 (SD = 1.05; range = 0-5). plot(trim_weights.s2, i = 1, save.out = save.out) weights <- trim_weights final_balance_stats_trim <- assessBalance(data = data, obj = obj, balance_thresh = balance_thresh, imp_conf = imp_conf, weights = weights, save.out = save.out) summary(final_balance_stats_trim, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 1 out of 241 (0.4%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.05 (max: 0.05): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 1 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps` print(final_balance_stats_trim, t = 2, save.out = save.out) #> #> +-----------+----------------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +===========+================+===============+============+==========+ #> | ESETA1.15 | state_1 | 0.017188 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | BioDadInHH2_1 | -0.0163 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmAge2 | -0.008023 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmBlac2_1 | 0.016619 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | TcBlac2_1 | 0.018256 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmMrSt2_1 | -0.00511 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmEd2 | -0.037445 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | KFASTScr | -0.019385 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RMomAgeU | -0.004175 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_1 | 0.002172 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_2 | -0.008696 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_3 | 0.004039 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_4 | 0.007655 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_5 | -0.011764 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_1 | -0.004551 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_2 | 0.003749 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_3 | 0.004181 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_4 | 0.010203 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SWghtLB | -0.000544 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SurpPreg_1 | 0.00931 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_1 | 0.010631 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_2 | 0.008245 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_3 | -0.005169 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | DrnkFreq_1 | 0.009757 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | DrnkFreq_2 | -0.01846 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | peri_health | -0.001012 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | caregiv_health | 0.009529 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | gov_assist | 0.014943 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SAAmylase.6 | 0.009242 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | MDI.6 | 0.010527 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHasSO.6_1 | 0.02075 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | WndNbrhood.6 | -0.016214 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | IBRAttn.6 | -0.003919 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | B18Raw.6 | 0.027468 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HOMEETA1.6 | -0.023461 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | InRatioCor.6 | -0.050616 | 0.05 | 0 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | CORTB.6 | -0.005384 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | ESETA1.6 | 0.034089 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> #> Table: Balance Stats for Exposure Time 2 Averaging Across Imputed Datasets summary(trim_weights[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 3.5109 #> #> - Units with the 5 most extreme weights: #> #> 89 79 30 27 11 #> all 3.5109 3.5109 3.5109 3.5109 3.5109 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 0.893 0.685 0.371 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 718.9 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 3.5109 #> #> - Units with the 5 most extreme weights: #> #> 89 79 30 27 11 #> all 3.5109 3.5109 3.5109 3.5109 3.5109 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 0.893 0.685 0.371 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 718.9 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 3.5109 #> #> - Units with the 5 most extreme weights: #> #> 89 79 30 27 11 #> all 3.5109 3.5109 3.5109 3.5109 3.5109 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 0.893 0.685 0.371 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 718.9 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 3.5109 #> #> - Units with the 5 most extreme weights: #> #> 89 79 30 27 11 #> all 3.5109 3.5109 3.5109 3.5109 3.5109 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 0.893 0.685 0.371 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 718.9 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 3.5109 #> #> - Units with the 5 most extreme weights: #> #> 89 79 30 27 11 #> all 3.5109 3.5109 3.5109 3.5109 3.5109 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 0.893 0.685 0.371 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 718.9 weights <- final_weights final_balance_stats_untrim <- assessBalance(data = data, obj = obj, balance_thresh = balance_thresh, imp_conf = imp_conf, weights = weights, save.out = save.out) summary(final_balance_stats_untrim, save.out = save.out) #> Averaging across imputed datasets using cbps weighting method. #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 0 out of 241 (0.0%) covariates across time points remain imbalanced: #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps` summary(final_weights[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5407 #> #> - Units with the 5 most extreme weights: #> #> 877 1145 697 294 919 #> all 7.1323 7.3944 7.7172 8.5237 8.5407 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.056 0.722 0.439 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 611.17 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5407 #> #> - Units with the 5 most extreme weights: #> #> 877 1145 697 294 919 #> all 7.1323 7.3944 7.7172 8.5237 8.5407 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.056 0.722 0.439 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 611.17 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5407 #> #> - Units with the 5 most extreme weights: #> #> 877 1145 697 294 919 #> all 7.1323 7.3944 7.7172 8.5237 8.5407 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.056 0.722 0.439 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 611.17 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5407 #> #> - Units with the 5 most extreme weights: #> #> 877 1145 697 294 919 #> all 7.1323 7.3944 7.7172 8.5237 8.5407 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.056 0.722 0.439 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 611.17 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5407 #> #> - Units with the 5 most extreme weights: #> #> 877 1145 697 294 919 #> all 7.1323 7.3944 7.7172 8.5237 8.5407 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.056 0.722 0.439 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 611.17 summary(final_balance_stats_trim, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 1 out of 241 (0.4%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.05 (max: 0.05): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 1 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps` plot(final_balance_stats_trim, t = 2, save.out = save.out) # covariates <- c(\"list_imbalanced_ti_conf\") weights <- trim_weights.s1 final_balance_stats.s1 <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) summary(final_balance_stats.s1, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 1 out of 241 (0.4%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.06 (max: 0.06): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 1 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps` print(final_balance_stats.s1, t = 2, save.out = save.out) #> #> +-----------+----------------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +===========+================+===============+============+==========+ #> | ESETA1.15 | state_1 | 0.02175 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | BioDadInHH2_1 | -0.01857 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmAge2 | -0.00978 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmBlac2_1 | 0.02279 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | TcBlac2_1 | 0.02269 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmMrSt2_1 | -0.00654 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmEd2 | -0.04287 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | KFASTScr | -0.02611 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RMomAgeU | -0.00973 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_1 | -0.00117 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_2 | -0.00813 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_3 | 0.00942 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_4 | 0.00349 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_5 | -0.01243 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_1 | -0.00602 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_2 | 0.00153 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_3 | 0.00942 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_4 | 0.00997 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SWghtLB | -0.00312 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SurpPreg_1 | 0.01335 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_1 | 0.01352 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_2 | 0.01077 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_3 | -0.00753 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | DrnkFreq_1 | 0.01492 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | DrnkFreq_2 | -0.02308 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | peri_health | -0.00114 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | caregiv_health | 0.01331 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | gov_assist | 0.01817 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SAAmylase.6 | 0.01058 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | MDI.6 | 0.01466 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHasSO.6_1 | 0.02011 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | WndNbrhood.6 | -0.02011 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | IBRAttn.6 | -0.00386 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | B18Raw.6 | 0.0289 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HOMEETA1.6 | -0.02621 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | InRatioCor.6 | -0.06194 | 0.05 | 0 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | CORTB.6 | -0.00842 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | ESETA1.6 | 0.04248 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> #> Table: Balance Stats for Exposure Time 2 Averaging Across Imputed Datasets weights <- trim_weights.s2 final_balance_stats.s2 <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) summary(final_balance_stats.s2, save.out = save.out) #> Averaging across imputed datasets using cbps weighting method. #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 0 out of 241 (0.0%) covariates across time points remain imbalanced: #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps`"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"step-1-create-full-weights-formulas-conduct-pre-balance-checking","dir":"Articles","previous_headings":"","what":"STEP 1: Create Full Weights Formulas & Conduct Pre-Balance Checking","title":"Workflow: Continuous Exposure","text":"first create comprehensive, full weights formulas relating exposure confounders time point using createFormulas() function (type = “full”). step creates full formulas containing measured confounding variables exposure time point, including time-invariant confounders lagged time-varying confounders. code automatically excludes time-varying confounders contemporaneous time point given decisively differentiated mediators balanced (Thoemmes & Ong, 2016), although can modified user strong reason believe concurrent variable truly confounder (see ). user wishes specify interactions confounders weights formulas, need manually create data listing . Keep mind interactions include factor variables decomposed interactions factor level. required input create full weights formulas using createFormulas() function : MSM object (e.g., “obj”) setting type = “full”. Optional inputs create full weights formulas using createFormulas() function follows. user may specify list custom formulas specifying custom list formulas, one exposure time point (e.g., “exposure.time ~ variable.time + variable +…”) formula format. recommend first running createFormulas() function without custom formulas (custom = NULL) using output model required format custom formulas. createFormulas() function automatically check custom formulas ensure correctly formatted formula exposure time point exposure dependent variable. However, user responsible ensuring custom formulas contain appropriate confounders formula type generating. Please see Customize weights formulas vignette detail customize formulas. chose create custom formulas instead use createFormulas() make automatically example. first create full formulas. function returns list formulas, one exposure time point. inspect . full formula contains time invariant confounders well lagged time-varying confounders time point. inspection important step, verify appropriate confounders present formula. inspect formulas . next step examines initial imbalance, strongly exposure relates confounder time point, measured confounders prior weighting using assessBalance() function. function draws calcBalStats() function (see Assessing Balance Time-Varying Exposure section accompanying manuscript). assessBalance() function outputs balance statistics (correlations continuous exposures standardized mean differences binary exposures) relating exposure time point confounders table well plots. function also provides summary balance statistics averaging across time points (imputed datasets supplied). required inputs using assessBalance() function conduct pre-balance testing : data (data frame, mids object, list imputed datasets dataframes wide format) MSM object (e.g., “obj”). Please see Assessing Balance Time-Varying Exposures vignette detail function calculates balance. optional inputs follows. user may specify balance_thresh, threshold(s) determining confounder balance, one two ways. * First, can provide single number value (0-1) absolute value standardized balance statistic (either correlation continuous exposures standardized group mean difference binary exposures) exposure confounders confounders considered balanced, considered imbalanced (default 0.1; Stuart, 2010). Second, users may make priori assertion confounders important others based theory existing research. case, can provide two numbers represent balance thresholds important less important confounders, respectively. user supplies two balance thresholds, must also supply list important confounders (time-varying: “variable.t”, time invariant: “variable”) imp_conf field. balance threshold specification kept consistent throughout use workflow. , recommended, provide two balancing thresholds identify income parent education important confounders relation economic strain behavior problems. create prebalance statistics . function returns list (one entry per imputed dataset, applicable), contains table exposure time point. able contains confounders time point, associated standardized balance statistics relating confounder exposure time point, user-supplied balance threshold, binary indicator whether confounder balanced. shown , can print, summarize, plot several versions balance statistics option supply save.save viewed output home directory. functions takes optional t field view balance statistics one exposure time points. t takes integer value 1 total number time points. specified, output shown exposure time points. imputed data, functions takes option field can used view balance one imputed data set. specified, output shown averaged across absolute values balance statistics imputed datasets. can useful average across imputed datasets get overall sense balance. non-imputed data, specify . can view prebalance statistics single imputed dataset (e.g., first imputed dataset), using field. Note supply t integers 1 however number time points exposure measured. example, first time point measures ESETA1 6 months corresponds t = 1. , can view prebalance statistics averaged across imputed data sets different time points specifying . can also used view balance statistics data imputed. can also summarize assessBalance() output view average remaining relation confounders exposure well summary table showing total number imbalanced confounders exposure time point. can view one imputed dataset averaged across . Averaging across imputed datasets, see xx confounders imbalanced respect economic strain exposure respective balance threshold. Lastly, can plot balance summary one time points, one imputed dataset averaged across . dotted red lines denote balance thresholds points colored labeled red denote confounders imbalanced relation respective balance thresholds. love plots depict standardized associations confounder exposure exposure time point, vertical red dashed lines indicating balance thresholds. Imbalanced confounders shown red variable name labels.","code":"type <- \"full\" full_formulas <- createFormulas(obj = obj, type = type, save.out = save.out) print(full_formulas) #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 6, the full formula for ESETA1.6 is: #> ESETA1.6 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 15, the full formula for ESETA1.15 is: #> ESETA1.15 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + MDI.6 + RHasSO.6 + WndNbrhood.6 + IBRAttn.6 + B18Raw.6 + HOMEETA1.6 + InRatioCor.6 + CORTB.6 + ESETA1.6 #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 24, the full formula for ESETA1.24 is: #> ESETA1.24 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + SAAmylase.15 + MDI.6 + MDI.15 + RHasSO.6 + RHasSO.15 + WndNbrhood.6 + IBRAttn.6 + IBRAttn.15 + B18Raw.6 + B18Raw.15 + HOMEETA1.6 + HOMEETA1.15 + InRatioCor.6 + InRatioCor.15 + CORTB.6 + CORTB.15 + ESETA1.6 + ESETA1.15 #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 35, the full formula for ESETA1.35 is: #> ESETA1.35 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + SAAmylase.15 + SAAmylase.24 + MDI.6 + MDI.15 + RHasSO.6 + RHasSO.15 + RHasSO.24 + WndNbrhood.6 + WndNbrhood.24 + IBRAttn.6 + IBRAttn.15 + IBRAttn.24 + B18Raw.6 + B18Raw.15 + B18Raw.24 + HOMEETA1.6 + HOMEETA1.15 + HOMEETA1.24 + InRatioCor.6 + InRatioCor.15 + InRatioCor.24 + CORTB.6 + CORTB.15 + CORTB.24 + EARS_TJo.24 + LESMnPos.24 + LESMnNeg.24 + ESETA1.6 + ESETA1.15 + ESETA1.24 #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 58, the full formula for ESETA1.58 is: #> ESETA1.58 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + SAAmylase.15 + SAAmylase.24 + MDI.6 + MDI.15 + RHasSO.6 + RHasSO.15 + RHasSO.24 + RHasSO.35 + WndNbrhood.6 + WndNbrhood.24 + WndNbrhood.35 + IBRAttn.6 + IBRAttn.15 + IBRAttn.24 + B18Raw.6 + B18Raw.15 + B18Raw.24 + HOMEETA1.6 + HOMEETA1.15 + HOMEETA1.24 + HOMEETA1.35 + InRatioCor.6 + InRatioCor.15 + InRatioCor.24 + InRatioCor.35 + CORTB.6 + CORTB.15 + CORTB.24 + EARS_TJo.24 + EARS_TJo.35 + LESMnPos.24 + LESMnPos.35 + LESMnNeg.24 + LESMnNeg.35 + StrDif_Tot.35 + fscore.35 + ESETA1.6 + ESETA1.15 + ESETA1.24 + ESETA1.35 balance_thresh <- c(0.05, 0.1) imp_conf <- c(\"InRatioCor.6\", \"InRatioCor.15\", \"InRatioCor.24\", \"InRatioCor.35\", \"PmEd2\") prebalance_stats <- assessBalance(obj = obj, data = data, balance_thresh = balance_thresh, imp_conf = imp_conf, save.out = save.out) print(prebalance_stats, i = 1, t = 1, save.out = save.out) #> #> +----------+----------------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +==========+================+===============+============+==========+ #> | ESETA1.6 | state_1 | 0.13324 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | BioDadInHH2_1 | -0.13865 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmAge2 | -0.06481 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmBlac2_1 | 0.17598 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | TcBlac2_1 | 0.20129 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmMrSt2_1 | -0.14101 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmEd2 | -0.23888 | 0.05 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | KFASTScr | -0.18058 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RMomAgeU | -0.11428 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_1 | -0.08223 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_2 | -0.01624 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_3 | 0.07892 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_4 | 0.10536 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_5 | 0.0588 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_1 | -0.13681 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_2 | -0.0364 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_3 | 0.09405 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_4 | 0.15808 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SWghtLB | -0.09514 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SurpPreg_1 | 0.10405 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_1 | 0.00731 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_2 | 0.04693 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_3 | 0.04867 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | DrnkFreq_1 | -0.0182 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | DrnkFreq_2 | 0.02272 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | peri_health | 0.02042 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | caregiv_health | 0.14314 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | gov_assist | 0.31012 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> #> Table: Balance Stats for Exposure Time 1 for imputation (1) print(prebalance_stats, t = 1, save.out = save.out) #> #> +----------+----------------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +==========+================+===============+============+==========+ #> | ESETA1.6 | state_1 | 0.12646 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | BioDadInHH2_1 | -0.13395 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmAge2 | -0.0525 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmBlac2_1 | 0.18314 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | TcBlac2_1 | 0.20776 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmMrSt2_1 | -0.12948 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmEd2 | -0.23456 | 0.05 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | KFASTScr | -0.17153 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RMomAgeU | -0.10139 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_1 | -0.07479 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_2 | -0.01536 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_3 | 0.07441 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_4 | 0.10334 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_5 | 0.05769 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_1 | -0.13942 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_2 | -0.04196 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_3 | 0.10162 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_4 | 0.15135 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SWghtLB | -0.09639 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SurpPreg_1 | 0.10475 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_1 | 0.0135 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_2 | 0.04304 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_3 | 0.05533 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | DrnkFreq_1 | -0.00539 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | DrnkFreq_2 | 0.01557 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | peri_health | 0.02454 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | caregiv_health | 0.15074 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | gov_assist | 0.30943 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> #> Table: Balance Stats for Exposure Time 1 Averaging Across Imputed Datasets summary(prebalance_stats, i = 1, save.out = save.out) #> USER ALERT: For imputation 1: As shown below, 55 out of 241 (22.8%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.13 (max: 0.31): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 14 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 11 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 11 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 11 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 8 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates for imputation 1 summary(prebalance_stats, save.out = save.out) #> USER ALERT: Averaging across imputated datasets: As shown below, 60 out of 241 (24.9%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.13 (max: 0.31): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 15 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 12 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 11 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 14 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 8 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaged Across Imputed Datasets plot(prebalance_stats, i = 1, t = 1, save.out = save.out) plot(prebalance_stats, t = 1, save.out = save.out)"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"a--create-full-weights-formulas-at-each-exposure-time-point","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"1a. Create Full Weights Formulas at each Exposure Time Point","title":"Workflow: Continuous Exposure","text":"first create comprehensive, full weights formulas relating exposure confounders time point using createFormulas() function (type = “full”). step creates full formulas containing measured confounding variables exposure time point, including time-invariant confounders lagged time-varying confounders. code automatically excludes time-varying confounders contemporaneous time point given decisively differentiated mediators balanced (Thoemmes & Ong, 2016), although can modified user strong reason believe concurrent variable truly confounder (see ). user wishes specify interactions confounders weights formulas, need manually create data listing . Keep mind interactions include factor variables decomposed interactions factor level. required input create full weights formulas using createFormulas() function : MSM object (e.g., “obj”) setting type = “full”. Optional inputs create full weights formulas using createFormulas() function follows. user may specify list custom formulas specifying custom list formulas, one exposure time point (e.g., “exposure.time ~ variable.time + variable +…”) formula format. recommend first running createFormulas() function without custom formulas (custom = NULL) using output model required format custom formulas. createFormulas() function automatically check custom formulas ensure correctly formatted formula exposure time point exposure dependent variable. However, user responsible ensuring custom formulas contain appropriate confounders formula type generating. Please see Customize weights formulas vignette detail customize formulas. chose create custom formulas instead use createFormulas() make automatically example. first create full formulas. function returns list formulas, one exposure time point. inspect . full formula contains time invariant confounders well lagged time-varying confounders time point. inspection important step, verify appropriate confounders present formula. inspect formulas .","code":"type <- \"full\" full_formulas <- createFormulas(obj = obj, type = type, save.out = save.out) print(full_formulas) #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 6, the full formula for ESETA1.6 is: #> ESETA1.6 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 15, the full formula for ESETA1.15 is: #> ESETA1.15 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + MDI.6 + RHasSO.6 + WndNbrhood.6 + IBRAttn.6 + B18Raw.6 + HOMEETA1.6 + InRatioCor.6 + CORTB.6 + ESETA1.6 #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 24, the full formula for ESETA1.24 is: #> ESETA1.24 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + SAAmylase.15 + MDI.6 + MDI.15 + RHasSO.6 + RHasSO.15 + WndNbrhood.6 + IBRAttn.6 + IBRAttn.15 + B18Raw.6 + B18Raw.15 + HOMEETA1.6 + HOMEETA1.15 + InRatioCor.6 + InRatioCor.15 + CORTB.6 + CORTB.15 + ESETA1.6 + ESETA1.15 #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 35, the full formula for ESETA1.35 is: #> ESETA1.35 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + SAAmylase.15 + SAAmylase.24 + MDI.6 + MDI.15 + RHasSO.6 + RHasSO.15 + RHasSO.24 + WndNbrhood.6 + WndNbrhood.24 + IBRAttn.6 + IBRAttn.15 + IBRAttn.24 + B18Raw.6 + B18Raw.15 + B18Raw.24 + HOMEETA1.6 + HOMEETA1.15 + HOMEETA1.24 + InRatioCor.6 + InRatioCor.15 + InRatioCor.24 + CORTB.6 + CORTB.15 + CORTB.24 + EARS_TJo.24 + LESMnPos.24 + LESMnNeg.24 + ESETA1.6 + ESETA1.15 + ESETA1.24 #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 58, the full formula for ESETA1.58 is: #> ESETA1.58 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + SAAmylase.15 + SAAmylase.24 + MDI.6 + MDI.15 + RHasSO.6 + RHasSO.15 + RHasSO.24 + RHasSO.35 + WndNbrhood.6 + WndNbrhood.24 + WndNbrhood.35 + IBRAttn.6 + IBRAttn.15 + IBRAttn.24 + B18Raw.6 + B18Raw.15 + B18Raw.24 + HOMEETA1.6 + HOMEETA1.15 + HOMEETA1.24 + HOMEETA1.35 + InRatioCor.6 + InRatioCor.15 + InRatioCor.24 + InRatioCor.35 + CORTB.6 + CORTB.15 + CORTB.24 + EARS_TJo.24 + EARS_TJo.35 + LESMnPos.24 + LESMnPos.35 + LESMnNeg.24 + LESMnNeg.35 + StrDif_Tot.35 + fscore.35 + ESETA1.6 + ESETA1.15 + ESETA1.24 + ESETA1.35"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"b--conduct-exploratory-pre-balance-assessment","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"1b. Conduct Exploratory Pre-Balance Assessment","title":"Workflow: Continuous Exposure","text":"next step examines initial imbalance, strongly exposure relates confounder time point, measured confounders prior weighting using assessBalance() function. function draws calcBalStats() function (see Assessing Balance Time-Varying Exposure section accompanying manuscript). assessBalance() function outputs balance statistics (correlations continuous exposures standardized mean differences binary exposures) relating exposure time point confounders table well plots. function also provides summary balance statistics averaging across time points (imputed datasets supplied). required inputs using assessBalance() function conduct pre-balance testing : data (data frame, mids object, list imputed datasets dataframes wide format) MSM object (e.g., “obj”). Please see Assessing Balance Time-Varying Exposures vignette detail function calculates balance. optional inputs follows. user may specify balance_thresh, threshold(s) determining confounder balance, one two ways. * First, can provide single number value (0-1) absolute value standardized balance statistic (either correlation continuous exposures standardized group mean difference binary exposures) exposure confounders confounders considered balanced, considered imbalanced (default 0.1; Stuart, 2010). Second, users may make priori assertion confounders important others based theory existing research. case, can provide two numbers represent balance thresholds important less important confounders, respectively. user supplies two balance thresholds, must also supply list important confounders (time-varying: “variable.t”, time invariant: “variable”) imp_conf field. balance threshold specification kept consistent throughout use workflow. , recommended, provide two balancing thresholds identify income parent education important confounders relation economic strain behavior problems. create prebalance statistics . function returns list (one entry per imputed dataset, applicable), contains table exposure time point. able contains confounders time point, associated standardized balance statistics relating confounder exposure time point, user-supplied balance threshold, binary indicator whether confounder balanced. shown , can print, summarize, plot several versions balance statistics option supply save.save viewed output home directory. functions takes optional t field view balance statistics one exposure time points. t takes integer value 1 total number time points. specified, output shown exposure time points. imputed data, functions takes option field can used view balance one imputed data set. specified, output shown averaged across absolute values balance statistics imputed datasets. can useful average across imputed datasets get overall sense balance. non-imputed data, specify . can view prebalance statistics single imputed dataset (e.g., first imputed dataset), using field. Note supply t integers 1 however number time points exposure measured. example, first time point measures ESETA1 6 months corresponds t = 1. , can view prebalance statistics averaged across imputed data sets different time points specifying . can also used view balance statistics data imputed. can also summarize assessBalance() output view average remaining relation confounders exposure well summary table showing total number imbalanced confounders exposure time point. can view one imputed dataset averaged across . Averaging across imputed datasets, see xx confounders imbalanced respect economic strain exposure respective balance threshold. Lastly, can plot balance summary one time points, one imputed dataset averaged across . dotted red lines denote balance thresholds points colored labeled red denote confounders imbalanced relation respective balance thresholds. love plots depict standardized associations confounder exposure exposure time point, vertical red dashed lines indicating balance thresholds. Imbalanced confounders shown red variable name labels.","code":"balance_thresh <- c(0.05, 0.1) imp_conf <- c(\"InRatioCor.6\", \"InRatioCor.15\", \"InRatioCor.24\", \"InRatioCor.35\", \"PmEd2\") prebalance_stats <- assessBalance(obj = obj, data = data, balance_thresh = balance_thresh, imp_conf = imp_conf, save.out = save.out) print(prebalance_stats, i = 1, t = 1, save.out = save.out) #> #> +----------+----------------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +==========+================+===============+============+==========+ #> | ESETA1.6 | state_1 | 0.13324 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | BioDadInHH2_1 | -0.13865 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmAge2 | -0.06481 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmBlac2_1 | 0.17598 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | TcBlac2_1 | 0.20129 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmMrSt2_1 | -0.14101 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmEd2 | -0.23888 | 0.05 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | KFASTScr | -0.18058 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RMomAgeU | -0.11428 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_1 | -0.08223 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_2 | -0.01624 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_3 | 0.07892 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_4 | 0.10536 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_5 | 0.0588 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_1 | -0.13681 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_2 | -0.0364 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_3 | 0.09405 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_4 | 0.15808 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SWghtLB | -0.09514 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SurpPreg_1 | 0.10405 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_1 | 0.00731 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_2 | 0.04693 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_3 | 0.04867 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | DrnkFreq_1 | -0.0182 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | DrnkFreq_2 | 0.02272 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | peri_health | 0.02042 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | caregiv_health | 0.14314 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | gov_assist | 0.31012 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> #> Table: Balance Stats for Exposure Time 1 for imputation (1) print(prebalance_stats, t = 1, save.out = save.out) #> #> +----------+----------------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +==========+================+===============+============+==========+ #> | ESETA1.6 | state_1 | 0.12646 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | BioDadInHH2_1 | -0.13395 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmAge2 | -0.0525 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmBlac2_1 | 0.18314 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | TcBlac2_1 | 0.20776 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmMrSt2_1 | -0.12948 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmEd2 | -0.23456 | 0.05 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | KFASTScr | -0.17153 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RMomAgeU | -0.10139 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_1 | -0.07479 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_2 | -0.01536 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_3 | 0.07441 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_4 | 0.10334 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_5 | 0.05769 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_1 | -0.13942 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_2 | -0.04196 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_3 | 0.10162 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_4 | 0.15135 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SWghtLB | -0.09639 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SurpPreg_1 | 0.10475 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_1 | 0.0135 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_2 | 0.04304 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_3 | 0.05533 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | DrnkFreq_1 | -0.00539 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | DrnkFreq_2 | 0.01557 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | peri_health | 0.02454 | 0.1 | 1 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | caregiv_health | 0.15074 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | gov_assist | 0.30943 | 0.1 | 0 | #> +----------+----------------+---------------+------------+----------+ #> #> Table: Balance Stats for Exposure Time 1 Averaging Across Imputed Datasets summary(prebalance_stats, i = 1, save.out = save.out) #> USER ALERT: For imputation 1: As shown below, 55 out of 241 (22.8%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.13 (max: 0.31): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 14 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 11 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 11 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 11 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 8 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates for imputation 1 summary(prebalance_stats, save.out = save.out) #> USER ALERT: Averaging across imputated datasets: As shown below, 60 out of 241 (24.9%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.13 (max: 0.31): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 15 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 12 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 11 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 14 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 8 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaged Across Imputed Datasets plot(prebalance_stats, i = 1, t = 1, save.out = save.out) plot(prebalance_stats, t = 1, save.out = save.out)"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"step-2-create-simplified-weights-formulas-determine-optimal-weighting-method","dir":"Articles","previous_headings":"","what":"STEP 2: Create Simplified Weights Formulas & Determine Optimal Weighting Method","title":"Workflow: Continuous Exposure","text":"goal second step create shortened, parsimonious weights formulas determining optimal IPTW weighting method successfully reduces imbalance data. First, create shorter, parsimonious weights formulas relating exposure confounders time point using createFormulas() function (type = “short”). exposure time point, formulas contain time invariant confounders well time-varying confounders t-1 lag. logic balancing confounders recent prior time point (t-1 ) may achieve balance levels distal time points, given stability many confounders time. Importantly, empirically assess relax assumption needed subsequent steps (Steps 3a-b). required input create shortened weights formulas using createFormulas() function : MSM object (e.g., ‘obj’) setting type = “short”. addition optional input outlined Step 1a, user also option specify keep_conf, list time-varying confounders (e.g., “variable.t”) always retain lagged confounders shortened formulas. user may use argument retain specific time-varying confounders otherwise excluded step occur lags greater t-1 formula. create short formulas . get list entries containing formula exposure time point. inspect make sure contain time-varying covariates lag one prior exposure time point. formulas considerably shorter full formulas. instance, 58-month exposure time point, formula contains time invariant confounders time-varying confounders 35-month time point. created shorter, simplified weights formulas, now create first round IPTW balancing weights (Thoemmes & Ong, 2016) using createWeights() function, shortened weights formulas, available weighting methods. function calls weightitMSM() function WeightIt package (Greifer, 2023) uses time-specific formulas create weights time point automatically multiplying together create one weight per person. Weights stabilized, recommended (Cole & Hernan, 2008; Thoemmes & Ong, 2016), distributions can saved inspection. required inputs using createWeights() function create initial around IPTW balancing weights : MSM object (e.g, ‘obj’), complete data (data frame, mids object, list imputed datasets dataframes wide format), short formulas (see Step 2a). specify short formulas . optional inputs follows. method, provide one following methods calculating balancing weights using weightitMSM() methods validated longitudinal exposures: “cbps” (Covariate Balancing Propensity Score weighting), “gbm” (generalized boosted model), “glm” (generalized linear model; default), “super” (SuperLearner via SuperLearner package; Polley et al., 2013). information can found WeightIt documentation. begin specifying CBPS weighting method. createWeights() function can also take number additional arguments accapted weightitMSM() function (e.g., ‘criterion’, distribution’, ‘SL.library’). package defaults correspond weightIt defaults. user selects SuperLearner (“super”) method, default super learner libraries (‘SL.library’) “SL.glm” “SL.glm.interaction” alternative library can entered input createWeights function. binary exposures, “cbps” method allows specify estimand either ATE, ATT, ATC. “glm”, “super”, “bart” can specify ATE, ATT, ATC, ATO, ATM, ATOS. “gbm”, can specify ATE, ATT, ATC, ATO, ATM. default estimand binary exposures ATE. advise interested user review WeightIt documentation information additional optional arguments available weighting methods. Users option specify verbose = TRUE view information weights creation. function returns list weights objects form WeightItMSM output (entry imputed dataset appropriate). , create IPTW weights using default CBPS method. take run. Note save weights (supplying save.= TRUE custom file name createWeights() home directory initMWM()), function outputs file path use reading weights future use. can useful given weighting methods can take long time run, especially imputed datasets. previously saved CBPS weights, read instead re-creating . Given separate set weights created imputed dataset, conduct inspections imputed dataset. First, view basic statistics CBPS weights given imputed dataset. , note median weight value 0.77 (SD= 1.18) fairly extensive range 0 - 9. Next, look inside output summarize weighting process (drawing summary method weightIt, given imputed dataset. summary also provides effective sample size, sample size results applying weights original sample size, time point. Weighting can often result effective weighted sample size smaller orignal sample size something keep mind evaluating weighting methods. example, see original 1,292 sample reduced 605 upon weighting CBPS method. view distribution plot weights one imputed dataset. user option supply save.save plots home directory. shown , distribution heavy right tail (typical real-world data). right tail distribution represents individuals experienced statistically unexpected levels exposure given levels confounders. create inspect IPTW balancing weights using available methods order evaluate compare performance subsequent steps. , summarize plot averaging across imputed datasets order get sense overall performance. Example inspections first imputed dataset. shown , GLM method produces higher median 1.27 much greater range weights. GBM method produces similar mean GLM similarly large range (0-216). bart method similar median even larger range (0-945). super method produces similar median range 0-270. Next, evaluate well weights created using different weighting methods reduced imbalance using assessBalance() function. function calls calcBalStats() function using short formulas specifies balance statistics calculated using IPTW weights supplied. required inputs using assessBalance() function assess balance first round IPTW weights : complete data (data frame, mids object, list imputed datasets dataframes wide format), MSM object (e.g., ‘obj’), weights just created. optional inputs described Step 1b. assessBalance() function returns data frame (list) balance statistics, balance thresholds, binary balanced tag (1 = balanced, 0 = imbalanced) confounder relevant exposure time point. function outputs balance statistics (correlations continuous exposures standardized mean differences binary exposures) relating exposure time point confounders table well plots. function also provides summary balance statistics averaging across time points (imputed datasets supplied). retain optional important confounders (imp_conf) balance threshold (balance_thresh) specified earlier. first assess balance CBPS weighting method. function returns list balance statistics expsoure time point, one entry per imputed dataset (applicable). assessing balance using imputed data, can average across imputed datasets view overall summary performance method. can also examine imputed dataset individually. summarize CBPS balance statistics across imputed datasets examine balance first imputed dataset. user option supply save.save printed output home directory. Averaging across imputed datasets, find 2 imbalanced confounders remaining (35-month exposure time point) 241, median remaining correlation 0.06 maximum 0.07. can visualize imbalance love plots, averaging across imputed datasets, exposure time point (first time point shown ). can also plot balance given imputed datset. can see income 6 15 months remains imbalanced 4th (35-month) time point. can inspect balance statistics confounder relation exposure time points one individually, either averaging across imputed datasets one individually. user option supply save.save printed output home directory. , show example balance statistics first time point, averaged across imputed datasets. shown , two remaining imbalanced confounders related exposure correlation values 0.065 0.061. , assess balance weighting method comparing . summaries, identify optimal weighting method dataset, one yields best confounder balance. , can consider several criteria. note exist gold-standard, hard fast rules identifying optimal balance (especially using imputed data). However, can draw following guidance: Fewest imbalanced confounders remaining relative user-specified balance threshold(s) (summary output); Lowest median absolute balance statistic, across confounders time points, reflecting best overall attenuation confounding (summary output); Lowest maximum absolute balance statistic, across confounders time points (imputed datasets, applicable), indicating weakest remaining relation exposure confounder least balanced confounder (summary output); Reasonable effective sample size following weighting (imputed datasets, applicable), indicating reasonable power detect effects (weightiIt summary output). first three, examine summaries weighting methods. , find CBPS method fewest imbalanced confounders (2), lowest median balance statistic, lowest max balance statistic. examine fourth criterion, use weightIt summary method examine effective sample sizes (“Weighted”) compared orignal sample size (“Unweighted”) across weighting methods. just first imputed dataset. , also find CBPS method yields highest effective sample size 605. inspections, identify best performing weighting method CBPS.","code":"type <- \"short\" short_formulas <- createFormulas(obj = obj, type = type, save.out = save.out) print(short_formulas) #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 6, the short formula for ESETA1.6 is: #> ESETA1.6 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 15, the short formula for ESETA1.15 is: #> ESETA1.15 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + MDI.6 + RHasSO.6 + WndNbrhood.6 + IBRAttn.6 + B18Raw.6 + HOMEETA1.6 + InRatioCor.6 + CORTB.6 + ESETA1.6 #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 24, the short formula for ESETA1.24 is: #> ESETA1.24 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.15 + MDI.15 + RHasSO.15 + IBRAttn.15 + B18Raw.15 + HOMEETA1.15 + InRatioCor.15 + CORTB.15 + ESETA1.15 #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 35, the short formula for ESETA1.35 is: #> ESETA1.35 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.24 + RHasSO.24 + WndNbrhood.24 + IBRAttn.24 + B18Raw.24 + HOMEETA1.24 + InRatioCor.24 + CORTB.24 + EARS_TJo.24 + LESMnPos.24 + LESMnNeg.24 + ESETA1.24 #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 58, the short formula for ESETA1.58 is: #> ESETA1.58 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + RHasSO.35 + WndNbrhood.35 + HOMEETA1.35 + InRatioCor.35 + EARS_TJo.35 + LESMnPos.35 + LESMnNeg.35 + StrDif_Tot.35 + fscore.35 + ESETA1.35 formulas <- short_formulas method <- \"cbps\" weights.cbps <- createWeights(obj = obj, data = data, method = method, formulas = formulas, verbose = TRUE, # maxit = 1, # just for testing to speed up save.out = save.out) #> initial value 0.903706 #> iter 10 value 0.248548 #> iter 20 value 0.222840 #> iter 30 value 0.209527 #> iter 40 value 0.169216 #> iter 50 value 0.141001 #> iter 60 value 0.139547 #> iter 70 value 0.139440 #> iter 80 value 0.139430 #> final value 0.139430 #> converged #> initial value 0.585184 #> iter 10 value 0.241866 #> iter 20 value 0.144858 #> iter 30 value 0.108653 #> iter 40 value 0.099077 #> iter 50 value 0.098009 #> iter 60 value 0.097791 #> iter 70 value 0.097759 #> iter 80 value 0.097753 #> iter 90 value 0.097752 #> final value 0.097752 #> converged #> #> For imputation 1 and the `cbps` weighting method, the median weight value is 0.77 (SD = 1.18; range = 0-9). # weights.cbps <- readRDS('file_path_to_saved_weights.rds') print(weights.cbps, i = 1) #> #> For imputation 1 and the `cbps` weighting method, the median weight value is 0.77 (SD = 1.18; range = 0-9). summary(weights.cbps[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5138 #> #> - Units with the 5 most extreme weights: #> #> 1246 1145 294 697 919 #> all 7.4581 7.6788 7.9902 8.2032 8.5138 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.066 0.725 0.443 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 605.04 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5138 #> #> - Units with the 5 most extreme weights: #> #> 1246 1145 294 697 919 #> all 7.4581 7.6788 7.9902 8.2032 8.5138 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.066 0.725 0.443 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 605.04 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5138 #> #> - Units with the 5 most extreme weights: #> #> 1246 1145 294 697 919 #> all 7.4581 7.6788 7.9902 8.2032 8.5138 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.066 0.725 0.443 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 605.04 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5138 #> #> - Units with the 5 most extreme weights: #> #> 1246 1145 294 697 919 #> all 7.4581 7.6788 7.9902 8.2032 8.5138 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.066 0.725 0.443 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 605.04 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5138 #> #> - Units with the 5 most extreme weights: #> #> 1246 1145 294 697 919 #> all 7.4581 7.6788 7.9902 8.2032 8.5138 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.066 0.725 0.443 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 605.04 plot(weights.cbps, i = 1, save.out = save.out) method <- \"glm\" weights.glm <- createWeights(obj = obj, data = data, method = method, formulas = formulas, save.out = save.out) print(weights.glm, i = 1) #> #> For imputation 1 and the `glm` weighting method, the median weight value is 1.27 (SD = 10.03; range = 0-271). summary(weights.glm[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 271.3462 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.1877 58.3054 63.4626 178.9983 271.3462 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.824 0.96 1.144 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 82.74 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 271.3462 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.1877 58.3054 63.4626 178.9983 271.3462 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.824 0.96 1.144 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 82.74 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 271.3462 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.1877 58.3054 63.4626 178.9983 271.3462 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.824 0.96 1.144 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 82.74 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 271.3462 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.1877 58.3054 63.4626 178.9983 271.3462 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.824 0.96 1.144 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 82.74 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 271.3462 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.1877 58.3054 63.4626 178.9983 271.3462 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.824 0.96 1.144 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 82.74 plot(weights.glm, i = 1, save.out = save.out) method <- \"gbm\" weights.gbm <- createWeights(obj = obj, data = data, method = method, formulas = formulas, save.out = save.out) print(weights.gbm, i = 1) #> #> For imputation 1 and the `gbm` weighting method, the median weight value is 1.26 (SD = 8.18; range = 0-216). summary(weights.gbm[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 216.1534 #> #> - Units with the 5 most extreme weights: #> #> 342 30 475 1145 36 #> all 43.0076 43.1447 55.5631 150.016 216.1534 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.383 0.916 1.016 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 103.87 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 216.1534 #> #> - Units with the 5 most extreme weights: #> #> 342 30 475 1145 36 #> all 43.0076 43.1447 55.5631 150.016 216.1534 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.383 0.916 1.016 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 103.87 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 216.1534 #> #> - Units with the 5 most extreme weights: #> #> 342 30 475 1145 36 #> all 43.0076 43.1447 55.5631 150.016 216.1534 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.383 0.916 1.016 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 103.87 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 216.1534 #> #> - Units with the 5 most extreme weights: #> #> 342 30 475 1145 36 #> all 43.0076 43.1447 55.5631 150.016 216.1534 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.383 0.916 1.016 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 103.87 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 216.1534 #> #> - Units with the 5 most extreme weights: #> #> 342 30 475 1145 36 #> all 43.0076 43.1447 55.5631 150.016 216.1534 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.383 0.916 1.016 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 103.87 plot(weights.gbm, i = 1, save.out = save.out) method <- \"bart\" weights.bart <- createWeights(obj = obj, data = data, method = method, formulas = formulas, save.out = save.out) print(weights.bart, i = 1) #> #> For imputation 1 and the `bart` weighting method, the median weight value is 1.23 (SD = 19.51; range = 0-663). summary(weights.bart[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 663.017 #> #> - Units with the 5 most extreme weights: #> #> 30 1235 475 591 1145 #> all 45.4484 71.8712 91.6244 156.2991 663.017 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 6.764 1.031 1.581 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 27.65 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 663.017 #> #> - Units with the 5 most extreme weights: #> #> 30 1235 475 591 1145 #> all 45.4484 71.8712 91.6244 156.2991 663.017 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 6.764 1.031 1.581 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 27.65 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 663.017 #> #> - Units with the 5 most extreme weights: #> #> 30 1235 475 591 1145 #> all 45.4484 71.8712 91.6244 156.2991 663.017 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 6.764 1.031 1.581 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 27.65 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 663.017 #> #> - Units with the 5 most extreme weights: #> #> 30 1235 475 591 1145 #> all 45.4484 71.8712 91.6244 156.2991 663.017 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 6.764 1.031 1.581 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 27.65 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 663.017 #> #> - Units with the 5 most extreme weights: #> #> 30 1235 475 591 1145 #> all 45.4484 71.8712 91.6244 156.2991 663.017 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 6.764 1.031 1.581 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 27.65 plot(weights.bart, i = 1, save.out = save.out) method <- \"super\" weights.super <- createWeights(obj = obj, data = data, method = method, formulas = formulas, save.out = save.out) #> Loading required package: nnls #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning: glm.fit: algorithm did not converge #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases print(weights.super, i = 1) #> #> For imputation 1 and the `super` weighting method, the median weight value is 1.27 (SD = 9.99; range = 0-270). summary(weights.super[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 270.2898 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.0314 58.1278 63.2379 178.3232 270.2898 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.817 0.959 1.141 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 83.06 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 270.2898 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.0314 58.1278 63.2379 178.3232 270.2898 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.817 0.959 1.141 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 83.06 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 270.2898 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.0314 58.1278 63.2379 178.3232 270.2898 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.817 0.959 1.141 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 83.06 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 270.2898 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.0314 58.1278 63.2379 178.3232 270.2898 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.817 0.959 1.141 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 83.06 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 270.2898 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.0314 58.1278 63.2379 178.3232 270.2898 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.817 0.959 1.141 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 83.06 plot(weights.super, i = 1, save.out = save.out) weights <- weights.cbps balance_stats.cbps <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) summary(balance_stats.cbps, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 2 out of 241 (0.8%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.06 (max: 0.07): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps` summary(balance_stats.cbps, i = 1, save.out = save.out) #> No covariates remain imbalaned for imputation 1 using `cbps` weighting method. #> USER ALERT: For imputation 1 using `cbps` weighting method: As shown below, 0 out of 241 (0.0%) covariates across time points remain imbalanced: #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates for imputation 1 using `cbps` plot(balance_stats.cbps, t = 4, save.out = save.out) plot(balance_stats.cbps, t = 4, i = 1, save.out = save.out) print(balance_stats.cbps, t = 4, save.out = save.out) #> #> +-----------+----------------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +===========+================+===============+============+==========+ #> | ESETA1.35 | state_1 | 0.015981 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | BioDadInHH2_1 | -0.021683 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmAge2 | -0.007495 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmBlac2_1 | 0.010392 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | TcBlac2_1 | 0.016378 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmMrSt2_1 | -0.001099 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmEd2 | -0.038985 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | KFASTScr | -0.025093 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RMomAgeU | -0.013874 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_1 | 0.01822 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_2 | -0.023165 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_3 | -0.000151 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_4 | 0.024033 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_5 | 0.005529 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_1 | -0.025161 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_2 | 0.032237 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_3 | -0.019884 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_4 | 0.012453 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SWghtLB | -0.003065 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SurpPreg_1 | 0.026664 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_1 | -0.012977 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_2 | -0.013428 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_3 | 0.009222 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | DrnkFreq_1 | -0.022527 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | DrnkFreq_2 | 0.009097 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | peri_health | 0.001459 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | caregiv_health | -0.005178 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | gov_assist | 0.031894 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.6 | -0.026255 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.15 | -0.016323 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.24 | 0.010027 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | MDI.6 | -0.018594 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | MDI.15 | 0.025267 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.6_1 | 0.0186 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.15_1 | 0.037179 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.24_1 | 0.013187 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | WndNbrhood.6 | -0.032172 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | WndNbrhood.24 | -0.022859 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.6 | -0.060499 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.15 | -0.017499 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.24 | 0.005985 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.6 | 0.040266 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.15 | 0.026637 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.24 | 0.013031 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.6 | -0.057377 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.15 | -0.020653 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.24 | -0.006642 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.6 | -0.065028 | 0.05 | 0 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.15 | -0.060949 | 0.05 | 0 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.24 | -0.036796 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.6 | 0.038281 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.15 | 0.009567 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.24 | 0.026607 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | EARS_TJo.24 | -0.012261 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | LESMnPos.24 | -0.010644 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | LESMnNeg.24 | 0.00818 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.6 | 0.084495 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.15 | 0.077512 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.24 | 0.020474 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> #> Table: Balance Stats for Exposure Time 4 Averaging Across Imputed Datasets weights <- weights.glm balance_stats.glm <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) weights <- weights.gbm balance_stats.gbm <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) weights <- weights.bart balance_stats.bart <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) weights <- weights.super balance_stats.super <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) summary(balance_stats.cbps, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 2 out of 241 (0.8%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.06 (max: 0.07): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps` summary(balance_stats.glm, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `glm` weighting method: As shown below, 31 out of 241 (12.9%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.13 (max: 0.29): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 7 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 18 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 2 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `glm` summary(balance_stats.gbm, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `gbm` weighting method: As shown below, 27 out of 241 (11.2%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.12 (max: 0.22): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 7 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 3 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 10 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 5 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 2 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `gbm` summary(balance_stats.bart, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `bart` weighting method: As shown below, 28 out of 241 (11.6%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.13 (max: 0.24): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 7 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 13 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 7 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 1 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `bart` summary(balance_stats.super, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `super` weighting method: As shown below, 31 out of 241 (12.9%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.13 (max: 0.29): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 7 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 18 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 2 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `super` summary(weights.cbps[[1]])[[1]][6] #> $effective.sample.size #> Total #> Unweighted 1292.0000 #> Weighted 605.0426 summary(weights.glm[[1]])[[1]][6] #> $effective.sample.size #> Total #> Unweighted 1292.00000 #> Weighted 82.74434 summary(weights.gbm[[1]])[[1]][6] #> $effective.sample.size #> Total #> Unweighted 1292.0000 #> Weighted 103.8726 summary(weights.bart[[1]])[[1]][6] #> $effective.sample.size #> Total #> Unweighted 1292.00000 #> Weighted 27.65344 summary(weights.super[[1]])[[1]][6] #> $effective.sample.size #> Total #> Unweighted 1292.00000 #> Weighted 83.05617"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"a--create-simplified-weights-formulas","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"2a. Create Simplified Weights Formulas","title":"Workflow: Continuous Exposure","text":"First, create shorter, parsimonious weights formulas relating exposure confounders time point using createFormulas() function (type = “short”). exposure time point, formulas contain time invariant confounders well time-varying confounders t-1 lag. logic balancing confounders recent prior time point (t-1 ) may achieve balance levels distal time points, given stability many confounders time. Importantly, empirically assess relax assumption needed subsequent steps (Steps 3a-b). required input create shortened weights formulas using createFormulas() function : MSM object (e.g., ‘obj’) setting type = “short”. addition optional input outlined Step 1a, user also option specify keep_conf, list time-varying confounders (e.g., “variable.t”) always retain lagged confounders shortened formulas. user may use argument retain specific time-varying confounders otherwise excluded step occur lags greater t-1 formula. create short formulas . get list entries containing formula exposure time point. inspect make sure contain time-varying covariates lag one prior exposure time point. formulas considerably shorter full formulas. instance, 58-month exposure time point, formula contains time invariant confounders time-varying confounders 35-month time point.","code":"type <- \"short\" short_formulas <- createFormulas(obj = obj, type = type, save.out = save.out) print(short_formulas) #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 6, the short formula for ESETA1.6 is: #> ESETA1.6 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 15, the short formula for ESETA1.15 is: #> ESETA1.15 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + MDI.6 + RHasSO.6 + WndNbrhood.6 + IBRAttn.6 + B18Raw.6 + HOMEETA1.6 + InRatioCor.6 + CORTB.6 + ESETA1.6 #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 24, the short formula for ESETA1.24 is: #> ESETA1.24 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.15 + MDI.15 + RHasSO.15 + IBRAttn.15 + B18Raw.15 + HOMEETA1.15 + InRatioCor.15 + CORTB.15 + ESETA1.15 #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 35, the short formula for ESETA1.35 is: #> ESETA1.35 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.24 + RHasSO.24 + WndNbrhood.24 + IBRAttn.24 + B18Raw.24 + HOMEETA1.24 + InRatioCor.24 + CORTB.24 + EARS_TJo.24 + LESMnPos.24 + LESMnNeg.24 + ESETA1.24 #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 58, the short formula for ESETA1.58 is: #> ESETA1.58 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + RHasSO.35 + WndNbrhood.35 + HOMEETA1.35 + InRatioCor.35 + EARS_TJo.35 + LESMnPos.35 + LESMnNeg.35 + StrDif_Tot.35 + fscore.35 + ESETA1.35"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"b--create-iptw-balancing-weights-using-multiple-weighting-methods","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"2b. Create IPTW Balancing Weights Using Multiple Weighting Methods","title":"Workflow: Continuous Exposure","text":"created shorter, simplified weights formulas, now create first round IPTW balancing weights (Thoemmes & Ong, 2016) using createWeights() function, shortened weights formulas, available weighting methods. function calls weightitMSM() function WeightIt package (Greifer, 2023) uses time-specific formulas create weights time point automatically multiplying together create one weight per person. Weights stabilized, recommended (Cole & Hernan, 2008; Thoemmes & Ong, 2016), distributions can saved inspection. required inputs using createWeights() function create initial around IPTW balancing weights : MSM object (e.g, ‘obj’), complete data (data frame, mids object, list imputed datasets dataframes wide format), short formulas (see Step 2a). specify short formulas . optional inputs follows. method, provide one following methods calculating balancing weights using weightitMSM() methods validated longitudinal exposures: “cbps” (Covariate Balancing Propensity Score weighting), “gbm” (generalized boosted model), “glm” (generalized linear model; default), “super” (SuperLearner via SuperLearner package; Polley et al., 2013). information can found WeightIt documentation. begin specifying CBPS weighting method. createWeights() function can also take number additional arguments accapted weightitMSM() function (e.g., ‘criterion’, distribution’, ‘SL.library’). package defaults correspond weightIt defaults. user selects SuperLearner (“super”) method, default super learner libraries (‘SL.library’) “SL.glm” “SL.glm.interaction” alternative library can entered input createWeights function. binary exposures, “cbps” method allows specify estimand either ATE, ATT, ATC. “glm”, “super”, “bart” can specify ATE, ATT, ATC, ATO, ATM, ATOS. “gbm”, can specify ATE, ATT, ATC, ATO, ATM. default estimand binary exposures ATE. advise interested user review WeightIt documentation information additional optional arguments available weighting methods. Users option specify verbose = TRUE view information weights creation. function returns list weights objects form WeightItMSM output (entry imputed dataset appropriate). , create IPTW weights using default CBPS method. take run. Note save weights (supplying save.= TRUE custom file name createWeights() home directory initMWM()), function outputs file path use reading weights future use. can useful given weighting methods can take long time run, especially imputed datasets. previously saved CBPS weights, read instead re-creating . Given separate set weights created imputed dataset, conduct inspections imputed dataset. First, view basic statistics CBPS weights given imputed dataset. , note median weight value 0.77 (SD= 1.18) fairly extensive range 0 - 9. Next, look inside output summarize weighting process (drawing summary method weightIt, given imputed dataset. summary also provides effective sample size, sample size results applying weights original sample size, time point. Weighting can often result effective weighted sample size smaller orignal sample size something keep mind evaluating weighting methods. example, see original 1,292 sample reduced 605 upon weighting CBPS method. view distribution plot weights one imputed dataset. user option supply save.save plots home directory. shown , distribution heavy right tail (typical real-world data). right tail distribution represents individuals experienced statistically unexpected levels exposure given levels confounders. create inspect IPTW balancing weights using available methods order evaluate compare performance subsequent steps. , summarize plot averaging across imputed datasets order get sense overall performance. Example inspections first imputed dataset. shown , GLM method produces higher median 1.27 much greater range weights. GBM method produces similar mean GLM similarly large range (0-216). bart method similar median even larger range (0-945). super method produces similar median range 0-270.","code":"formulas <- short_formulas method <- \"cbps\" weights.cbps <- createWeights(obj = obj, data = data, method = method, formulas = formulas, verbose = TRUE, # maxit = 1, # just for testing to speed up save.out = save.out) #> initial value 0.903706 #> iter 10 value 0.248548 #> iter 20 value 0.222840 #> iter 30 value 0.209527 #> iter 40 value 0.169216 #> iter 50 value 0.141001 #> iter 60 value 0.139547 #> iter 70 value 0.139440 #> iter 80 value 0.139430 #> final value 0.139430 #> converged #> initial value 0.585184 #> iter 10 value 0.241866 #> iter 20 value 0.144858 #> iter 30 value 0.108653 #> iter 40 value 0.099077 #> iter 50 value 0.098009 #> iter 60 value 0.097791 #> iter 70 value 0.097759 #> iter 80 value 0.097753 #> iter 90 value 0.097752 #> final value 0.097752 #> converged #> #> For imputation 1 and the `cbps` weighting method, the median weight value is 0.77 (SD = 1.18; range = 0-9). # weights.cbps <- readRDS('file_path_to_saved_weights.rds') print(weights.cbps, i = 1) #> #> For imputation 1 and the `cbps` weighting method, the median weight value is 0.77 (SD = 1.18; range = 0-9). summary(weights.cbps[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5138 #> #> - Units with the 5 most extreme weights: #> #> 1246 1145 294 697 919 #> all 7.4581 7.6788 7.9902 8.2032 8.5138 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.066 0.725 0.443 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 605.04 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5138 #> #> - Units with the 5 most extreme weights: #> #> 1246 1145 294 697 919 #> all 7.4581 7.6788 7.9902 8.2032 8.5138 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.066 0.725 0.443 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 605.04 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5138 #> #> - Units with the 5 most extreme weights: #> #> 1246 1145 294 697 919 #> all 7.4581 7.6788 7.9902 8.2032 8.5138 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.066 0.725 0.443 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 605.04 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5138 #> #> - Units with the 5 most extreme weights: #> #> 1246 1145 294 697 919 #> all 7.4581 7.6788 7.9902 8.2032 8.5138 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.066 0.725 0.443 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 605.04 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5138 #> #> - Units with the 5 most extreme weights: #> #> 1246 1145 294 697 919 #> all 7.4581 7.6788 7.9902 8.2032 8.5138 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.066 0.725 0.443 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 605.04 plot(weights.cbps, i = 1, save.out = save.out) method <- \"glm\" weights.glm <- createWeights(obj = obj, data = data, method = method, formulas = formulas, save.out = save.out) print(weights.glm, i = 1) #> #> For imputation 1 and the `glm` weighting method, the median weight value is 1.27 (SD = 10.03; range = 0-271). summary(weights.glm[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 271.3462 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.1877 58.3054 63.4626 178.9983 271.3462 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.824 0.96 1.144 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 82.74 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 271.3462 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.1877 58.3054 63.4626 178.9983 271.3462 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.824 0.96 1.144 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 82.74 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 271.3462 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.1877 58.3054 63.4626 178.9983 271.3462 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.824 0.96 1.144 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 82.74 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 271.3462 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.1877 58.3054 63.4626 178.9983 271.3462 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.824 0.96 1.144 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 82.74 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 271.3462 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.1877 58.3054 63.4626 178.9983 271.3462 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.824 0.96 1.144 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 82.74 plot(weights.glm, i = 1, save.out = save.out) method <- \"gbm\" weights.gbm <- createWeights(obj = obj, data = data, method = method, formulas = formulas, save.out = save.out) print(weights.gbm, i = 1) #> #> For imputation 1 and the `gbm` weighting method, the median weight value is 1.26 (SD = 8.18; range = 0-216). summary(weights.gbm[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 216.1534 #> #> - Units with the 5 most extreme weights: #> #> 342 30 475 1145 36 #> all 43.0076 43.1447 55.5631 150.016 216.1534 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.383 0.916 1.016 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 103.87 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 216.1534 #> #> - Units with the 5 most extreme weights: #> #> 342 30 475 1145 36 #> all 43.0076 43.1447 55.5631 150.016 216.1534 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.383 0.916 1.016 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 103.87 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 216.1534 #> #> - Units with the 5 most extreme weights: #> #> 342 30 475 1145 36 #> all 43.0076 43.1447 55.5631 150.016 216.1534 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.383 0.916 1.016 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 103.87 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 216.1534 #> #> - Units with the 5 most extreme weights: #> #> 342 30 475 1145 36 #> all 43.0076 43.1447 55.5631 150.016 216.1534 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.383 0.916 1.016 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 103.87 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 216.1534 #> #> - Units with the 5 most extreme weights: #> #> 342 30 475 1145 36 #> all 43.0076 43.1447 55.5631 150.016 216.1534 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.383 0.916 1.016 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 103.87 plot(weights.gbm, i = 1, save.out = save.out) method <- \"bart\" weights.bart <- createWeights(obj = obj, data = data, method = method, formulas = formulas, save.out = save.out) print(weights.bart, i = 1) #> #> For imputation 1 and the `bart` weighting method, the median weight value is 1.23 (SD = 19.51; range = 0-663). summary(weights.bart[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 663.017 #> #> - Units with the 5 most extreme weights: #> #> 30 1235 475 591 1145 #> all 45.4484 71.8712 91.6244 156.2991 663.017 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 6.764 1.031 1.581 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 27.65 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 663.017 #> #> - Units with the 5 most extreme weights: #> #> 30 1235 475 591 1145 #> all 45.4484 71.8712 91.6244 156.2991 663.017 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 6.764 1.031 1.581 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 27.65 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 663.017 #> #> - Units with the 5 most extreme weights: #> #> 30 1235 475 591 1145 #> all 45.4484 71.8712 91.6244 156.2991 663.017 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 6.764 1.031 1.581 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 27.65 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 663.017 #> #> - Units with the 5 most extreme weights: #> #> 30 1235 475 591 1145 #> all 45.4484 71.8712 91.6244 156.2991 663.017 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 6.764 1.031 1.581 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 27.65 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 663.017 #> #> - Units with the 5 most extreme weights: #> #> 30 1235 475 591 1145 #> all 45.4484 71.8712 91.6244 156.2991 663.017 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 6.764 1.031 1.581 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 27.65 plot(weights.bart, i = 1, save.out = save.out) method <- \"super\" weights.super <- createWeights(obj = obj, data = data, method = method, formulas = formulas, save.out = save.out) #> Loading required package: nnls #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning: glm.fit: algorithm did not converge #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases print(weights.super, i = 1) #> #> For imputation 1 and the `super` weighting method, the median weight value is 1.27 (SD = 9.99; range = 0-270). summary(weights.super[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 270.2898 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.0314 58.1278 63.2379 178.3232 270.2898 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.817 0.959 1.141 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 83.06 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 270.2898 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.0314 58.1278 63.2379 178.3232 270.2898 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.817 0.959 1.141 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 83.06 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 270.2898 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.0314 58.1278 63.2379 178.3232 270.2898 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.817 0.959 1.141 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 83.06 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 270.2898 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.0314 58.1278 63.2379 178.3232 270.2898 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.817 0.959 1.141 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 83.06 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 270.2898 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.0314 58.1278 63.2379 178.3232 270.2898 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.817 0.959 1.141 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 83.06 plot(weights.super, i = 1, save.out = save.out)"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"cbps","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"CBPS","title":"Workflow: Continuous Exposure","text":", create IPTW weights using default CBPS method. take run. Note save weights (supplying save.= TRUE custom file name createWeights() home directory initMWM()), function outputs file path use reading weights future use. can useful given weighting methods can take long time run, especially imputed datasets. previously saved CBPS weights, read instead re-creating . Given separate set weights created imputed dataset, conduct inspections imputed dataset. First, view basic statistics CBPS weights given imputed dataset. , note median weight value 0.77 (SD= 1.18) fairly extensive range 0 - 9. Next, look inside output summarize weighting process (drawing summary method weightIt, given imputed dataset. summary also provides effective sample size, sample size results applying weights original sample size, time point. Weighting can often result effective weighted sample size smaller orignal sample size something keep mind evaluating weighting methods. example, see original 1,292 sample reduced 605 upon weighting CBPS method. view distribution plot weights one imputed dataset. user option supply save.save plots home directory. shown , distribution heavy right tail (typical real-world data). right tail distribution represents individuals experienced statistically unexpected levels exposure given levels confounders. create inspect IPTW balancing weights using available methods order evaluate compare performance subsequent steps. , summarize plot averaging across imputed datasets order get sense overall performance. Example inspections first imputed dataset.","code":"weights.cbps <- createWeights(obj = obj, data = data, method = method, formulas = formulas, verbose = TRUE, # maxit = 1, # just for testing to speed up save.out = save.out) #> initial value 0.903706 #> iter 10 value 0.248548 #> iter 20 value 0.222840 #> iter 30 value 0.209527 #> iter 40 value 0.169216 #> iter 50 value 0.141001 #> iter 60 value 0.139547 #> iter 70 value 0.139440 #> iter 80 value 0.139430 #> final value 0.139430 #> converged #> initial value 0.585184 #> iter 10 value 0.241866 #> iter 20 value 0.144858 #> iter 30 value 0.108653 #> iter 40 value 0.099077 #> iter 50 value 0.098009 #> iter 60 value 0.097791 #> iter 70 value 0.097759 #> iter 80 value 0.097753 #> iter 90 value 0.097752 #> final value 0.097752 #> converged #> #> For imputation 1 and the `cbps` weighting method, the median weight value is 0.77 (SD = 1.18; range = 0-9). # weights.cbps <- readRDS('file_path_to_saved_weights.rds') print(weights.cbps, i = 1) #> #> For imputation 1 and the `cbps` weighting method, the median weight value is 0.77 (SD = 1.18; range = 0-9). summary(weights.cbps[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5138 #> #> - Units with the 5 most extreme weights: #> #> 1246 1145 294 697 919 #> all 7.4581 7.6788 7.9902 8.2032 8.5138 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.066 0.725 0.443 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 605.04 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5138 #> #> - Units with the 5 most extreme weights: #> #> 1246 1145 294 697 919 #> all 7.4581 7.6788 7.9902 8.2032 8.5138 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.066 0.725 0.443 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 605.04 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5138 #> #> - Units with the 5 most extreme weights: #> #> 1246 1145 294 697 919 #> all 7.4581 7.6788 7.9902 8.2032 8.5138 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.066 0.725 0.443 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 605.04 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5138 #> #> - Units with the 5 most extreme weights: #> #> 1246 1145 294 697 919 #> all 7.4581 7.6788 7.9902 8.2032 8.5138 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.066 0.725 0.443 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 605.04 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5138 #> #> - Units with the 5 most extreme weights: #> #> 1246 1145 294 697 919 #> all 7.4581 7.6788 7.9902 8.2032 8.5138 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.066 0.725 0.443 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 605.04 plot(weights.cbps, i = 1, save.out = save.out)"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"glm","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"GLM","title":"Workflow: Continuous Exposure","text":"shown , GLM method produces higher median 1.27 much greater range weights.","code":"method <- \"glm\" weights.glm <- createWeights(obj = obj, data = data, method = method, formulas = formulas, save.out = save.out) print(weights.glm, i = 1) #> #> For imputation 1 and the `glm` weighting method, the median weight value is 1.27 (SD = 10.03; range = 0-271). summary(weights.glm[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 271.3462 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.1877 58.3054 63.4626 178.9983 271.3462 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.824 0.96 1.144 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 82.74 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 271.3462 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.1877 58.3054 63.4626 178.9983 271.3462 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.824 0.96 1.144 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 82.74 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 271.3462 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.1877 58.3054 63.4626 178.9983 271.3462 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.824 0.96 1.144 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 82.74 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 271.3462 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.1877 58.3054 63.4626 178.9983 271.3462 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.824 0.96 1.144 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 82.74 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 271.3462 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.1877 58.3054 63.4626 178.9983 271.3462 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.824 0.96 1.144 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 82.74 plot(weights.glm, i = 1, save.out = save.out)"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"gbm","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"GBM","title":"Workflow: Continuous Exposure","text":"GBM method produces similar mean GLM similarly large range (0-216).","code":"method <- \"gbm\" weights.gbm <- createWeights(obj = obj, data = data, method = method, formulas = formulas, save.out = save.out) print(weights.gbm, i = 1) #> #> For imputation 1 and the `gbm` weighting method, the median weight value is 1.26 (SD = 8.18; range = 0-216). summary(weights.gbm[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 216.1534 #> #> - Units with the 5 most extreme weights: #> #> 342 30 475 1145 36 #> all 43.0076 43.1447 55.5631 150.016 216.1534 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.383 0.916 1.016 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 103.87 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 216.1534 #> #> - Units with the 5 most extreme weights: #> #> 342 30 475 1145 36 #> all 43.0076 43.1447 55.5631 150.016 216.1534 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.383 0.916 1.016 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 103.87 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 216.1534 #> #> - Units with the 5 most extreme weights: #> #> 342 30 475 1145 36 #> all 43.0076 43.1447 55.5631 150.016 216.1534 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.383 0.916 1.016 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 103.87 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 216.1534 #> #> - Units with the 5 most extreme weights: #> #> 342 30 475 1145 36 #> all 43.0076 43.1447 55.5631 150.016 216.1534 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.383 0.916 1.016 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 103.87 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 216.1534 #> #> - Units with the 5 most extreme weights: #> #> 342 30 475 1145 36 #> all 43.0076 43.1447 55.5631 150.016 216.1534 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.383 0.916 1.016 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 103.87 plot(weights.gbm, i = 1, save.out = save.out)"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"bart","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"Bart","title":"Workflow: Continuous Exposure","text":"bart method similar median even larger range (0-945).","code":"method <- \"bart\" weights.bart <- createWeights(obj = obj, data = data, method = method, formulas = formulas, save.out = save.out) print(weights.bart, i = 1) #> #> For imputation 1 and the `bart` weighting method, the median weight value is 1.23 (SD = 19.51; range = 0-663). summary(weights.bart[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 663.017 #> #> - Units with the 5 most extreme weights: #> #> 30 1235 475 591 1145 #> all 45.4484 71.8712 91.6244 156.2991 663.017 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 6.764 1.031 1.581 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 27.65 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 663.017 #> #> - Units with the 5 most extreme weights: #> #> 30 1235 475 591 1145 #> all 45.4484 71.8712 91.6244 156.2991 663.017 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 6.764 1.031 1.581 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 27.65 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 663.017 #> #> - Units with the 5 most extreme weights: #> #> 30 1235 475 591 1145 #> all 45.4484 71.8712 91.6244 156.2991 663.017 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 6.764 1.031 1.581 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 27.65 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 663.017 #> #> - Units with the 5 most extreme weights: #> #> 30 1235 475 591 1145 #> all 45.4484 71.8712 91.6244 156.2991 663.017 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 6.764 1.031 1.581 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 27.65 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 663.017 #> #> - Units with the 5 most extreme weights: #> #> 30 1235 475 591 1145 #> all 45.4484 71.8712 91.6244 156.2991 663.017 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 6.764 1.031 1.581 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 27.65 plot(weights.bart, i = 1, save.out = save.out)"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"super","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"Super","title":"Workflow: Continuous Exposure","text":"super method produces similar median range 0-270.","code":"method <- \"super\" weights.super <- createWeights(obj = obj, data = data, method = method, formulas = formulas, save.out = save.out) #> Loading required package: nnls #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning: glm.fit: algorithm did not converge #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases #> Warning in predict.lm(object, newdata, se.fit, scale = 1, type = if (type == : #> prediction from rank-deficient fit; attr(*, \"non-estim\") has doubtful cases print(weights.super, i = 1) #> #> For imputation 1 and the `super` weighting method, the median weight value is 1.27 (SD = 9.99; range = 0-270). summary(weights.super[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 270.2898 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.0314 58.1278 63.2379 178.3232 270.2898 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.817 0.959 1.141 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 83.06 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 270.2898 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.0314 58.1278 63.2379 178.3232 270.2898 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.817 0.959 1.141 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 83.06 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 270.2898 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.0314 58.1278 63.2379 178.3232 270.2898 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.817 0.959 1.141 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 83.06 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 270.2898 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.0314 58.1278 63.2379 178.3232 270.2898 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.817 0.959 1.141 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 83.06 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 270.2898 #> #> - Units with the 5 most extreme weights: #> #> 1030 475 697 1145 591 #> all 52.0314 58.1278 63.2379 178.3232 270.2898 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 3.817 0.959 1.141 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 83.06 plot(weights.super, i = 1, save.out = save.out)"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"c--assess-all-weighting-methods-to-determine-optimal-method","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"2c. Assess All Weighting Methods to Determine Optimal Method","title":"Workflow: Continuous Exposure","text":"Next, evaluate well weights created using different weighting methods reduced imbalance using assessBalance() function. function calls calcBalStats() function using short formulas specifies balance statistics calculated using IPTW weights supplied. required inputs using assessBalance() function assess balance first round IPTW weights : complete data (data frame, mids object, list imputed datasets dataframes wide format), MSM object (e.g., ‘obj’), weights just created. optional inputs described Step 1b. assessBalance() function returns data frame (list) balance statistics, balance thresholds, binary balanced tag (1 = balanced, 0 = imbalanced) confounder relevant exposure time point. function outputs balance statistics (correlations continuous exposures standardized mean differences binary exposures) relating exposure time point confounders table well plots. function also provides summary balance statistics averaging across time points (imputed datasets supplied). retain optional important confounders (imp_conf) balance threshold (balance_thresh) specified earlier. first assess balance CBPS weighting method. function returns list balance statistics expsoure time point, one entry per imputed dataset (applicable). assessing balance using imputed data, can average across imputed datasets view overall summary performance method. can also examine imputed dataset individually. summarize CBPS balance statistics across imputed datasets examine balance first imputed dataset. user option supply save.save printed output home directory. Averaging across imputed datasets, find 2 imbalanced confounders remaining (35-month exposure time point) 241, median remaining correlation 0.06 maximum 0.07. can visualize imbalance love plots, averaging across imputed datasets, exposure time point (first time point shown ). can also plot balance given imputed datset. can see income 6 15 months remains imbalanced 4th (35-month) time point. can inspect balance statistics confounder relation exposure time points one individually, either averaging across imputed datasets one individually. user option supply save.save printed output home directory. , show example balance statistics first time point, averaged across imputed datasets. shown , two remaining imbalanced confounders related exposure correlation values 0.065 0.061. , assess balance weighting method comparing . summaries, identify optimal weighting method dataset, one yields best confounder balance. , can consider several criteria. note exist gold-standard, hard fast rules identifying optimal balance (especially using imputed data). However, can draw following guidance: Fewest imbalanced confounders remaining relative user-specified balance threshold(s) (summary output); Lowest median absolute balance statistic, across confounders time points, reflecting best overall attenuation confounding (summary output); Lowest maximum absolute balance statistic, across confounders time points (imputed datasets, applicable), indicating weakest remaining relation exposure confounder least balanced confounder (summary output); Reasonable effective sample size following weighting (imputed datasets, applicable), indicating reasonable power detect effects (weightiIt summary output). first three, examine summaries weighting methods. , find CBPS method fewest imbalanced confounders (2), lowest median balance statistic, lowest max balance statistic. examine fourth criterion, use weightIt summary method examine effective sample sizes (“Weighted”) compared orignal sample size (“Unweighted”) across weighting methods. just first imputed dataset. , also find CBPS method yields highest effective sample size 605. inspections, identify best performing weighting method CBPS.","code":"weights <- weights.cbps balance_stats.cbps <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) summary(balance_stats.cbps, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 2 out of 241 (0.8%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.06 (max: 0.07): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps` summary(balance_stats.cbps, i = 1, save.out = save.out) #> No covariates remain imbalaned for imputation 1 using `cbps` weighting method. #> USER ALERT: For imputation 1 using `cbps` weighting method: As shown below, 0 out of 241 (0.0%) covariates across time points remain imbalanced: #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates for imputation 1 using `cbps` plot(balance_stats.cbps, t = 4, save.out = save.out) plot(balance_stats.cbps, t = 4, i = 1, save.out = save.out) print(balance_stats.cbps, t = 4, save.out = save.out) #> #> +-----------+----------------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +===========+================+===============+============+==========+ #> | ESETA1.35 | state_1 | 0.015981 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | BioDadInHH2_1 | -0.021683 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmAge2 | -0.007495 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmBlac2_1 | 0.010392 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | TcBlac2_1 | 0.016378 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmMrSt2_1 | -0.001099 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmEd2 | -0.038985 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | KFASTScr | -0.025093 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RMomAgeU | -0.013874 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_1 | 0.01822 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_2 | -0.023165 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_3 | -0.000151 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_4 | 0.024033 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_5 | 0.005529 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_1 | -0.025161 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_2 | 0.032237 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_3 | -0.019884 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_4 | 0.012453 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SWghtLB | -0.003065 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SurpPreg_1 | 0.026664 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_1 | -0.012977 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_2 | -0.013428 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_3 | 0.009222 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | DrnkFreq_1 | -0.022527 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | DrnkFreq_2 | 0.009097 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | peri_health | 0.001459 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | caregiv_health | -0.005178 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | gov_assist | 0.031894 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.6 | -0.026255 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.15 | -0.016323 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.24 | 0.010027 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | MDI.6 | -0.018594 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | MDI.15 | 0.025267 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.6_1 | 0.0186 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.15_1 | 0.037179 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.24_1 | 0.013187 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | WndNbrhood.6 | -0.032172 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | WndNbrhood.24 | -0.022859 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.6 | -0.060499 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.15 | -0.017499 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.24 | 0.005985 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.6 | 0.040266 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.15 | 0.026637 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.24 | 0.013031 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.6 | -0.057377 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.15 | -0.020653 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.24 | -0.006642 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.6 | -0.065028 | 0.05 | 0 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.15 | -0.060949 | 0.05 | 0 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.24 | -0.036796 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.6 | 0.038281 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.15 | 0.009567 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.24 | 0.026607 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | EARS_TJo.24 | -0.012261 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | LESMnPos.24 | -0.010644 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | LESMnNeg.24 | 0.00818 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.6 | 0.084495 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.15 | 0.077512 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.24 | 0.020474 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> #> Table: Balance Stats for Exposure Time 4 Averaging Across Imputed Datasets weights <- weights.glm balance_stats.glm <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) weights <- weights.gbm balance_stats.gbm <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) weights <- weights.bart balance_stats.bart <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) weights <- weights.super balance_stats.super <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) summary(balance_stats.cbps, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 2 out of 241 (0.8%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.06 (max: 0.07): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps` summary(balance_stats.glm, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `glm` weighting method: As shown below, 31 out of 241 (12.9%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.13 (max: 0.29): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 7 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 18 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 2 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `glm` summary(balance_stats.gbm, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `gbm` weighting method: As shown below, 27 out of 241 (11.2%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.12 (max: 0.22): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 7 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 3 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 10 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 5 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 2 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `gbm` summary(balance_stats.bart, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `bart` weighting method: As shown below, 28 out of 241 (11.6%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.13 (max: 0.24): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 7 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 13 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 7 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 1 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `bart` summary(balance_stats.super, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `super` weighting method: As shown below, 31 out of 241 (12.9%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.13 (max: 0.29): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 7 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 18 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 2 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `super` summary(weights.cbps[[1]])[[1]][6] #> $effective.sample.size #> Total #> Unweighted 1292.0000 #> Weighted 605.0426 summary(weights.glm[[1]])[[1]][6] #> $effective.sample.size #> Total #> Unweighted 1292.00000 #> Weighted 82.74434 summary(weights.gbm[[1]])[[1]][6] #> $effective.sample.size #> Total #> Unweighted 1292.0000 #> Weighted 103.8726 summary(weights.bart[[1]])[[1]][6] #> $effective.sample.size #> Total #> Unweighted 1292.00000 #> Weighted 27.65344 summary(weights.super[[1]])[[1]][6] #> $effective.sample.size #> Total #> Unweighted 1292.00000 #> Weighted 83.05617"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"cbps-1","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"CBPS","title":"Workflow: Continuous Exposure","text":"first assess balance CBPS weighting method. function returns list balance statistics expsoure time point, one entry per imputed dataset (applicable). assessing balance using imputed data, can average across imputed datasets view overall summary performance method. can also examine imputed dataset individually. summarize CBPS balance statistics across imputed datasets examine balance first imputed dataset. user option supply save.save printed output home directory. Averaging across imputed datasets, find 2 imbalanced confounders remaining (35-month exposure time point) 241, median remaining correlation 0.06 maximum 0.07. can visualize imbalance love plots, averaging across imputed datasets, exposure time point (first time point shown ). can also plot balance given imputed datset. can see income 6 15 months remains imbalanced 4th (35-month) time point. can inspect balance statistics confounder relation exposure time points one individually, either averaging across imputed datasets one individually. user option supply save.save printed output home directory. , show example balance statistics first time point, averaged across imputed datasets. shown , two remaining imbalanced confounders related exposure correlation values 0.065 0.061. , assess balance weighting method comparing .","code":"weights <- weights.cbps balance_stats.cbps <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) summary(balance_stats.cbps, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 2 out of 241 (0.8%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.06 (max: 0.07): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps` summary(balance_stats.cbps, i = 1, save.out = save.out) #> No covariates remain imbalaned for imputation 1 using `cbps` weighting method. #> USER ALERT: For imputation 1 using `cbps` weighting method: As shown below, 0 out of 241 (0.0%) covariates across time points remain imbalanced: #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates for imputation 1 using `cbps` plot(balance_stats.cbps, t = 4, save.out = save.out) plot(balance_stats.cbps, t = 4, i = 1, save.out = save.out) print(balance_stats.cbps, t = 4, save.out = save.out) #> #> +-----------+----------------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +===========+================+===============+============+==========+ #> | ESETA1.35 | state_1 | 0.015981 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | BioDadInHH2_1 | -0.021683 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmAge2 | -0.007495 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmBlac2_1 | 0.010392 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | TcBlac2_1 | 0.016378 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmMrSt2_1 | -0.001099 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmEd2 | -0.038985 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | KFASTScr | -0.025093 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RMomAgeU | -0.013874 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_1 | 0.01822 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_2 | -0.023165 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_3 | -0.000151 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_4 | 0.024033 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_5 | 0.005529 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_1 | -0.025161 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_2 | 0.032237 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_3 | -0.019884 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_4 | 0.012453 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SWghtLB | -0.003065 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SurpPreg_1 | 0.026664 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_1 | -0.012977 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_2 | -0.013428 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_3 | 0.009222 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | DrnkFreq_1 | -0.022527 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | DrnkFreq_2 | 0.009097 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | peri_health | 0.001459 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | caregiv_health | -0.005178 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | gov_assist | 0.031894 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.6 | -0.026255 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.15 | -0.016323 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.24 | 0.010027 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | MDI.6 | -0.018594 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | MDI.15 | 0.025267 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.6_1 | 0.0186 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.15_1 | 0.037179 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.24_1 | 0.013187 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | WndNbrhood.6 | -0.032172 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | WndNbrhood.24 | -0.022859 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.6 | -0.060499 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.15 | -0.017499 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.24 | 0.005985 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.6 | 0.040266 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.15 | 0.026637 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.24 | 0.013031 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.6 | -0.057377 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.15 | -0.020653 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.24 | -0.006642 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.6 | -0.065028 | 0.05 | 0 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.15 | -0.060949 | 0.05 | 0 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.24 | -0.036796 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.6 | 0.038281 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.15 | 0.009567 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.24 | 0.026607 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | EARS_TJo.24 | -0.012261 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | LESMnPos.24 | -0.010644 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | LESMnNeg.24 | 0.00818 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.6 | 0.084495 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.15 | 0.077512 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.24 | 0.020474 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> #> Table: Balance Stats for Exposure Time 4 Averaging Across Imputed Datasets"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"glm-1","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"GLM","title":"Workflow: Continuous Exposure","text":"","code":"weights <- weights.glm balance_stats.glm <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out)"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"gbm-1","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"GBM","title":"Workflow: Continuous Exposure","text":"","code":"weights <- weights.gbm balance_stats.gbm <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out)"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"bart-1","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"Bart","title":"Workflow: Continuous Exposure","text":"","code":"weights <- weights.bart balance_stats.bart <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out)"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"super-1","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"Super","title":"Workflow: Continuous Exposure","text":"summaries, identify optimal weighting method dataset, one yields best confounder balance. , can consider several criteria. note exist gold-standard, hard fast rules identifying optimal balance (especially using imputed data). However, can draw following guidance: Fewest imbalanced confounders remaining relative user-specified balance threshold(s) (summary output); Lowest median absolute balance statistic, across confounders time points, reflecting best overall attenuation confounding (summary output); Lowest maximum absolute balance statistic, across confounders time points (imputed datasets, applicable), indicating weakest remaining relation exposure confounder least balanced confounder (summary output); Reasonable effective sample size following weighting (imputed datasets, applicable), indicating reasonable power detect effects (weightiIt summary output). first three, examine summaries weighting methods. , find CBPS method fewest imbalanced confounders (2), lowest median balance statistic, lowest max balance statistic. examine fourth criterion, use weightIt summary method examine effective sample sizes (“Weighted”) compared orignal sample size (“Unweighted”) across weighting methods. just first imputed dataset. , also find CBPS method yields highest effective sample size 605. inspections, identify best performing weighting method CBPS.","code":"weights <- weights.super balance_stats.super <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) summary(balance_stats.cbps, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 2 out of 241 (0.8%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.06 (max: 0.07): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps` summary(balance_stats.glm, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `glm` weighting method: As shown below, 31 out of 241 (12.9%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.13 (max: 0.29): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 7 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 18 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 2 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `glm` summary(balance_stats.gbm, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `gbm` weighting method: As shown below, 27 out of 241 (11.2%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.12 (max: 0.22): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 7 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 3 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 10 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 5 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 2 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `gbm` summary(balance_stats.bart, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `bart` weighting method: As shown below, 28 out of 241 (11.6%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.13 (max: 0.24): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 7 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 13 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 7 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 1 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `bart` summary(balance_stats.super, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `super` weighting method: As shown below, 31 out of 241 (12.9%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.13 (max: 0.29): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 7 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 18 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 2 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 2 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `super` summary(weights.cbps[[1]])[[1]][6] #> $effective.sample.size #> Total #> Unweighted 1292.0000 #> Weighted 605.0426 summary(weights.glm[[1]])[[1]][6] #> $effective.sample.size #> Total #> Unweighted 1292.00000 #> Weighted 82.74434 summary(weights.gbm[[1]])[[1]][6] #> $effective.sample.size #> Total #> Unweighted 1292.0000 #> Weighted 103.8726 summary(weights.bart[[1]])[[1]][6] #> $effective.sample.size #> Total #> Unweighted 1292.00000 #> Weighted 27.65344 summary(weights.super[[1]])[[1]][6] #> $effective.sample.size #> Total #> Unweighted 1292.00000 #> Weighted 83.05617"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"step-3-create-updated-formulas-re-specify-weights-using-optimal-weighting-method","dir":"Articles","previous_headings":"","what":"STEP 3: Create Updated Formulas & Re-Specify Weights Using Optimal Weighting Method","title":"Workflow: Continuous Exposure","text":"goal next step closely inspect balance reults best-performing weights created shortened weights formulas, add shortened formulas time-varying confounders lags > t-1 successfully balanced, create final round weights. next inspect balance produced weights created previous step best-performing weights method (.e., using SuperLearner method). , revisit assumption balancing proximal time-varying confounders (t-1) confers balance confounders distal prior time points (t- 1+). closely inspect balance CBPS weights, averaged across imputed datasets. real-world data, often difficult fully balance many confounding variables, especially across time. user find confounders remain imbalanced, can skip Step 3d. Given identified remaining imbalanced confounders, proceed Step 3b. Subsequently, update shortened formulas include time-varying confounders (t-1 +) successfully balanced full formulas, shown . , create final round weights formulas using createFormulas() function (setting type = “update” providing balance statistics bal_stats field). createFormulas() function draws user-provided balance statistics automatically identify add formulas exposure time point time-varying confounders lags greater 1 remain imbalanced weighting. function displays weights formula console message user time-varying confounders added. required input update shortened weights formulas using createFormulas() function : MSM object (e.g., “obj”), setting type = “update”, providing bal_stats balance statistics just created Step 3a. optional input detailed Step 1a. function returns list weights formulas labeled type, exposure, outcome, exposure time point. , update short formulas using balance statistics best-performing weights. inspect new formulas make sure imbalanced covariates added appropriate formulas. user option supply save.save printed output home directory. shown , income 6 15 months (“InRatioCor.6” “InRatioCor.15”) added 35-month weights formula. originally weights formula given lags greater t -1. remaining imbalance suggests achieving balance 24-month income successfully balance prior levels income. use weights formulas recreate CBPS weights effort achieve greatest reduction balance. Next, create final set balancing weights using optimal weighting method identified Step 2c updated formulas previous step using createWeights() function (method = “…’), SuperLearner method optimal weighting method identified Step 2c. function calls weightitMSM() function WeightIt package (Greifer, 2023) uses time-specific formulas create weights time point automatically multiplying together create one weight per person. Weights stabilized, recommended (Cole & Hernan, 2008; Thoemmes & Ong, 2016) distributions saved home directory inspection. required inputs using createWeights() function create final round IPTW balancing weights using updated short weights formulas : complete data (data frame, mids object, list imputed datasets dataframes wide format), MSM object (e.g., “obj”), best-performing weights method, updated formulas (see Step 3a). optional input createWeights() function listed Step 2b. function returns list form WeightItMSM output. , use updated formulas CPBS weighting method create final round IPTW balancing weights. inspect final weights imputed dataset. user option supply save.save printed plot output home directory. shown , weights median value 0.77 range 0-9, . next step trim (.e., winsorize) final set weights eliminate heavy right tail distribution using trimWeights() function. function draws Weightit package (Griefer, 2023) plots summarizes trimmed weights. function outputs list trimmed weights either single nested list (labeled “0” data data frame format) nested lists imputed dataset (data imputed). required input trimWeights() function final weights just created. optional input allows user specify quantile value (0-1; default 0.95) weights replaced weight value quantile, reduce heavy right tail. , use default 95th percentile trimming weights. trim final weights . function returns list weights objects, containing trimmed weights, form weightitMSM output ( one entry per imputed dataset, applicable). entry also specifies quantile value weights trimmed. inspect trimmed weights one imputed datasets . user option supply save.save plots home directory. shown , weights still median value 0.77 smaller standard deviation range now goes 0-4. create trimmed weights using two quantile values + /- ~0.3 previously chosen quantile value, order conduct recommended sensitivity analyses subsequent steps. first create weights 92nd quantile value. Trimming 92nd quantile preserves median 0.77 even smaller standard deviation range. 98th quantile value. Trimming instead 98th quantile produces larger standard deviation range. find comparable descriptive statistics sets weights, upper range value varying quantile cutoff. assess consequences differences (e.g., different ranges) subsequent steps.","code":"print(balance_stats.cbps) #> #> +-----------+----------------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +===========+================+===============+============+==========+ #> | ESETA1.6 | state_1 | 0.0056014 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | BioDadInHH2_1 | -0.0010128 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmAge2 | -0.0014006 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmBlac2_1 | 0.0056993 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | TcBlac2_1 | 0.0057264 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmMrSt2_1 | -0.003174 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmEd2 | -0.0126755 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | KFASTScr | -0.0123196 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RMomAgeU | -0.0050029 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_1 | -0.0058639 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_2 | -0.000575 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_3 | 0.00236 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_4 | 0.0062365 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_5 | 0.0165904 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_1 | -0.0015327 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_2 | -0.0004367 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_3 | 0.0036865 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_4 | 0.0058464 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SWghtLB | -0.0076889 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SurpPreg_1 | 0.0027974 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_1 | 0.0041922 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_2 | -0.0021733 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_3 | 0.0127002 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | DrnkFreq_1 | -0.0056479 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | DrnkFreq_2 | 0.0062915 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | peri_health | 0.0018227 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | caregiv_health | 0.0063088 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | gov_assist | 0.0142948 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | state_1 | 0.0093982 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | BioDadInHH2_1 | -0.0060919 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmAge2 | -0.00208 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmBlac2_1 | 0.0078345 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | TcBlac2_1 | 0.004728 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmMrSt2_1 | -0.003418 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmEd2 | -0.0143257 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | KFASTScr | -0.0059526 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RMomAgeU | -0.0017348 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_1 | -0.0033083 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_2 | -0.0021593 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_3 | 0.0017789 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_4 | 0.0109611 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_5 | -0.0110053 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_1 | -0.007286 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_2 | -0.0015007 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_3 | 0.0027981 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_4 | 0.00847 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SWghtLB | -0.0013944 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SurpPreg_1 | 0.0011906 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_1 | 0.0014261 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_2 | 0.0056452 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_3 | -0.0058635 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | DrnkFreq_1 | 0.0061577 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | DrnkFreq_2 | -0.0064732 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | peri_health | -0.001696 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | caregiv_health | 0.0067301 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | gov_assist | 0.0086264 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SAAmylase.6 | 0.0031339 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | MDI.6 | -0.0008854 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHasSO.6_1 | 0.0072932 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | WndNbrhood.6 | -0.0053101 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | IBRAttn.6 | -0.0030064 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | B18Raw.6 | 0.020191 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HOMEETA1.6 | -0.0133514 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | InRatioCor.6 | -0.0212558 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | CORTB.6 | -0.0004624 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | ESETA1.6 | 0.0190618 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | state_1 | 0.0178116 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | BioDadInHH2_1 | -0.0113743 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | PmAge2 | -0.0025439 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | PmBlac2_1 | 0.0137147 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | TcBlac2_1 | 0.0194831 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | PmMrSt2_1 | 0.0056732 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | PmEd2 | -0.0088749 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | KFASTScr | 0.0027367 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RMomAgeU | -0.0066146 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHealth_1 | -0.0024297 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHealth_2 | 0.0132047 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHealth_3 | -0.0131262 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHealth_4 | -0.0077858 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHealth_5 | 0.0232206 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | HomeOwnd_1 | -0.0102612 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | HomeOwnd_2 | -0.0164388 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | HomeOwnd_3 | 0.0056505 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | HomeOwnd_4 | 0.0031887 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SWghtLB | 0.0047081 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SurpPreg_1 | 0.0027554 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SmokTotl_1 | 0.0039094 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SmokTotl_2 | -0.0184712 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SmokTotl_3 | 0.0039583 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | DrnkFreq_1 | 0.0133345 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | DrnkFreq_2 | -0.0110411 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | peri_health | -0.0071191 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | caregiv_health | -0.0052552 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | gov_assist | -0.0017485 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SAAmylase.6 | 0.0159673 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SAAmylase.15 | 0.0082825 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | MDI.6 | 0.0094737 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | MDI.15 | -0.0034069 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHasSO.6_1 | -0.0140331 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHasSO.15_1 | -0.001231 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | WndNbrhood.6 | 0.0017775 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | IBRAttn.6 | -0.0016465 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | IBRAttn.15 | -0.000343 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | B18Raw.6 | 0.0822361 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | B18Raw.15 | 0.0005663 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | HOMEETA1.6 | 0.0113979 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | HOMEETA1.15 | 0.0067273 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | InRatioCor.6 | -0.0374541 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | InRatioCor.15 | 0.0098439 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | CORTB.6 | 0.0563049 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | CORTB.15 | -0.005924 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | ESETA1.6 | 0.0273448 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | ESETA1.15 | 0.0061281 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | state_1 | 0.0159812 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | BioDadInHH2_1 | -0.0216829 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmAge2 | -0.0074947 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmBlac2_1 | 0.0103925 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | TcBlac2_1 | 0.0163783 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmMrSt2_1 | -0.0010987 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmEd2 | -0.0389852 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | KFASTScr | -0.0250932 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RMomAgeU | -0.0138737 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_1 | 0.0182202 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_2 | -0.0231654 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_3 | -0.0001511 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_4 | 0.0240331 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_5 | 0.005529 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_1 | -0.0251607 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_2 | 0.0322371 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_3 | -0.0198839 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_4 | 0.0124531 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SWghtLB | -0.0030648 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SurpPreg_1 | 0.0266638 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_1 | -0.0129774 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_2 | -0.013428 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_3 | 0.009222 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | DrnkFreq_1 | -0.0225268 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | DrnkFreq_2 | 0.0090972 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | peri_health | 0.0014589 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | caregiv_health | -0.0051781 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | gov_assist | 0.0318938 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.6 | -0.0262552 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.15 | -0.0163234 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.24 | 0.0100267 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | MDI.6 | -0.0185937 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | MDI.15 | 0.0252672 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.6_1 | 0.0185998 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.15_1 | 0.0371793 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.24_1 | 0.0131871 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | WndNbrhood.6 | -0.0321717 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | WndNbrhood.24 | -0.022859 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.6 | -0.0604992 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.15 | -0.0174987 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.24 | 0.0059855 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.6 | 0.0402665 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.15 | 0.0266371 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.24 | 0.0130311 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.6 | -0.0573771 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.15 | -0.020653 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.24 | -0.0066419 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.6 | -0.0650277 | 0.05 | 0 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.15 | -0.0609491 | 0.05 | 0 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.24 | -0.036796 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.6 | 0.0382809 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.15 | 0.0095674 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.24 | 0.0266067 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | EARS_TJo.24 | -0.0122612 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | LESMnPos.24 | -0.0106439 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | LESMnNeg.24 | 0.0081802 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.6 | 0.0844947 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.15 | 0.0775117 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.24 | 0.0204742 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | state_1 | 0.0173188 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | BioDadInHH2_1 | -0.029331 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | PmAge2 | -0.0022438 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | PmBlac2_1 | 0.0167733 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | TcBlac2_1 | 0.0285232 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | PmMrSt2_1 | -0.0308851 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | PmEd2 | -0.005835 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | KFASTScr | 0.0001801 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RMomAgeU | 0.0200869 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHealth_1 | -0.0046526 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHealth_2 | 0.0058821 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHealth_3 | 0.0057173 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHealth_4 | -0.0099921 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHealth_5 | -0.0018151 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HomeOwnd_1 | -0.0129367 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HomeOwnd_2 | 0.0088235 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HomeOwnd_3 | 0.029316 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HomeOwnd_4 | -0.0281944 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SWghtLB | -0.0300973 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SurpPreg_1 | -0.0039986 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SmokTotl_1 | 0.002585 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SmokTotl_2 | -0.0052944 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SmokTotl_3 | -0.0020945 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | DrnkFreq_1 | -0.0068799 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | DrnkFreq_2 | 0.0052751 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | peri_health | 0.0042015 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | caregiv_health | 0.0116077 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | gov_assist | 0.007267 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SAAmylase.6 | 0.0316109 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SAAmylase.15 | -0.030204 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SAAmylase.24 | -0.0039453 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | MDI.6 | 0.0458769 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | MDI.15 | -0.046456 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHasSO.6_1 | 0.0649412 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHasSO.15_1 | -0.0122701 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHasSO.24_1 | -0.0169821 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHasSO.35_1 | 0.0116231 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | WndNbrhood.6 | -0.0373402 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | WndNbrhood.24 | -0.001917 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | WndNbrhood.35 | 0.0023001 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | IBRAttn.6 | -0.0320238 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | IBRAttn.15 | -0.0253196 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | IBRAttn.24 | -0.0374467 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | B18Raw.6 | 0.016658 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | B18Raw.15 | 0.0519722 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | B18Raw.24 | 0.0765176 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HOMEETA1.6 | -0.0038499 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HOMEETA1.15 | 0.0141684 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HOMEETA1.24 | -0.0396149 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HOMEETA1.35 | -0.0181722 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | InRatioCor.6 | -0.021147 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | InRatioCor.15 | -0.0288403 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | InRatioCor.24 | -0.0306187 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | InRatioCor.35 | -0.0000517 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | CORTB.6 | 0.034015 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | CORTB.15 | 0.0126726 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | CORTB.24 | -0.0234976 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | EARS_TJo.24 | -0.0205811 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | EARS_TJo.35 | -0.0102582 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | LESMnPos.24 | -0.0325432 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | LESMnPos.35 | -0.0198356 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | LESMnNeg.24 | 0.0397038 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | LESMnNeg.35 | 0.0159532 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | StrDif_Tot.35 | 0.025157 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | fscore.35 | -0.0372574 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | ESETA1.6 | 0.0391978 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | ESETA1.15 | 0.0257108 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | ESETA1.24 | 0.0109497 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | ESETA1.35 | 0.0073936 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> #> Table: Balance Stats for All Exposure Time Points Averaging Across Imputed Datasets plot(balance_stats.cbps, t = 4, save.out = save.out) type <- \"update\" bal_stats <- balance_stats.cbps updated_formulas <- createFormulas(obj = obj, type = type, bal_stats = bal_stats, save.out = save.out) print(updated_formulas, save.out = save.out) #> USER ALERT: Please manually inspect the updated balancing formula below that includes time-varying confounders at t-1 and those greater at further lags that remained imbalanced: #> At time point 6, the update formula for ESETA1.6 is: #> ESETA1.6 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist #> USER ALERT: Please manually inspect the updated balancing formula below that includes time-varying confounders at t-1 and those greater at further lags that remained imbalanced: #> At time point 15, the update formula for ESETA1.15 is: #> ESETA1.15 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + MDI.6 + RHasSO.6 + WndNbrhood.6 + IBRAttn.6 + B18Raw.6 + HOMEETA1.6 + InRatioCor.6 + CORTB.6 + ESETA1.6 #> USER ALERT: Please manually inspect the updated balancing formula below that includes time-varying confounders at t-1 and those greater at further lags that remained imbalanced: #> At time point 24, the update formula for ESETA1.24 is: #> ESETA1.24 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.15 + MDI.15 + RHasSO.15 + IBRAttn.15 + B18Raw.15 + HOMEETA1.15 + InRatioCor.15 + CORTB.15 + ESETA1.15 #> USER ALERT: Please manually inspect the updated balancing formula below that includes time-varying confounders at t-1 and those greater at further lags that remained imbalanced: #> At time point 35, the update formula for ESETA1.35 is: #> ESETA1.35 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.24 + RHasSO.24 + WndNbrhood.24 + IBRAttn.24 + B18Raw.24 + HOMEETA1.24 + InRatioCor.24 + CORTB.24 + EARS_TJo.24 + LESMnPos.24 + LESMnNeg.24 + ESETA1.24 + InRatioCor.6 + InRatioCor.15 #> USER ALERT: Please manually inspect the updated balancing formula below that includes time-varying confounders at t-1 and those greater at further lags that remained imbalanced: #> At time point 58, the update formula for ESETA1.58 is: #> ESETA1.58 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + RHasSO.35 + WndNbrhood.35 + HOMEETA1.35 + InRatioCor.35 + EARS_TJo.35 + LESMnPos.35 + LESMnNeg.35 + StrDif_Tot.35 + fscore.35 + ESETA1.35 formulas <- updated_formulas method <- \"cbps\" final_weights <- createWeights(data = data, obj = obj, method = method, formulas = formulas, # max.it = 1, # testing only save.out = save.out) print(final_weights, i = 1) #> #> For imputation 1 and the `cbps` weighting method, the median weight value is 0.77 (SD = 1.17; range = 0-9). plot(final_weights, i = 1, save.out = save.out) quantile <- 0.95 weights <- final_weights trim_weights <- trimWeights(weights = weights, at = quantile, save.out = save.out) print(trim_weights, i = 1) #> #> For imputation 1 and the `cbps` weighting method, after trimming at 95th quantile, the median weight value is 0.77 (SD = 0.93; range = 0-4). plot(trim_weights, i = 1, save.out = save.out) quantile <- 0.92 trim_weights.s1 <- trimWeights(weights = weights, at = quantile, save.out = save.out) print(trim_weights.s1, i = 1) #> #> For imputation 1 and the `cbps` weighting method, after trimming at 92th quantile, the median weight value is 0.77 (SD = 0.82; range = 0-3). plot(trim_weights.s1, i = 1, save.out = save.out) quantile <- 0.98 trim_weights.s2 <- trimWeights(weights = weights, at = quantile, save.out = save.out) print(trim_weights.s2, i = 1) #> #> For imputation 1 and the `cbps` weighting method, after trimming at 98th quantile, the median weight value is 0.77 (SD = 1.05; range = 0-5). plot(trim_weights.s2, i = 1, save.out = save.out)"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"a--examine-balance-of-optimal-weighting-method","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"3a. Examine Balance of Optimal Weighting Method","title":"Workflow: Continuous Exposure","text":"next inspect balance produced weights created previous step best-performing weights method (.e., using SuperLearner method). , revisit assumption balancing proximal time-varying confounders (t-1) confers balance confounders distal prior time points (t- 1+). closely inspect balance CBPS weights, averaged across imputed datasets. real-world data, often difficult fully balance many confounding variables, especially across time. user find confounders remain imbalanced, can skip Step 3d. Given identified remaining imbalanced confounders, proceed Step 3b.","code":"print(balance_stats.cbps) #> #> +-----------+----------------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +===========+================+===============+============+==========+ #> | ESETA1.6 | state_1 | 0.0056014 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | BioDadInHH2_1 | -0.0010128 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmAge2 | -0.0014006 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmBlac2_1 | 0.0056993 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | TcBlac2_1 | 0.0057264 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmMrSt2_1 | -0.003174 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | PmEd2 | -0.0126755 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | KFASTScr | -0.0123196 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RMomAgeU | -0.0050029 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_1 | -0.0058639 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_2 | -0.000575 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_3 | 0.00236 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_4 | 0.0062365 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | RHealth_5 | 0.0165904 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_1 | -0.0015327 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_2 | -0.0004367 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_3 | 0.0036865 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | HomeOwnd_4 | 0.0058464 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SWghtLB | -0.0076889 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SurpPreg_1 | 0.0027974 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_1 | 0.0041922 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_2 | -0.0021733 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | SmokTotl_3 | 0.0127002 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | DrnkFreq_1 | -0.0056479 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | DrnkFreq_2 | 0.0062915 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | peri_health | 0.0018227 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | caregiv_health | 0.0063088 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.6 | gov_assist | 0.0142948 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | state_1 | 0.0093982 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | BioDadInHH2_1 | -0.0060919 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmAge2 | -0.00208 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmBlac2_1 | 0.0078345 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | TcBlac2_1 | 0.004728 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmMrSt2_1 | -0.003418 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmEd2 | -0.0143257 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | KFASTScr | -0.0059526 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RMomAgeU | -0.0017348 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_1 | -0.0033083 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_2 | -0.0021593 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_3 | 0.0017789 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_4 | 0.0109611 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_5 | -0.0110053 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_1 | -0.007286 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_2 | -0.0015007 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_3 | 0.0027981 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_4 | 0.00847 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SWghtLB | -0.0013944 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SurpPreg_1 | 0.0011906 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_1 | 0.0014261 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_2 | 0.0056452 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_3 | -0.0058635 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | DrnkFreq_1 | 0.0061577 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | DrnkFreq_2 | -0.0064732 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | peri_health | -0.001696 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | caregiv_health | 0.0067301 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | gov_assist | 0.0086264 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SAAmylase.6 | 0.0031339 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | MDI.6 | -0.0008854 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHasSO.6_1 | 0.0072932 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | WndNbrhood.6 | -0.0053101 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | IBRAttn.6 | -0.0030064 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | B18Raw.6 | 0.020191 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HOMEETA1.6 | -0.0133514 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | InRatioCor.6 | -0.0212558 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | CORTB.6 | -0.0004624 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | ESETA1.6 | 0.0190618 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | state_1 | 0.0178116 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | BioDadInHH2_1 | -0.0113743 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | PmAge2 | -0.0025439 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | PmBlac2_1 | 0.0137147 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | TcBlac2_1 | 0.0194831 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | PmMrSt2_1 | 0.0056732 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | PmEd2 | -0.0088749 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | KFASTScr | 0.0027367 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RMomAgeU | -0.0066146 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHealth_1 | -0.0024297 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHealth_2 | 0.0132047 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHealth_3 | -0.0131262 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHealth_4 | -0.0077858 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHealth_5 | 0.0232206 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | HomeOwnd_1 | -0.0102612 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | HomeOwnd_2 | -0.0164388 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | HomeOwnd_3 | 0.0056505 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | HomeOwnd_4 | 0.0031887 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SWghtLB | 0.0047081 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SurpPreg_1 | 0.0027554 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SmokTotl_1 | 0.0039094 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SmokTotl_2 | -0.0184712 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SmokTotl_3 | 0.0039583 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | DrnkFreq_1 | 0.0133345 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | DrnkFreq_2 | -0.0110411 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | peri_health | -0.0071191 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | caregiv_health | -0.0052552 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | gov_assist | -0.0017485 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SAAmylase.6 | 0.0159673 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | SAAmylase.15 | 0.0082825 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | MDI.6 | 0.0094737 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | MDI.15 | -0.0034069 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHasSO.6_1 | -0.0140331 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | RHasSO.15_1 | -0.001231 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | WndNbrhood.6 | 0.0017775 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | IBRAttn.6 | -0.0016465 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | IBRAttn.15 | -0.000343 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | B18Raw.6 | 0.0822361 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | B18Raw.15 | 0.0005663 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | HOMEETA1.6 | 0.0113979 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | HOMEETA1.15 | 0.0067273 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | InRatioCor.6 | -0.0374541 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | InRatioCor.15 | 0.0098439 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | CORTB.6 | 0.0563049 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | CORTB.15 | -0.005924 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | ESETA1.6 | 0.0273448 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.24 | ESETA1.15 | 0.0061281 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | state_1 | 0.0159812 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | BioDadInHH2_1 | -0.0216829 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmAge2 | -0.0074947 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmBlac2_1 | 0.0103925 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | TcBlac2_1 | 0.0163783 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmMrSt2_1 | -0.0010987 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | PmEd2 | -0.0389852 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | KFASTScr | -0.0250932 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RMomAgeU | -0.0138737 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_1 | 0.0182202 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_2 | -0.0231654 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_3 | -0.0001511 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_4 | 0.0240331 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHealth_5 | 0.005529 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_1 | -0.0251607 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_2 | 0.0322371 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_3 | -0.0198839 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HomeOwnd_4 | 0.0124531 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SWghtLB | -0.0030648 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SurpPreg_1 | 0.0266638 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_1 | -0.0129774 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_2 | -0.013428 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SmokTotl_3 | 0.009222 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | DrnkFreq_1 | -0.0225268 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | DrnkFreq_2 | 0.0090972 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | peri_health | 0.0014589 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | caregiv_health | -0.0051781 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | gov_assist | 0.0318938 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.6 | -0.0262552 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.15 | -0.0163234 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | SAAmylase.24 | 0.0100267 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | MDI.6 | -0.0185937 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | MDI.15 | 0.0252672 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.6_1 | 0.0185998 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.15_1 | 0.0371793 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | RHasSO.24_1 | 0.0131871 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | WndNbrhood.6 | -0.0321717 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | WndNbrhood.24 | -0.022859 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.6 | -0.0604992 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.15 | -0.0174987 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | IBRAttn.24 | 0.0059855 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.6 | 0.0402665 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.15 | 0.0266371 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | B18Raw.24 | 0.0130311 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.6 | -0.0573771 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.15 | -0.020653 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | HOMEETA1.24 | -0.0066419 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.6 | -0.0650277 | 0.05 | 0 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.15 | -0.0609491 | 0.05 | 0 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | InRatioCor.24 | -0.036796 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.6 | 0.0382809 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.15 | 0.0095674 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | CORTB.24 | 0.0266067 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | EARS_TJo.24 | -0.0122612 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | LESMnPos.24 | -0.0106439 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | LESMnNeg.24 | 0.0081802 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.6 | 0.0844947 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.15 | 0.0775117 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.35 | ESETA1.24 | 0.0204742 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | state_1 | 0.0173188 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | BioDadInHH2_1 | -0.029331 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | PmAge2 | -0.0022438 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | PmBlac2_1 | 0.0167733 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | TcBlac2_1 | 0.0285232 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | PmMrSt2_1 | -0.0308851 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | PmEd2 | -0.005835 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | KFASTScr | 0.0001801 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RMomAgeU | 0.0200869 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHealth_1 | -0.0046526 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHealth_2 | 0.0058821 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHealth_3 | 0.0057173 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHealth_4 | -0.0099921 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHealth_5 | -0.0018151 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HomeOwnd_1 | -0.0129367 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HomeOwnd_2 | 0.0088235 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HomeOwnd_3 | 0.029316 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HomeOwnd_4 | -0.0281944 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SWghtLB | -0.0300973 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SurpPreg_1 | -0.0039986 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SmokTotl_1 | 0.002585 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SmokTotl_2 | -0.0052944 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SmokTotl_3 | -0.0020945 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | DrnkFreq_1 | -0.0068799 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | DrnkFreq_2 | 0.0052751 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | peri_health | 0.0042015 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | caregiv_health | 0.0116077 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | gov_assist | 0.007267 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SAAmylase.6 | 0.0316109 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SAAmylase.15 | -0.030204 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | SAAmylase.24 | -0.0039453 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | MDI.6 | 0.0458769 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | MDI.15 | -0.046456 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHasSO.6_1 | 0.0649412 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHasSO.15_1 | -0.0122701 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHasSO.24_1 | -0.0169821 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | RHasSO.35_1 | 0.0116231 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | WndNbrhood.6 | -0.0373402 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | WndNbrhood.24 | -0.001917 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | WndNbrhood.35 | 0.0023001 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | IBRAttn.6 | -0.0320238 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | IBRAttn.15 | -0.0253196 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | IBRAttn.24 | -0.0374467 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | B18Raw.6 | 0.016658 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | B18Raw.15 | 0.0519722 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | B18Raw.24 | 0.0765176 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HOMEETA1.6 | -0.0038499 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HOMEETA1.15 | 0.0141684 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HOMEETA1.24 | -0.0396149 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | HOMEETA1.35 | -0.0181722 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | InRatioCor.6 | -0.021147 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | InRatioCor.15 | -0.0288403 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | InRatioCor.24 | -0.0306187 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | InRatioCor.35 | -0.0000517 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | CORTB.6 | 0.034015 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | CORTB.15 | 0.0126726 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | CORTB.24 | -0.0234976 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | EARS_TJo.24 | -0.0205811 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | EARS_TJo.35 | -0.0102582 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | LESMnPos.24 | -0.0325432 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | LESMnPos.35 | -0.0198356 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | LESMnNeg.24 | 0.0397038 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | LESMnNeg.35 | 0.0159532 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | StrDif_Tot.35 | 0.025157 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | fscore.35 | -0.0372574 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | ESETA1.6 | 0.0391978 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | ESETA1.15 | 0.0257108 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | ESETA1.24 | 0.0109497 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.58 | ESETA1.35 | 0.0073936 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> #> Table: Balance Stats for All Exposure Time Points Averaging Across Imputed Datasets plot(balance_stats.cbps, t = 4, save.out = save.out)"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"step-3b--update-simplified-formulas","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"Step 3b. Update Simplified Formulas","title":"Workflow: Continuous Exposure","text":"Subsequently, update shortened formulas include time-varying confounders (t-1 +) successfully balanced full formulas, shown . , create final round weights formulas using createFormulas() function (setting type = “update” providing balance statistics bal_stats field). createFormulas() function draws user-provided balance statistics automatically identify add formulas exposure time point time-varying confounders lags greater 1 remain imbalanced weighting. function displays weights formula console message user time-varying confounders added. required input update shortened weights formulas using createFormulas() function : MSM object (e.g., “obj”), setting type = “update”, providing bal_stats balance statistics just created Step 3a. optional input detailed Step 1a. function returns list weights formulas labeled type, exposure, outcome, exposure time point. , update short formulas using balance statistics best-performing weights. inspect new formulas make sure imbalanced covariates added appropriate formulas. user option supply save.save printed output home directory. shown , income 6 15 months (“InRatioCor.6” “InRatioCor.15”) added 35-month weights formula. originally weights formula given lags greater t -1. remaining imbalance suggests achieving balance 24-month income successfully balance prior levels income. use weights formulas recreate CBPS weights effort achieve greatest reduction balance.","code":"type <- \"update\" bal_stats <- balance_stats.cbps updated_formulas <- createFormulas(obj = obj, type = type, bal_stats = bal_stats, save.out = save.out) print(updated_formulas, save.out = save.out) #> USER ALERT: Please manually inspect the updated balancing formula below that includes time-varying confounders at t-1 and those greater at further lags that remained imbalanced: #> At time point 6, the update formula for ESETA1.6 is: #> ESETA1.6 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist #> USER ALERT: Please manually inspect the updated balancing formula below that includes time-varying confounders at t-1 and those greater at further lags that remained imbalanced: #> At time point 15, the update formula for ESETA1.15 is: #> ESETA1.15 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.6 + MDI.6 + RHasSO.6 + WndNbrhood.6 + IBRAttn.6 + B18Raw.6 + HOMEETA1.6 + InRatioCor.6 + CORTB.6 + ESETA1.6 #> USER ALERT: Please manually inspect the updated balancing formula below that includes time-varying confounders at t-1 and those greater at further lags that remained imbalanced: #> At time point 24, the update formula for ESETA1.24 is: #> ESETA1.24 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.15 + MDI.15 + RHasSO.15 + IBRAttn.15 + B18Raw.15 + HOMEETA1.15 + InRatioCor.15 + CORTB.15 + ESETA1.15 #> USER ALERT: Please manually inspect the updated balancing formula below that includes time-varying confounders at t-1 and those greater at further lags that remained imbalanced: #> At time point 35, the update formula for ESETA1.35 is: #> ESETA1.35 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + SAAmylase.24 + RHasSO.24 + WndNbrhood.24 + IBRAttn.24 + B18Raw.24 + HOMEETA1.24 + InRatioCor.24 + CORTB.24 + EARS_TJo.24 + LESMnPos.24 + LESMnNeg.24 + ESETA1.24 + InRatioCor.6 + InRatioCor.15 #> USER ALERT: Please manually inspect the updated balancing formula below that includes time-varying confounders at t-1 and those greater at further lags that remained imbalanced: #> At time point 58, the update formula for ESETA1.58 is: #> ESETA1.58 ~ state + BioDadInHH2 + PmAge2 + PmBlac2 + TcBlac2 + PmMrSt2 + PmEd2 + KFASTScr + RMomAgeU + RHealth + HomeOwnd + SWghtLB + SurpPreg + SmokTotl + DrnkFreq + peri_health + caregiv_health + gov_assist + RHasSO.35 + WndNbrhood.35 + HOMEETA1.35 + InRatioCor.35 + EARS_TJo.35 + LESMnPos.35 + LESMnNeg.35 + StrDif_Tot.35 + fscore.35 + ESETA1.35"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"step-3c--create-final-balancing-weights","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"Step 3c. Create Final Balancing Weights","title":"Workflow: Continuous Exposure","text":"Next, create final set balancing weights using optimal weighting method identified Step 2c updated formulas previous step using createWeights() function (method = “…’), SuperLearner method optimal weighting method identified Step 2c. function calls weightitMSM() function WeightIt package (Greifer, 2023) uses time-specific formulas create weights time point automatically multiplying together create one weight per person. Weights stabilized, recommended (Cole & Hernan, 2008; Thoemmes & Ong, 2016) distributions saved home directory inspection. required inputs using createWeights() function create final round IPTW balancing weights using updated short weights formulas : complete data (data frame, mids object, list imputed datasets dataframes wide format), MSM object (e.g., “obj”), best-performing weights method, updated formulas (see Step 3a). optional input createWeights() function listed Step 2b. function returns list form WeightItMSM output. , use updated formulas CPBS weighting method create final round IPTW balancing weights. inspect final weights imputed dataset. user option supply save.save printed plot output home directory. shown , weights median value 0.77 range 0-9, .","code":"formulas <- updated_formulas method <- \"cbps\" final_weights <- createWeights(data = data, obj = obj, method = method, formulas = formulas, # max.it = 1, # testing only save.out = save.out) print(final_weights, i = 1) #> #> For imputation 1 and the `cbps` weighting method, the median weight value is 0.77 (SD = 1.17; range = 0-9). plot(final_weights, i = 1, save.out = save.out)"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"d--trim-final-balancing-weights","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"3d. Trim Final Balancing Weights","title":"Workflow: Continuous Exposure","text":"next step trim (.e., winsorize) final set weights eliminate heavy right tail distribution using trimWeights() function. function draws Weightit package (Griefer, 2023) plots summarizes trimmed weights. function outputs list trimmed weights either single nested list (labeled “0” data data frame format) nested lists imputed dataset (data imputed). required input trimWeights() function final weights just created. optional input allows user specify quantile value (0-1; default 0.95) weights replaced weight value quantile, reduce heavy right tail. , use default 95th percentile trimming weights. trim final weights . function returns list weights objects, containing trimmed weights, form weightitMSM output ( one entry per imputed dataset, applicable). entry also specifies quantile value weights trimmed. inspect trimmed weights one imputed datasets . user option supply save.save plots home directory. shown , weights still median value 0.77 smaller standard deviation range now goes 0-4. create trimmed weights using two quantile values + /- ~0.3 previously chosen quantile value, order conduct recommended sensitivity analyses subsequent steps. first create weights 92nd quantile value. Trimming 92nd quantile preserves median 0.77 even smaller standard deviation range. 98th quantile value. Trimming instead 98th quantile produces larger standard deviation range. find comparable descriptive statistics sets weights, upper range value varying quantile cutoff. assess consequences differences (e.g., different ranges) subsequent steps.","code":"quantile <- 0.95 weights <- final_weights trim_weights <- trimWeights(weights = weights, at = quantile, save.out = save.out) print(trim_weights, i = 1) #> #> For imputation 1 and the `cbps` weighting method, after trimming at 95th quantile, the median weight value is 0.77 (SD = 0.93; range = 0-4). plot(trim_weights, i = 1, save.out = save.out) quantile <- 0.92 trim_weights.s1 <- trimWeights(weights = weights, at = quantile, save.out = save.out) print(trim_weights.s1, i = 1) #> #> For imputation 1 and the `cbps` weighting method, after trimming at 92th quantile, the median weight value is 0.77 (SD = 0.82; range = 0-3). plot(trim_weights.s1, i = 1, save.out = save.out) quantile <- 0.98 trim_weights.s2 <- trimWeights(weights = weights, at = quantile, save.out = save.out) print(trim_weights.s2, i = 1) #> #> For imputation 1 and the `cbps` weighting method, after trimming at 98th quantile, the median weight value is 0.77 (SD = 1.05; range = 0-5). plot(trim_weights.s2, i = 1, save.out = save.out)"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"sensitvity-analyses","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"Sensitvity Analyses","title":"Workflow: Continuous Exposure","text":"create trimmed weights using two quantile values + /- ~0.3 previously chosen quantile value, order conduct recommended sensitivity analyses subsequent steps. first create weights 92nd quantile value. Trimming 92nd quantile preserves median 0.77 even smaller standard deviation range. 98th quantile value. Trimming instead 98th quantile produces larger standard deviation range. find comparable descriptive statistics sets weights, upper range value varying quantile cutoff. assess consequences differences (e.g., different ranges) subsequent steps.","code":"quantile <- 0.92 trim_weights.s1 <- trimWeights(weights = weights, at = quantile, save.out = save.out) print(trim_weights.s1, i = 1) #> #> For imputation 1 and the `cbps` weighting method, after trimming at 92th quantile, the median weight value is 0.77 (SD = 0.82; range = 0-3). plot(trim_weights.s1, i = 1, save.out = save.out) quantile <- 0.98 trim_weights.s2 <- trimWeights(weights = weights, at = quantile, save.out = save.out) print(trim_weights.s2, i = 1) #> #> For imputation 1 and the `cbps` weighting method, after trimming at 98th quantile, the median weight value is 0.77 (SD = 1.05; range = 0-5). plot(trim_weights.s2, i = 1, save.out = save.out)"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"step-4-conduct-final-balance-assessment","dir":"Articles","previous_headings":"","what":"Step 4: Conduct Final Balance Assessment","title":"Workflow: Continuous Exposure","text":"created trimmed final set IPTW balancing weights, next step conduct final evaluation well reduce imbalance. assess performance final trimmed untrimmed weights using assessBalance() function. required inputs using assessBalance() function assess final, trimmed weights achieve balance full formulas : complete data (data frame, mids object, list imputed datasets dataframes wide format), MSM object (e.g., “obj”), weights. optional inputs assessBalance() function detailed Step 1b. , assess balance trimmed weights. Assess balance trimmed weights Summarize inspect. shown , trimmed weights result one imbalanced confounder relation exposure 15 months effective sample size 719. assess balance untrimmed weights Summarize inspect see non-trimmed weights result imbalanced confounders effective sample size 611. scenario, given , trimmed weights, imbalanced confounder (income 6 months) related exposure -0.051 trimmed weights yield higher effective sample size, proceed trimmed weights. summarize final balance statistics, averaging across imputed datasets. user option supply save.save plot output home directory. outcome modeling step (Step 5), users option include remaining imbalanced confounders time invariant covariates final outcome model. case, manually list imbalanced confounders time invariant assign covariates. Subsequently, also assess balance weights trimmed two additional quantile values assess whether final balance assessment sensitive trim value. first assess balance weights trimmed 93rd quantile value. , similarly find income 6 months imbalanced respect exposure 15 months (albeit slighter stronger correlation main analyses). next assess balance weights trimmed 98th quantile value. , find remaining imbalanced confounders (similar untrimmed results).","code":"weights <- trim_weights final_balance_stats_trim <- assessBalance(data = data, obj = obj, balance_thresh = balance_thresh, imp_conf = imp_conf, weights = weights, save.out = save.out) summary(final_balance_stats_trim, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 1 out of 241 (0.4%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.05 (max: 0.05): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 1 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps` print(final_balance_stats_trim, t = 2, save.out = save.out) #> #> +-----------+----------------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +===========+================+===============+============+==========+ #> | ESETA1.15 | state_1 | 0.017188 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | BioDadInHH2_1 | -0.0163 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmAge2 | -0.008023 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmBlac2_1 | 0.016619 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | TcBlac2_1 | 0.018256 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmMrSt2_1 | -0.00511 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmEd2 | -0.037445 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | KFASTScr | -0.019385 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RMomAgeU | -0.004175 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_1 | 0.002172 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_2 | -0.008696 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_3 | 0.004039 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_4 | 0.007655 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_5 | -0.011764 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_1 | -0.004551 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_2 | 0.003749 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_3 | 0.004181 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_4 | 0.010203 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SWghtLB | -0.000544 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SurpPreg_1 | 0.00931 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_1 | 0.010631 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_2 | 0.008245 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_3 | -0.005169 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | DrnkFreq_1 | 0.009757 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | DrnkFreq_2 | -0.01846 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | peri_health | -0.001012 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | caregiv_health | 0.009529 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | gov_assist | 0.014943 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SAAmylase.6 | 0.009242 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | MDI.6 | 0.010527 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHasSO.6_1 | 0.02075 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | WndNbrhood.6 | -0.016214 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | IBRAttn.6 | -0.003919 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | B18Raw.6 | 0.027468 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HOMEETA1.6 | -0.023461 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | InRatioCor.6 | -0.050616 | 0.05 | 0 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | CORTB.6 | -0.005384 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | ESETA1.6 | 0.034089 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> #> Table: Balance Stats for Exposure Time 2 Averaging Across Imputed Datasets summary(trim_weights[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 3.5109 #> #> - Units with the 5 most extreme weights: #> #> 89 79 30 27 11 #> all 3.5109 3.5109 3.5109 3.5109 3.5109 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 0.893 0.685 0.371 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 718.9 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 3.5109 #> #> - Units with the 5 most extreme weights: #> #> 89 79 30 27 11 #> all 3.5109 3.5109 3.5109 3.5109 3.5109 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 0.893 0.685 0.371 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 718.9 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 3.5109 #> #> - Units with the 5 most extreme weights: #> #> 89 79 30 27 11 #> all 3.5109 3.5109 3.5109 3.5109 3.5109 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 0.893 0.685 0.371 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 718.9 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 3.5109 #> #> - Units with the 5 most extreme weights: #> #> 89 79 30 27 11 #> all 3.5109 3.5109 3.5109 3.5109 3.5109 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 0.893 0.685 0.371 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 718.9 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 3.5109 #> #> - Units with the 5 most extreme weights: #> #> 89 79 30 27 11 #> all 3.5109 3.5109 3.5109 3.5109 3.5109 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 0.893 0.685 0.371 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 718.9 weights <- final_weights final_balance_stats_untrim <- assessBalance(data = data, obj = obj, balance_thresh = balance_thresh, imp_conf = imp_conf, weights = weights, save.out = save.out) summary(final_balance_stats_untrim, save.out = save.out) #> Averaging across imputed datasets using cbps weighting method. #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 0 out of 241 (0.0%) covariates across time points remain imbalanced: #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps` summary(final_weights[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5407 #> #> - Units with the 5 most extreme weights: #> #> 877 1145 697 294 919 #> all 7.1323 7.3944 7.7172 8.5237 8.5407 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.056 0.722 0.439 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 611.17 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5407 #> #> - Units with the 5 most extreme weights: #> #> 877 1145 697 294 919 #> all 7.1323 7.3944 7.7172 8.5237 8.5407 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.056 0.722 0.439 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 611.17 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5407 #> #> - Units with the 5 most extreme weights: #> #> 877 1145 697 294 919 #> all 7.1323 7.3944 7.7172 8.5237 8.5407 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.056 0.722 0.439 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 611.17 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5407 #> #> - Units with the 5 most extreme weights: #> #> 877 1145 697 294 919 #> all 7.1323 7.3944 7.7172 8.5237 8.5407 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.056 0.722 0.439 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 611.17 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5407 #> #> - Units with the 5 most extreme weights: #> #> 877 1145 697 294 919 #> all 7.1323 7.3944 7.7172 8.5237 8.5407 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.056 0.722 0.439 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 611.17 summary(final_balance_stats_trim, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 1 out of 241 (0.4%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.05 (max: 0.05): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 1 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps` plot(final_balance_stats_trim, t = 2, save.out = save.out) # covariates <- c(\"list_imbalanced_ti_conf\") weights <- trim_weights.s1 final_balance_stats.s1 <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) summary(final_balance_stats.s1, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 1 out of 241 (0.4%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.06 (max: 0.06): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 1 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps` print(final_balance_stats.s1, t = 2, save.out = save.out) #> #> +-----------+----------------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +===========+================+===============+============+==========+ #> | ESETA1.15 | state_1 | 0.02175 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | BioDadInHH2_1 | -0.01857 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmAge2 | -0.00978 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmBlac2_1 | 0.02279 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | TcBlac2_1 | 0.02269 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmMrSt2_1 | -0.00654 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmEd2 | -0.04287 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | KFASTScr | -0.02611 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RMomAgeU | -0.00973 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_1 | -0.00117 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_2 | -0.00813 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_3 | 0.00942 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_4 | 0.00349 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_5 | -0.01243 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_1 | -0.00602 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_2 | 0.00153 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_3 | 0.00942 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_4 | 0.00997 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SWghtLB | -0.00312 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SurpPreg_1 | 0.01335 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_1 | 0.01352 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_2 | 0.01077 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_3 | -0.00753 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | DrnkFreq_1 | 0.01492 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | DrnkFreq_2 | -0.02308 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | peri_health | -0.00114 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | caregiv_health | 0.01331 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | gov_assist | 0.01817 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SAAmylase.6 | 0.01058 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | MDI.6 | 0.01466 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHasSO.6_1 | 0.02011 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | WndNbrhood.6 | -0.02011 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | IBRAttn.6 | -0.00386 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | B18Raw.6 | 0.0289 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HOMEETA1.6 | -0.02621 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | InRatioCor.6 | -0.06194 | 0.05 | 0 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | CORTB.6 | -0.00842 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | ESETA1.6 | 0.04248 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> #> Table: Balance Stats for Exposure Time 2 Averaging Across Imputed Datasets weights <- trim_weights.s2 final_balance_stats.s2 <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) summary(final_balance_stats.s2, save.out = save.out) #> Averaging across imputed datasets using cbps weighting method. #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 0 out of 241 (0.0%) covariates across time points remain imbalanced: #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps`"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"trimmed","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"Trimmed","title":"Workflow: Continuous Exposure","text":"Assess balance trimmed weights Summarize inspect. shown , trimmed weights result one imbalanced confounder relation exposure 15 months effective sample size 719.","code":"weights <- trim_weights final_balance_stats_trim <- assessBalance(data = data, obj = obj, balance_thresh = balance_thresh, imp_conf = imp_conf, weights = weights, save.out = save.out) summary(final_balance_stats_trim, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 1 out of 241 (0.4%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.05 (max: 0.05): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 1 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps` print(final_balance_stats_trim, t = 2, save.out = save.out) #> #> +-----------+----------------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +===========+================+===============+============+==========+ #> | ESETA1.15 | state_1 | 0.017188 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | BioDadInHH2_1 | -0.0163 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmAge2 | -0.008023 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmBlac2_1 | 0.016619 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | TcBlac2_1 | 0.018256 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmMrSt2_1 | -0.00511 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmEd2 | -0.037445 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | KFASTScr | -0.019385 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RMomAgeU | -0.004175 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_1 | 0.002172 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_2 | -0.008696 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_3 | 0.004039 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_4 | 0.007655 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_5 | -0.011764 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_1 | -0.004551 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_2 | 0.003749 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_3 | 0.004181 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_4 | 0.010203 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SWghtLB | -0.000544 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SurpPreg_1 | 0.00931 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_1 | 0.010631 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_2 | 0.008245 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_3 | -0.005169 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | DrnkFreq_1 | 0.009757 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | DrnkFreq_2 | -0.01846 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | peri_health | -0.001012 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | caregiv_health | 0.009529 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | gov_assist | 0.014943 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SAAmylase.6 | 0.009242 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | MDI.6 | 0.010527 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHasSO.6_1 | 0.02075 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | WndNbrhood.6 | -0.016214 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | IBRAttn.6 | -0.003919 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | B18Raw.6 | 0.027468 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HOMEETA1.6 | -0.023461 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | InRatioCor.6 | -0.050616 | 0.05 | 0 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | CORTB.6 | -0.005384 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | ESETA1.6 | 0.034089 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> #> Table: Balance Stats for Exposure Time 2 Averaging Across Imputed Datasets summary(trim_weights[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 3.5109 #> #> - Units with the 5 most extreme weights: #> #> 89 79 30 27 11 #> all 3.5109 3.5109 3.5109 3.5109 3.5109 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 0.893 0.685 0.371 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 718.9 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 3.5109 #> #> - Units with the 5 most extreme weights: #> #> 89 79 30 27 11 #> all 3.5109 3.5109 3.5109 3.5109 3.5109 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 0.893 0.685 0.371 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 718.9 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 3.5109 #> #> - Units with the 5 most extreme weights: #> #> 89 79 30 27 11 #> all 3.5109 3.5109 3.5109 3.5109 3.5109 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 0.893 0.685 0.371 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 718.9 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 3.5109 #> #> - Units with the 5 most extreme weights: #> #> 89 79 30 27 11 #> all 3.5109 3.5109 3.5109 3.5109 3.5109 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 0.893 0.685 0.371 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 718.9 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 3.5109 #> #> - Units with the 5 most extreme weights: #> #> 89 79 30 27 11 #> all 3.5109 3.5109 3.5109 3.5109 3.5109 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 0.893 0.685 0.371 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 718.9"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"untrimmed","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"Untrimmed","title":"Workflow: Continuous Exposure","text":"assess balance untrimmed weights Summarize inspect see non-trimmed weights result imbalanced confounders effective sample size 611. scenario, given , trimmed weights, imbalanced confounder (income 6 months) related exposure -0.051 trimmed weights yield higher effective sample size, proceed trimmed weights. summarize final balance statistics, averaging across imputed datasets. user option supply save.save plot output home directory. outcome modeling step (Step 5), users option include remaining imbalanced confounders time invariant covariates final outcome model. case, manually list imbalanced confounders time invariant assign covariates.","code":"weights <- final_weights final_balance_stats_untrim <- assessBalance(data = data, obj = obj, balance_thresh = balance_thresh, imp_conf = imp_conf, weights = weights, save.out = save.out) summary(final_balance_stats_untrim, save.out = save.out) #> Averaging across imputed datasets using cbps weighting method. #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 0 out of 241 (0.0%) covariates across time points remain imbalanced: #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps` summary(final_weights[[1]]) #> Time 1 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5407 #> #> - Units with the 5 most extreme weights: #> #> 877 1145 697 294 919 #> all 7.1323 7.3944 7.7172 8.5237 8.5407 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.056 0.722 0.439 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 611.17 #> #> Time 2 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5407 #> #> - Units with the 5 most extreme weights: #> #> 877 1145 697 294 919 #> all 7.1323 7.3944 7.7172 8.5237 8.5407 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.056 0.722 0.439 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 611.17 #> #> Time 3 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5407 #> #> - Units with the 5 most extreme weights: #> #> 877 1145 697 294 919 #> all 7.1323 7.3944 7.7172 8.5237 8.5407 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.056 0.722 0.439 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 611.17 #> #> Time 4 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5407 #> #> - Units with the 5 most extreme weights: #> #> 877 1145 697 294 919 #> all 7.1323 7.3944 7.7172 8.5237 8.5407 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.056 0.722 0.439 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 611.17 #> #> Time 5 #> Summary of weights #> #> - Weight ranges: #> #> Min Max #> all 0 |---------------------------| 8.5407 #> #> - Units with the 5 most extreme weights: #> #> 877 1145 697 294 919 #> all 7.1323 7.3944 7.7172 8.5237 8.5407 #> #> - Weight statistics: #> #> Coef of Var MAD Entropy # Zeros #> all 1.056 0.722 0.439 0 #> #> - Effective Sample Sizes: #> #> Total #> Unweighted 1292. #> Weighted 611.17 summary(final_balance_stats_trim, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 1 out of 241 (0.4%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.05 (max: 0.05): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 1 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps` plot(final_balance_stats_trim, t = 2, save.out = save.out) # covariates <- c(\"list_imbalanced_ti_conf\")"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"sensitvity-analyses-1","dir":"Articles","previous_headings":"PHASE 1: Confounder Adjustment","what":"Sensitvity Analyses","title":"Workflow: Continuous Exposure","text":"Subsequently, also assess balance weights trimmed two additional quantile values assess whether final balance assessment sensitive trim value. first assess balance weights trimmed 93rd quantile value. , similarly find income 6 months imbalanced respect exposure 15 months (albeit slighter stronger correlation main analyses). next assess balance weights trimmed 98th quantile value. , find remaining imbalanced confounders (similar untrimmed results).","code":"weights <- trim_weights.s1 final_balance_stats.s1 <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) summary(final_balance_stats.s1, save.out = save.out) #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 1 out of 241 (0.4%) covariates across time points remain imbalanced with a remaining median absolute correlation of 0.06 (max: 0.06): #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 1 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps` print(final_balance_stats.s1, t = 2, save.out = save.out) #> #> +-----------+----------------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +===========+================+===============+============+==========+ #> | ESETA1.15 | state_1 | 0.02175 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | BioDadInHH2_1 | -0.01857 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmAge2 | -0.00978 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmBlac2_1 | 0.02279 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | TcBlac2_1 | 0.02269 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmMrSt2_1 | -0.00654 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | PmEd2 | -0.04287 | 0.05 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | KFASTScr | -0.02611 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RMomAgeU | -0.00973 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_1 | -0.00117 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_2 | -0.00813 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_3 | 0.00942 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_4 | 0.00349 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHealth_5 | -0.01243 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_1 | -0.00602 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_2 | 0.00153 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_3 | 0.00942 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HomeOwnd_4 | 0.00997 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SWghtLB | -0.00312 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SurpPreg_1 | 0.01335 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_1 | 0.01352 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_2 | 0.01077 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SmokTotl_3 | -0.00753 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | DrnkFreq_1 | 0.01492 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | DrnkFreq_2 | -0.02308 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | peri_health | -0.00114 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | caregiv_health | 0.01331 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | gov_assist | 0.01817 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | SAAmylase.6 | 0.01058 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | MDI.6 | 0.01466 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | RHasSO.6_1 | 0.02011 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | WndNbrhood.6 | -0.02011 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | IBRAttn.6 | -0.00386 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | B18Raw.6 | 0.0289 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | HOMEETA1.6 | -0.02621 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | InRatioCor.6 | -0.06194 | 0.05 | 0 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | CORTB.6 | -0.00842 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> | ESETA1.15 | ESETA1.6 | 0.04248 | 0.1 | 1 | #> +-----------+----------------+---------------+------------+----------+ #> #> Table: Balance Stats for Exposure Time 2 Averaging Across Imputed Datasets weights <- trim_weights.s2 final_balance_stats.s2 <- assessBalance(data = data, obj = obj, weights = weights, imp_conf = imp_conf, balance_thresh = balance_thresh, save.out = save.out) summary(final_balance_stats.s2, save.out = save.out) #> Averaging across imputed datasets using cbps weighting method. #> USER ALERT: Averaging across imputed datasets using `cbps` weighting method: As shown below, 0 out of 241 (0.0%) covariates across time points remain imbalanced: #> +-----------+-----------------------+----------------------------+ #> | Exposure | Total # of covariates | # of imbalanced covariates | #> +===========+=======================+============================+ #> | ESETA1.6 | 28 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.15 | 38 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.24 | 47 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.35 | 59 | 0 | #> +-----------+-----------------------+----------------------------+ #> | ESETA1.58 | 69 | 0 | #> +-----------+-----------------------+----------------------------+ #> #> Table: Imbalanced Covariates Averaging Across Imputed Datasetrs using `cbps`"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"phase-2-assess-substantive-associations-between-exposure-and-outcome","dir":"Articles","previous_headings":"","what":"PHASE 2: Assess Substantive Associations between Exposure and Outcome","title":"Workflow: Continuous Exposure","text":"created IPTW balancing weights minimize associations confounders exposure time point, can move substantive modeling phase. goal final step fit weighted model relating exposure meaningful epochs developmental time outcome, summarizing visualizing results. step, user models compares various counterfactuals, effects different developmental histories exposure outcome, test substantive hypotheses dose timing. First, use fitModel() function fit weighted generalized linear model relating exposure outcome. function draws glm_weightit() function WeightIt package (Greifer, 2023). exposure main effects models reflect exposure levels exposure time point unless exposure epochs specified. One benefits creating balancing weights can used variety different marginal outcome models encompassed function subset possible models. Note models can get complex advise interpreting individual terms. required inputs using fitModel() function : complete data (data frame, mids object, list imputed datasets dataframes wide format), MSM object (e.g., “obj”), outcome, list trimmed weights, model list (“m0”, “m1”, “m2”, “m3”). first inspect following list models. M0: Baseline model regressing outcome main effects exposure (e.g., infancy, toddlerhood, childhood). M1: Covariate model regressing outcome main effects exposure well user-specified covariates (e.g., confounders measured baseline first time point remained imbalanced weighting Step 4). M2: Interaction model regressing outcome main effects exposure well interactions exposure main effects (e.g., infancy:toddlerhood) user-specified interaction order M3: Full model regressing outcome main effects exposure, user-specified covariates, well exposure main effect interactions interactions expoure covariates, user-specified interaction order , specify M0 model. user selects covariate model (“m1” “m3”), required supply list covariates corresponds covariates wide data (see Step 4). optional inputs fitModel() function follows. user selects interaction model (“m2” “m3”), required provide interaction order integer int_order field reflects maximum interaction (e.g., 3) (automatically include lower order interactions (e.g., 2-way)). interaction order exceed total number exposure main effects (3 case, specified 3 exposure epochs). specify interaction model (“m2” “m3”), also need specify interaction order ( included lower-level interactoins) exposure main effects fitModel() function . user can also specify family (function, quotations; e.g., gaussian) link (quotations, e.g., “identity”) functions generalized linear model (defaults gaussian “link”, respectively). possible families : binomial, gaussian, Gama, inverse.gaussian, poisson, quasi, quasibinomial, quasipoisson. binomial Poisson families, set family quasibinomial quasipoisson, respectively, avoid warning non-integer numbers successes. `quasi’ versions family objects give point estimates standard errors give warning. gaussian family accepts links: “identity”, “log” “inverse”; binomial family links “logit”, “probit”, “cauchit”, (corresponding logistic, normal Cauchy CDFs respectively) “log” “cloglog” (complementary log-log); Gamma family links “inverse”, “identity”, “log”; poisson family links “log”, “identity”, “sqrt”; inverse.gaussian family links 1/mu^2, inverse, identity log. quasi family accepts links “logit”, “probit”, “cloglog”, “identity”, “inverse”, “log”, “1/mu^2”, “sqrt”, function power can used create power link function. , retain default family link functions. function returns list fitted model objects, glm output. fit outcome model using trimmed weights . function returns list models (one per imputed dataset, applicable). inspect model output. user option supply save.save printed output home directory. inspect model averaged across imputed datasets. Importantly, first examine results Wald test top output. case imputed data, likelihood ratio test done pooling parameters via Rubin’s Rules. test compares user-specified model nested version model omits exposure variables test whether exposure predicts variation outcome. Models pooled prior conducting likelihood ratio test imputed data.) conduct sensitivity analyses, fitting model weights trimmed two different values. note save.= TRUE using default file naming, saving model output overwrite output main model. save sensitivity analyses, recomend user supply new name (e.g., save.= “model_m1_s1.rds”). first fit model weights trimmed 92nd quantile. similarly find significant likelihoood ratio test. fit model weights trimmed 98th quantile. comparable result. final step, use fitted model results test substantive hypotheses dose timing. estimate compare average marginal estimates outcome user-specified exposure history (.e., permutation high (“h) low (“l”) levels exposure exposure epoch) using compareHistories() function. draws primarily avg_predictions() hypotheses() functions marginaleffects package (Arel-Bundock, 2023). First, compareHistories() function creates average predictions outcome exposure history. n combinations user-specified exposure histories, set value predictors full dataset values combination, leaving variables . gives us n datasets, size original dataset used fit model. n datasets, compute predicted values given model taking average predicted value n datasets. n averaged predicted values expected potential outcomes combination. (imputed data, function outputs pooled predicted values using Rubin’s Rules.) Next, using predicted values, function conducts comparisons different histories (pooling across imputed datasets imputed data using Rubin’s Rules). Lastly, function implements correction multiple comparisons (treating run function family) plotting results. Box plots display outcome x-axis exposure history y-axis whiskers display standard errors. required inputs using compareHistories() function : MSM object (e.g., “obj”) fitted model output (previous steps). optional inputs follows. create histories high low values continuous exposures, hi_lo_cut user can specify list two quantile values (0-1; default median split +/- 0.001) demarcating high low levels exposure, respectively. (Imputed data stacked calculate cutoff values.) suggest drawing existing hypotheses examining variability exposure variable determine high low cutoffs. recommend users begin specifying meaningful high low percentile cutoffs examining many individuals sample fall user-specified exposure histories created percentile cutoffs (see Specify Core Inputs vignette). gold standard recommendations sufficient cell numbers per history, users ensure reasonable coverage histories avoid extrapolation maximize precision. , draw high low cutoffs previously specified, 60th 30th percentile values denote high low levels economic strain, respectively. user also option estimate compare custom subset user-specified exposure histories (.e., sequences high low levels exposure epoch time point) using reference comparison fields. conduct recommended customized comparisons, users must provide least one unique valid history (e.g., “l-l-l”) reference , quotations, provide string (list strings) lowercase l’s h’s (separated -), corresponding exposure epoch (time point), signify sequence exposure levels (“low” “high”, respectively). user supplies reference history, required provide least one unique valid history comparison , quotations, providing comparison string (list strings) l’s h’s (separated “-”), corresponding exposure epoch, signify sequence exposure levels (“low” “high”, respectively) constitutes comparison exposure history/histories compared reference. user supplies one comparisons, least one reference must specified. reference exposure history compared comparison history comparisons subject multiple comparison correction. reference comparison specified, histories compared . 4 exposure main effects (either epochs exposure time points), user required select subset history comparisons (Step 5b), given base code (see hypotheses() function marginaleffects package; Arel-Bundock, 2023) accommodate pairwise history comparisons 5 time points. user can also specify multiple comparison method mc_method quotations, providing shorthand method (“holm”, “hochberg”,“hommel”, “bonferroni”, “BH” (default), “”, “fdr”, “n” (see stats::p.adjust documentation; R Core Team) multiple comparison correction applied final (pooled across imputed datasets applicable) contrasts comparing effects different exposure histories outcome (default Benjamini-Hochburg). code run considered family. user iterates function specifying different comparisons time, strongly recommend interpreting outcome inclusive set comparisons avoid false discovery. , retain default Benjamini-Hochburg method multiple comparison. Based substantive interests, user also option choose level dosage (“h” “l”) tallied labels dose counts tables figures (dose_level; default “h”). example, exposure variable coded way lower levels conceptualized exposure (e.g., lower income), user may wish choose dosage level “l”. , given interest histories high economic strain, specify wish tally high doses exposure. Lastly, user can provide alternate plotting labels exposure outcome exp_lab out_lab fields (defaults variable names), well list (equal number exposure main effects +1) colors Brewer color palette (colors; default “Dark2”). See RColorBrewer::display.brewer.() https://r-graph-gallery.com/38-rcolorbrewers-palettes.html). , specify plotting labels 4 colors. function returns data frame user-specified history comparisons containing contrast estimates, standard errors, statistics, p-values, low high confidence intervals, corrected p-values, labeled history dose. function outputs list two entries. first contains predicted values history second contains comparisons. inspect compared histories output (now averaged across imputed datsets). user option supply save.save printed output home directory. first confirm distribution sample across exposure histories reasonable. summarize results. inspect history comparison conclude evidence children experienced different histories exposure economic strain infancy, toddlerhood, early childhood differ behavioral problems early childhood. Lastly, plot results. user option supply save.save plot output home directory. conduct sensitivity analyses assessing comparing histories drawing models used weights trimmed two different values. note save.= TRUE using default file naming, saving model output overwrite output main model. save sensitivity analyses, recommend user supply new name (e.g., save.= “history_comparisons_s1.rds”). first compare histories using model fit weights trimmed 92nd quantile value. shown , results indicate marginal non-significant contrast “l-l-l” “h-h-h” histories economic strain exposure relation behavior problems early childhood. compare histories using model fit weights trimmed 98th quantile value. Similarly, find evidence differences behavioral problems function history exposure economic strain.","code":"m <- \"m0\" #int_order <- 2 family <- gaussian link <- \"identity\" weights <- trim_weights models <- fitModel(data = data, obj = obj, weights = weights, outcome = outcome, model = m, family = family, link = link, save.out = save.out) print(models, save.out = save.out) #> Please inspect the Wald test to determine if the exposures collectively predict significant variation in the outcome compared to a model without exposure terms. #> We strongly suggest only conducting history comparisons if the test is significant. #> test statistic df1 df2 dfcom p.value riv #> 1 ~~ 2 -1.295578 3 0.4041257 NA 1 2.226662 #> #> #> The marginal model, m0, pooled across imputed datasets is summarized below: #> +--------------------+-------+-----------------+--------+ #> | | (1) | #> +--------------------+-------+-----------------+--------+ #> | | Est. | CI | p | #> +====================+=======+=================+========+ #> | (Intercept) | 0.482 | [0.448, 0.516] | <0.001 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Childhood | 0.029 | [-0.104, 0.163] | 0.418 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Infancy | 0.004 | [-0.036, 0.044] | 0.845 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Toddlerhood | 0.011 | [-0.047, 0.069] | 0.670 | #> +--------------------+-------+-----------------+--------+ #> | Num.Obs. | 1292 | | | #> +--------------------+-------+-----------------+--------+ weights <- trim_weights.s1 models.s1 <- fitModel(data = data, obj = obj, weights = weights, outcome = outcome, model = m, family = family, link = link, save.out = save.out) print(models.s1, save.out = save.out) #> Please inspect the Wald test to determine if the exposures collectively predict significant variation in the outcome compared to a model without exposure terms. #> We strongly suggest only conducting history comparisons if the test is significant. #> test statistic df1 df2 dfcom p.value riv #> 1 ~~ 2 -0.3020476 3 0.6594817 NA 1 1.174877 #> #> #> The marginal model, m0, pooled across imputed datasets is summarized below: #> +--------------------+-------+-----------------+--------+ #> | | (1) | #> +--------------------+-------+-----------------+--------+ #> | | Est. | CI | p | #> +====================+=======+=================+========+ #> | (Intercept) | 0.481 | [0.448, 0.514] | <0.001 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Childhood | 0.029 | [-0.072, 0.130] | 0.357 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Infancy | 0.006 | [-0.039, 0.051] | 0.782 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Toddlerhood | 0.014 | [-0.064, 0.092] | 0.628 | #> +--------------------+-------+-----------------+--------+ #> | Num.Obs. | 1292 | | | #> +--------------------+-------+-----------------+--------+ weights <- trim_weights.s2 models.s2 <- fitModel(data = data, obj = obj, weights = weights, outcome = outcome, model = m, family = family, link = link, save.out = save.out) print(models.s2, save.out = save.out) #> Please inspect the Wald test to determine if the exposures collectively predict significant variation in the outcome compared to a model without exposure terms. #> We strongly suggest only conducting history comparisons if the test is significant. #> test statistic df1 df2 dfcom p.value riv #> 1 ~~ 2 -1.758818 3 0.3310847 NA 1 3.208959 #> #> #> The marginal model, m0, pooled across imputed datasets is summarized below: #> +--------------------+-------+-----------------+--------+ #> | | (1) | #> +--------------------+-------+-----------------+--------+ #> | | Est. | CI | p | #> +====================+=======+=================+========+ #> | (Intercept) | 0.483 | [0.448, 0.518] | <0.001 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Childhood | 0.030 | [-0.142, 0.202] | 0.466 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Infancy | 0.000 | [-0.045, 0.044] | 0.982 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Toddlerhood | 0.007 | [-0.053, 0.067] | 0.778 | #> +--------------------+-------+-----------------+--------+ #> | Num.Obs. | 1292 | | | #> +--------------------+-------+-----------------+--------+ hi_lo_cut <- c(0.6, 0.3) mc_comp_method <- \"BH\" dose_level <- \"h\" exp_lab <- \"Economic Strain\" out_lab <- \"Behavior Problems\" colors <- c(\"blue4\", \"darkgreen\", \"darkgoldenrod\", \"red2\") model <- models results <- compareHistories(fit = model, comparison = comparison, reference = reference, hi_lo_cut = hi_lo_cut, mc_comp_method = mc_comp_method, dose = \"h\", save.out = save.out) print(results) #> Summary of Exposure Main Effects: #> USER ALERT: Out of the total of 1292 individuals in the sample, below is the distribution of the 333 (26%) individuals that fall into 2 user-selected exposure histories (out of the 27 total) created from 30th and 60th percentile values for low and high levels of exposure-epoch Infancy, Toddlerhood, Childhood. #> USER ALERT: Please inspect the distribution of the sample across the following exposure histories and ensure there is sufficient spread to avoid extrapolation and low precision: #> #> +---------------+-----+ #> | epoch_history | n | #> +===============+=====+ #> | h-h-h | 214 | #> +---------------+-----+ #> | l-l-l | 119 | #> +---------------+-----+ #> #> Table: Summary of user-selected exposure histories based on exposure main effects Infancy, Toddlerhood, Childhood: #> #> Below are the pooled average predictions by user-specified history: #> +-------+----------+-----------+----------+-----------+ #> | term | estimate | std.error | conf.low | conf.high | #> +=======+==========+===========+==========+===========+ #> | l-l-l | 0.47 | 0.014 | 0.44 | 0.49 | #> +-------+----------+-----------+----------+-----------+ #> | h-h-h | 0.5 | 0.02 | 0.42 | 0.57 | #> +-------+----------+-----------+----------+-----------+ #> #> Conducting multiple comparison correction for all pairings between comparison histories and each refernece history using the BH method. #> #> #> +-------------------+------------+------------+-----------+-------------+------------+--------------+ #> | term | estimate | std.error | p.value | conf.low | conf.high | p.value_corr | #> +===================+============+============+===========+=============+============+==============+ #> | (h-h-h) - (l-l-l) | 0.03035383 | 0.01948627 | 0.1991802 | -0.02526992 | 0.08597759 | 0.1991802 | #> +-------------------+------------+------------+-----------+-------------+------------+--------------+ summary(results, save.out = save.out) #> term estimate std.error statistic df p.value #> 1 (h-h-h) - (l-l-l) 0.03035383 0.01948627 1.557704 3.739199 0.1991802 #> conf.low conf.high dose p.value_corr #> 1 -0.02526992 0.08597759 3 - 0 0.1991802 plot(results, save.out = save.out) model <- models.s1 results.s1 <- compareHistories(fit = model, comparison = comparison, reference = reference, hi_lo_cut = hi_lo_cut, mc_comp_method = mc_comp_method, dose = \"h\", save.out = save.out) summary(results.s1, save.out = save.out) #> term estimate std.error statistic df p.value #> 1 (h-h-h) - (l-l-l) 0.03327812 0.01659957 2.004757 6.875701 0.08575804 #> conf.low conf.high dose p.value_corr #> 1 -0.006117941 0.07267418 3 - 0 0.08575804 model <- models.s2 results.s2 <- compareHistories(fit = model, comparison = comparison, reference = reference, hi_lo_cut = hi_lo_cut, mc_comp_method = mc_comp_method, dose = \"h\", save.out = save.out) summary(results.s2, save.out = save.out) #> term estimate std.error statistic df p.value #> 1 (h-h-h) - (l-l-l) 0.0264079 0.02274075 1.161259 2.655186 0.339228 #> conf.low conf.high dose p.value_corr #> 1 -0.05158198 0.1043978 3 - 0 0.339228"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"step-5-fit-weighted-outcome-model-summarize-visualize-results","dir":"Articles","previous_headings":"","what":"Step 5: Fit Weighted Outcome Model & Summarize & Visualize Results","title":"Workflow: Continuous Exposure","text":"goal final step fit weighted model relating exposure meaningful epochs developmental time outcome, summarizing visualizing results. step, user models compares various counterfactuals, effects different developmental histories exposure outcome, test substantive hypotheses dose timing. First, use fitModel() function fit weighted generalized linear model relating exposure outcome. function draws glm_weightit() function WeightIt package (Greifer, 2023). exposure main effects models reflect exposure levels exposure time point unless exposure epochs specified. One benefits creating balancing weights can used variety different marginal outcome models encompassed function subset possible models. Note models can get complex advise interpreting individual terms. required inputs using fitModel() function : complete data (data frame, mids object, list imputed datasets dataframes wide format), MSM object (e.g., “obj”), outcome, list trimmed weights, model list (“m0”, “m1”, “m2”, “m3”). first inspect following list models. M0: Baseline model regressing outcome main effects exposure (e.g., infancy, toddlerhood, childhood). M1: Covariate model regressing outcome main effects exposure well user-specified covariates (e.g., confounders measured baseline first time point remained imbalanced weighting Step 4). M2: Interaction model regressing outcome main effects exposure well interactions exposure main effects (e.g., infancy:toddlerhood) user-specified interaction order M3: Full model regressing outcome main effects exposure, user-specified covariates, well exposure main effect interactions interactions expoure covariates, user-specified interaction order , specify M0 model. user selects covariate model (“m1” “m3”), required supply list covariates corresponds covariates wide data (see Step 4). optional inputs fitModel() function follows. user selects interaction model (“m2” “m3”), required provide interaction order integer int_order field reflects maximum interaction (e.g., 3) (automatically include lower order interactions (e.g., 2-way)). interaction order exceed total number exposure main effects (3 case, specified 3 exposure epochs). specify interaction model (“m2” “m3”), also need specify interaction order ( included lower-level interactoins) exposure main effects fitModel() function . user can also specify family (function, quotations; e.g., gaussian) link (quotations, e.g., “identity”) functions generalized linear model (defaults gaussian “link”, respectively). possible families : binomial, gaussian, Gama, inverse.gaussian, poisson, quasi, quasibinomial, quasipoisson. binomial Poisson families, set family quasibinomial quasipoisson, respectively, avoid warning non-integer numbers successes. `quasi’ versions family objects give point estimates standard errors give warning. gaussian family accepts links: “identity”, “log” “inverse”; binomial family links “logit”, “probit”, “cauchit”, (corresponding logistic, normal Cauchy CDFs respectively) “log” “cloglog” (complementary log-log); Gamma family links “inverse”, “identity”, “log”; poisson family links “log”, “identity”, “sqrt”; inverse.gaussian family links 1/mu^2, inverse, identity log. quasi family accepts links “logit”, “probit”, “cloglog”, “identity”, “inverse”, “log”, “1/mu^2”, “sqrt”, function power can used create power link function. , retain default family link functions. function returns list fitted model objects, glm output. fit outcome model using trimmed weights . function returns list models (one per imputed dataset, applicable). inspect model output. user option supply save.save printed output home directory. inspect model averaged across imputed datasets. Importantly, first examine results Wald test top output. case imputed data, likelihood ratio test done pooling parameters via Rubin’s Rules. test compares user-specified model nested version model omits exposure variables test whether exposure predicts variation outcome. Models pooled prior conducting likelihood ratio test imputed data.) conduct sensitivity analyses, fitting model weights trimmed two different values. note save.= TRUE using default file naming, saving model output overwrite output main model. save sensitivity analyses, recomend user supply new name (e.g., save.= “model_m1_s1.rds”). first fit model weights trimmed 92nd quantile. similarly find significant likelihoood ratio test. fit model weights trimmed 98th quantile. comparable result. final step, use fitted model results test substantive hypotheses dose timing. estimate compare average marginal estimates outcome user-specified exposure history (.e., permutation high (“h) low (“l”) levels exposure exposure epoch) using compareHistories() function. draws primarily avg_predictions() hypotheses() functions marginaleffects package (Arel-Bundock, 2023). First, compareHistories() function creates average predictions outcome exposure history. n combinations user-specified exposure histories, set value predictors full dataset values combination, leaving variables . gives us n datasets, size original dataset used fit model. n datasets, compute predicted values given model taking average predicted value n datasets. n averaged predicted values expected potential outcomes combination. (imputed data, function outputs pooled predicted values using Rubin’s Rules.) Next, using predicted values, function conducts comparisons different histories (pooling across imputed datasets imputed data using Rubin’s Rules). Lastly, function implements correction multiple comparisons (treating run function family) plotting results. Box plots display outcome x-axis exposure history y-axis whiskers display standard errors. required inputs using compareHistories() function : MSM object (e.g., “obj”) fitted model output (previous steps). optional inputs follows. create histories high low values continuous exposures, hi_lo_cut user can specify list two quantile values (0-1; default median split +/- 0.001) demarcating high low levels exposure, respectively. (Imputed data stacked calculate cutoff values.) suggest drawing existing hypotheses examining variability exposure variable determine high low cutoffs. recommend users begin specifying meaningful high low percentile cutoffs examining many individuals sample fall user-specified exposure histories created percentile cutoffs (see Specify Core Inputs vignette). gold standard recommendations sufficient cell numbers per history, users ensure reasonable coverage histories avoid extrapolation maximize precision. , draw high low cutoffs previously specified, 60th 30th percentile values denote high low levels economic strain, respectively. user also option estimate compare custom subset user-specified exposure histories (.e., sequences high low levels exposure epoch time point) using reference comparison fields. conduct recommended customized comparisons, users must provide least one unique valid history (e.g., “l-l-l”) reference , quotations, provide string (list strings) lowercase l’s h’s (separated -), corresponding exposure epoch (time point), signify sequence exposure levels (“low” “high”, respectively). user supplies reference history, required provide least one unique valid history comparison , quotations, providing comparison string (list strings) l’s h’s (separated “-”), corresponding exposure epoch, signify sequence exposure levels (“low” “high”, respectively) constitutes comparison exposure history/histories compared reference. user supplies one comparisons, least one reference must specified. reference exposure history compared comparison history comparisons subject multiple comparison correction. reference comparison specified, histories compared . 4 exposure main effects (either epochs exposure time points), user required select subset history comparisons (Step 5b), given base code (see hypotheses() function marginaleffects package; Arel-Bundock, 2023) accommodate pairwise history comparisons 5 time points. user can also specify multiple comparison method mc_method quotations, providing shorthand method (“holm”, “hochberg”,“hommel”, “bonferroni”, “BH” (default), “”, “fdr”, “n” (see stats::p.adjust documentation; R Core Team) multiple comparison correction applied final (pooled across imputed datasets applicable) contrasts comparing effects different exposure histories outcome (default Benjamini-Hochburg). code run considered family. user iterates function specifying different comparisons time, strongly recommend interpreting outcome inclusive set comparisons avoid false discovery. , retain default Benjamini-Hochburg method multiple comparison. Based substantive interests, user also option choose level dosage (“h” “l”) tallied labels dose counts tables figures (dose_level; default “h”). example, exposure variable coded way lower levels conceptualized exposure (e.g., lower income), user may wish choose dosage level “l”. , given interest histories high economic strain, specify wish tally high doses exposure. Lastly, user can provide alternate plotting labels exposure outcome exp_lab out_lab fields (defaults variable names), well list (equal number exposure main effects +1) colors Brewer color palette (colors; default “Dark2”). See RColorBrewer::display.brewer.() https://r-graph-gallery.com/38-rcolorbrewers-palettes.html). , specify plotting labels 4 colors. function returns data frame user-specified history comparisons containing contrast estimates, standard errors, statistics, p-values, low high confidence intervals, corrected p-values, labeled history dose. function outputs list two entries. first contains predicted values history second contains comparisons. inspect compared histories output (now averaged across imputed datsets). user option supply save.save printed output home directory. first confirm distribution sample across exposure histories reasonable. summarize results. inspect history comparison conclude evidence children experienced different histories exposure economic strain infancy, toddlerhood, early childhood differ behavioral problems early childhood. Lastly, plot results. user option supply save.save plot output home directory. conduct sensitivity analyses assessing comparing histories drawing models used weights trimmed two different values. note save.= TRUE using default file naming, saving model output overwrite output main model. save sensitivity analyses, recommend user supply new name (e.g., save.= “history_comparisons_s1.rds”). first compare histories using model fit weights trimmed 92nd quantile value. shown , results indicate marginal non-significant contrast “l-l-l” “h-h-h” histories economic strain exposure relation behavior problems early childhood. compare histories using model fit weights trimmed 98th quantile value. Similarly, find evidence differences behavioral problems function history exposure economic strain.","code":"m <- \"m0\" #int_order <- 2 family <- gaussian link <- \"identity\" weights <- trim_weights models <- fitModel(data = data, obj = obj, weights = weights, outcome = outcome, model = m, family = family, link = link, save.out = save.out) print(models, save.out = save.out) #> Please inspect the Wald test to determine if the exposures collectively predict significant variation in the outcome compared to a model without exposure terms. #> We strongly suggest only conducting history comparisons if the test is significant. #> test statistic df1 df2 dfcom p.value riv #> 1 ~~ 2 -1.295578 3 0.4041257 NA 1 2.226662 #> #> #> The marginal model, m0, pooled across imputed datasets is summarized below: #> +--------------------+-------+-----------------+--------+ #> | | (1) | #> +--------------------+-------+-----------------+--------+ #> | | Est. | CI | p | #> +====================+=======+=================+========+ #> | (Intercept) | 0.482 | [0.448, 0.516] | <0.001 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Childhood | 0.029 | [-0.104, 0.163] | 0.418 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Infancy | 0.004 | [-0.036, 0.044] | 0.845 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Toddlerhood | 0.011 | [-0.047, 0.069] | 0.670 | #> +--------------------+-------+-----------------+--------+ #> | Num.Obs. | 1292 | | | #> +--------------------+-------+-----------------+--------+ weights <- trim_weights.s1 models.s1 <- fitModel(data = data, obj = obj, weights = weights, outcome = outcome, model = m, family = family, link = link, save.out = save.out) print(models.s1, save.out = save.out) #> Please inspect the Wald test to determine if the exposures collectively predict significant variation in the outcome compared to a model without exposure terms. #> We strongly suggest only conducting history comparisons if the test is significant. #> test statistic df1 df2 dfcom p.value riv #> 1 ~~ 2 -0.3020476 3 0.6594817 NA 1 1.174877 #> #> #> The marginal model, m0, pooled across imputed datasets is summarized below: #> +--------------------+-------+-----------------+--------+ #> | | (1) | #> +--------------------+-------+-----------------+--------+ #> | | Est. | CI | p | #> +====================+=======+=================+========+ #> | (Intercept) | 0.481 | [0.448, 0.514] | <0.001 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Childhood | 0.029 | [-0.072, 0.130] | 0.357 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Infancy | 0.006 | [-0.039, 0.051] | 0.782 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Toddlerhood | 0.014 | [-0.064, 0.092] | 0.628 | #> +--------------------+-------+-----------------+--------+ #> | Num.Obs. | 1292 | | | #> +--------------------+-------+-----------------+--------+ weights <- trim_weights.s2 models.s2 <- fitModel(data = data, obj = obj, weights = weights, outcome = outcome, model = m, family = family, link = link, save.out = save.out) print(models.s2, save.out = save.out) #> Please inspect the Wald test to determine if the exposures collectively predict significant variation in the outcome compared to a model without exposure terms. #> We strongly suggest only conducting history comparisons if the test is significant. #> test statistic df1 df2 dfcom p.value riv #> 1 ~~ 2 -1.758818 3 0.3310847 NA 1 3.208959 #> #> #> The marginal model, m0, pooled across imputed datasets is summarized below: #> +--------------------+-------+-----------------+--------+ #> | | (1) | #> +--------------------+-------+-----------------+--------+ #> | | Est. | CI | p | #> +====================+=======+=================+========+ #> | (Intercept) | 0.483 | [0.448, 0.518] | <0.001 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Childhood | 0.030 | [-0.142, 0.202] | 0.466 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Infancy | 0.000 | [-0.045, 0.044] | 0.982 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Toddlerhood | 0.007 | [-0.053, 0.067] | 0.778 | #> +--------------------+-------+-----------------+--------+ #> | Num.Obs. | 1292 | | | #> +--------------------+-------+-----------------+--------+ hi_lo_cut <- c(0.6, 0.3) mc_comp_method <- \"BH\" dose_level <- \"h\" exp_lab <- \"Economic Strain\" out_lab <- \"Behavior Problems\" colors <- c(\"blue4\", \"darkgreen\", \"darkgoldenrod\", \"red2\") model <- models results <- compareHistories(fit = model, comparison = comparison, reference = reference, hi_lo_cut = hi_lo_cut, mc_comp_method = mc_comp_method, dose = \"h\", save.out = save.out) print(results) #> Summary of Exposure Main Effects: #> USER ALERT: Out of the total of 1292 individuals in the sample, below is the distribution of the 333 (26%) individuals that fall into 2 user-selected exposure histories (out of the 27 total) created from 30th and 60th percentile values for low and high levels of exposure-epoch Infancy, Toddlerhood, Childhood. #> USER ALERT: Please inspect the distribution of the sample across the following exposure histories and ensure there is sufficient spread to avoid extrapolation and low precision: #> #> +---------------+-----+ #> | epoch_history | n | #> +===============+=====+ #> | h-h-h | 214 | #> +---------------+-----+ #> | l-l-l | 119 | #> +---------------+-----+ #> #> Table: Summary of user-selected exposure histories based on exposure main effects Infancy, Toddlerhood, Childhood: #> #> Below are the pooled average predictions by user-specified history: #> +-------+----------+-----------+----------+-----------+ #> | term | estimate | std.error | conf.low | conf.high | #> +=======+==========+===========+==========+===========+ #> | l-l-l | 0.47 | 0.014 | 0.44 | 0.49 | #> +-------+----------+-----------+----------+-----------+ #> | h-h-h | 0.5 | 0.02 | 0.42 | 0.57 | #> +-------+----------+-----------+----------+-----------+ #> #> Conducting multiple comparison correction for all pairings between comparison histories and each refernece history using the BH method. #> #> #> +-------------------+------------+------------+-----------+-------------+------------+--------------+ #> | term | estimate | std.error | p.value | conf.low | conf.high | p.value_corr | #> +===================+============+============+===========+=============+============+==============+ #> | (h-h-h) - (l-l-l) | 0.03035383 | 0.01948627 | 0.1991802 | -0.02526992 | 0.08597759 | 0.1991802 | #> +-------------------+------------+------------+-----------+-------------+------------+--------------+ summary(results, save.out = save.out) #> term estimate std.error statistic df p.value #> 1 (h-h-h) - (l-l-l) 0.03035383 0.01948627 1.557704 3.739199 0.1991802 #> conf.low conf.high dose p.value_corr #> 1 -0.02526992 0.08597759 3 - 0 0.1991802 plot(results, save.out = save.out) model <- models.s1 results.s1 <- compareHistories(fit = model, comparison = comparison, reference = reference, hi_lo_cut = hi_lo_cut, mc_comp_method = mc_comp_method, dose = \"h\", save.out = save.out) summary(results.s1, save.out = save.out) #> term estimate std.error statistic df p.value #> 1 (h-h-h) - (l-l-l) 0.03327812 0.01659957 2.004757 6.875701 0.08575804 #> conf.low conf.high dose p.value_corr #> 1 -0.006117941 0.07267418 3 - 0 0.08575804 model <- models.s2 results.s2 <- compareHistories(fit = model, comparison = comparison, reference = reference, hi_lo_cut = hi_lo_cut, mc_comp_method = mc_comp_method, dose = \"h\", save.out = save.out) summary(results.s2, save.out = save.out) #> term estimate std.error statistic df p.value #> 1 (h-h-h) - (l-l-l) 0.0264079 0.02274075 1.161259 2.655186 0.339228 #> conf.low conf.high dose p.value_corr #> 1 -0.05158198 0.1043978 3 - 0 0.339228"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"step-5a--select-fit-a-weighted-outcome-model","dir":"Articles","previous_headings":"PHASE 2: Assess Substantive Associations between Exposure and Outcome","what":"Step 5a. Select & Fit a Weighted Outcome Model","title":"Workflow: Continuous Exposure","text":"First, use fitModel() function fit weighted generalized linear model relating exposure outcome. function draws glm_weightit() function WeightIt package (Greifer, 2023). exposure main effects models reflect exposure levels exposure time point unless exposure epochs specified. One benefits creating balancing weights can used variety different marginal outcome models encompassed function subset possible models. Note models can get complex advise interpreting individual terms. required inputs using fitModel() function : complete data (data frame, mids object, list imputed datasets dataframes wide format), MSM object (e.g., “obj”), outcome, list trimmed weights, model list (“m0”, “m1”, “m2”, “m3”). first inspect following list models. M0: Baseline model regressing outcome main effects exposure (e.g., infancy, toddlerhood, childhood). M1: Covariate model regressing outcome main effects exposure well user-specified covariates (e.g., confounders measured baseline first time point remained imbalanced weighting Step 4). M2: Interaction model regressing outcome main effects exposure well interactions exposure main effects (e.g., infancy:toddlerhood) user-specified interaction order M3: Full model regressing outcome main effects exposure, user-specified covariates, well exposure main effect interactions interactions expoure covariates, user-specified interaction order , specify M0 model. user selects covariate model (“m1” “m3”), required supply list covariates corresponds covariates wide data (see Step 4). optional inputs fitModel() function follows. user selects interaction model (“m2” “m3”), required provide interaction order integer int_order field reflects maximum interaction (e.g., 3) (automatically include lower order interactions (e.g., 2-way)). interaction order exceed total number exposure main effects (3 case, specified 3 exposure epochs). specify interaction model (“m2” “m3”), also need specify interaction order ( included lower-level interactoins) exposure main effects fitModel() function . user can also specify family (function, quotations; e.g., gaussian) link (quotations, e.g., “identity”) functions generalized linear model (defaults gaussian “link”, respectively). possible families : binomial, gaussian, Gama, inverse.gaussian, poisson, quasi, quasibinomial, quasipoisson. binomial Poisson families, set family quasibinomial quasipoisson, respectively, avoid warning non-integer numbers successes. `quasi’ versions family objects give point estimates standard errors give warning. gaussian family accepts links: “identity”, “log” “inverse”; binomial family links “logit”, “probit”, “cauchit”, (corresponding logistic, normal Cauchy CDFs respectively) “log” “cloglog” (complementary log-log); Gamma family links “inverse”, “identity”, “log”; poisson family links “log”, “identity”, “sqrt”; inverse.gaussian family links 1/mu^2, inverse, identity log. quasi family accepts links “logit”, “probit”, “cloglog”, “identity”, “inverse”, “log”, “1/mu^2”, “sqrt”, function power can used create power link function. , retain default family link functions. function returns list fitted model objects, glm output. fit outcome model using trimmed weights . function returns list models (one per imputed dataset, applicable). inspect model output. user option supply save.save printed output home directory. inspect model averaged across imputed datasets. Importantly, first examine results Wald test top output. case imputed data, likelihood ratio test done pooling parameters via Rubin’s Rules. test compares user-specified model nested version model omits exposure variables test whether exposure predicts variation outcome. Models pooled prior conducting likelihood ratio test imputed data.) conduct sensitivity analyses, fitting model weights trimmed two different values. note save.= TRUE using default file naming, saving model output overwrite output main model. save sensitivity analyses, recomend user supply new name (e.g., save.= “model_m1_s1.rds”). first fit model weights trimmed 92nd quantile. similarly find significant likelihoood ratio test. fit model weights trimmed 98th quantile. comparable result.","code":"m <- \"m0\" #int_order <- 2 family <- gaussian link <- \"identity\" weights <- trim_weights models <- fitModel(data = data, obj = obj, weights = weights, outcome = outcome, model = m, family = family, link = link, save.out = save.out) print(models, save.out = save.out) #> Please inspect the Wald test to determine if the exposures collectively predict significant variation in the outcome compared to a model without exposure terms. #> We strongly suggest only conducting history comparisons if the test is significant. #> test statistic df1 df2 dfcom p.value riv #> 1 ~~ 2 -1.295578 3 0.4041257 NA 1 2.226662 #> #> #> The marginal model, m0, pooled across imputed datasets is summarized below: #> +--------------------+-------+-----------------+--------+ #> | | (1) | #> +--------------------+-------+-----------------+--------+ #> | | Est. | CI | p | #> +====================+=======+=================+========+ #> | (Intercept) | 0.482 | [0.448, 0.516] | <0.001 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Childhood | 0.029 | [-0.104, 0.163] | 0.418 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Infancy | 0.004 | [-0.036, 0.044] | 0.845 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Toddlerhood | 0.011 | [-0.047, 0.069] | 0.670 | #> +--------------------+-------+-----------------+--------+ #> | Num.Obs. | 1292 | | | #> +--------------------+-------+-----------------+--------+ weights <- trim_weights.s1 models.s1 <- fitModel(data = data, obj = obj, weights = weights, outcome = outcome, model = m, family = family, link = link, save.out = save.out) print(models.s1, save.out = save.out) #> Please inspect the Wald test to determine if the exposures collectively predict significant variation in the outcome compared to a model without exposure terms. #> We strongly suggest only conducting history comparisons if the test is significant. #> test statistic df1 df2 dfcom p.value riv #> 1 ~~ 2 -0.3020476 3 0.6594817 NA 1 1.174877 #> #> #> The marginal model, m0, pooled across imputed datasets is summarized below: #> +--------------------+-------+-----------------+--------+ #> | | (1) | #> +--------------------+-------+-----------------+--------+ #> | | Est. | CI | p | #> +====================+=======+=================+========+ #> | (Intercept) | 0.481 | [0.448, 0.514] | <0.001 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Childhood | 0.029 | [-0.072, 0.130] | 0.357 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Infancy | 0.006 | [-0.039, 0.051] | 0.782 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Toddlerhood | 0.014 | [-0.064, 0.092] | 0.628 | #> +--------------------+-------+-----------------+--------+ #> | Num.Obs. | 1292 | | | #> +--------------------+-------+-----------------+--------+ weights <- trim_weights.s2 models.s2 <- fitModel(data = data, obj = obj, weights = weights, outcome = outcome, model = m, family = family, link = link, save.out = save.out) print(models.s2, save.out = save.out) #> Please inspect the Wald test to determine if the exposures collectively predict significant variation in the outcome compared to a model without exposure terms. #> We strongly suggest only conducting history comparisons if the test is significant. #> test statistic df1 df2 dfcom p.value riv #> 1 ~~ 2 -1.758818 3 0.3310847 NA 1 3.208959 #> #> #> The marginal model, m0, pooled across imputed datasets is summarized below: #> +--------------------+-------+-----------------+--------+ #> | | (1) | #> +--------------------+-------+-----------------+--------+ #> | | Est. | CI | p | #> +====================+=======+=================+========+ #> | (Intercept) | 0.483 | [0.448, 0.518] | <0.001 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Childhood | 0.030 | [-0.142, 0.202] | 0.466 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Infancy | 0.000 | [-0.045, 0.044] | 0.982 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Toddlerhood | 0.007 | [-0.053, 0.067] | 0.778 | #> +--------------------+-------+-----------------+--------+ #> | Num.Obs. | 1292 | | | #> +--------------------+-------+-----------------+--------+"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"sensitvity-analyses-2","dir":"Articles","previous_headings":"PHASE 2: Assess Substantive Associations between Exposure and Outcome","what":"Sensitvity Analyses","title":"Workflow: Continuous Exposure","text":"conduct sensitivity analyses, fitting model weights trimmed two different values. note save.= TRUE using default file naming, saving model output overwrite output main model. save sensitivity analyses, recomend user supply new name (e.g., save.= “model_m1_s1.rds”). first fit model weights trimmed 92nd quantile. similarly find significant likelihoood ratio test. fit model weights trimmed 98th quantile. comparable result.","code":"weights <- trim_weights.s1 models.s1 <- fitModel(data = data, obj = obj, weights = weights, outcome = outcome, model = m, family = family, link = link, save.out = save.out) print(models.s1, save.out = save.out) #> Please inspect the Wald test to determine if the exposures collectively predict significant variation in the outcome compared to a model without exposure terms. #> We strongly suggest only conducting history comparisons if the test is significant. #> test statistic df1 df2 dfcom p.value riv #> 1 ~~ 2 -0.3020476 3 0.6594817 NA 1 1.174877 #> #> #> The marginal model, m0, pooled across imputed datasets is summarized below: #> +--------------------+-------+-----------------+--------+ #> | | (1) | #> +--------------------+-------+-----------------+--------+ #> | | Est. | CI | p | #> +====================+=======+=================+========+ #> | (Intercept) | 0.481 | [0.448, 0.514] | <0.001 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Childhood | 0.029 | [-0.072, 0.130] | 0.357 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Infancy | 0.006 | [-0.039, 0.051] | 0.782 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Toddlerhood | 0.014 | [-0.064, 0.092] | 0.628 | #> +--------------------+-------+-----------------+--------+ #> | Num.Obs. | 1292 | | | #> +--------------------+-------+-----------------+--------+ weights <- trim_weights.s2 models.s2 <- fitModel(data = data, obj = obj, weights = weights, outcome = outcome, model = m, family = family, link = link, save.out = save.out) print(models.s2, save.out = save.out) #> Please inspect the Wald test to determine if the exposures collectively predict significant variation in the outcome compared to a model without exposure terms. #> We strongly suggest only conducting history comparisons if the test is significant. #> test statistic df1 df2 dfcom p.value riv #> 1 ~~ 2 -1.758818 3 0.3310847 NA 1 3.208959 #> #> #> The marginal model, m0, pooled across imputed datasets is summarized below: #> +--------------------+-------+-----------------+--------+ #> | | (1) | #> +--------------------+-------+-----------------+--------+ #> | | Est. | CI | p | #> +====================+=======+=================+========+ #> | (Intercept) | 0.483 | [0.448, 0.518] | <0.001 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Childhood | 0.030 | [-0.142, 0.202] | 0.466 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Infancy | 0.000 | [-0.045, 0.044] | 0.982 | #> +--------------------+-------+-----------------+--------+ #> | ESETA1.Toddlerhood | 0.007 | [-0.053, 0.067] | 0.778 | #> +--------------------+-------+-----------------+--------+ #> | Num.Obs. | 1292 | | | #> +--------------------+-------+-----------------+--------+"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"step-5b--estimate-compare-and-visualize-model-predicted-outcome-as-a-function-of-exposure-history","dir":"Articles","previous_headings":"PHASE 2: Assess Substantive Associations between Exposure and Outcome","what":"Step 5b. Estimate, Compare, and Visualize Model-Predicted Outcome as a Function of Exposure History","title":"Workflow: Continuous Exposure","text":"final step, use fitted model results test substantive hypotheses dose timing. estimate compare average marginal estimates outcome user-specified exposure history (.e., permutation high (“h) low (“l”) levels exposure exposure epoch) using compareHistories() function. draws primarily avg_predictions() hypotheses() functions marginaleffects package (Arel-Bundock, 2023). First, compareHistories() function creates average predictions outcome exposure history. n combinations user-specified exposure histories, set value predictors full dataset values combination, leaving variables . gives us n datasets, size original dataset used fit model. n datasets, compute predicted values given model taking average predicted value n datasets. n averaged predicted values expected potential outcomes combination. (imputed data, function outputs pooled predicted values using Rubin’s Rules.) Next, using predicted values, function conducts comparisons different histories (pooling across imputed datasets imputed data using Rubin’s Rules). Lastly, function implements correction multiple comparisons (treating run function family) plotting results. Box plots display outcome x-axis exposure history y-axis whiskers display standard errors. required inputs using compareHistories() function : MSM object (e.g., “obj”) fitted model output (previous steps). optional inputs follows. create histories high low values continuous exposures, hi_lo_cut user can specify list two quantile values (0-1; default median split +/- 0.001) demarcating high low levels exposure, respectively. (Imputed data stacked calculate cutoff values.) suggest drawing existing hypotheses examining variability exposure variable determine high low cutoffs. recommend users begin specifying meaningful high low percentile cutoffs examining many individuals sample fall user-specified exposure histories created percentile cutoffs (see Specify Core Inputs vignette). gold standard recommendations sufficient cell numbers per history, users ensure reasonable coverage histories avoid extrapolation maximize precision. , draw high low cutoffs previously specified, 60th 30th percentile values denote high low levels economic strain, respectively. user also option estimate compare custom subset user-specified exposure histories (.e., sequences high low levels exposure epoch time point) using reference comparison fields. conduct recommended customized comparisons, users must provide least one unique valid history (e.g., “l-l-l”) reference , quotations, provide string (list strings) lowercase l’s h’s (separated -), corresponding exposure epoch (time point), signify sequence exposure levels (“low” “high”, respectively). user supplies reference history, required provide least one unique valid history comparison , quotations, providing comparison string (list strings) l’s h’s (separated “-”), corresponding exposure epoch, signify sequence exposure levels (“low” “high”, respectively) constitutes comparison exposure history/histories compared reference. user supplies one comparisons, least one reference must specified. reference exposure history compared comparison history comparisons subject multiple comparison correction. reference comparison specified, histories compared . 4 exposure main effects (either epochs exposure time points), user required select subset history comparisons (Step 5b), given base code (see hypotheses() function marginaleffects package; Arel-Bundock, 2023) accommodate pairwise history comparisons 5 time points. user can also specify multiple comparison method mc_method quotations, providing shorthand method (“holm”, “hochberg”,“hommel”, “bonferroni”, “BH” (default), “”, “fdr”, “n” (see stats::p.adjust documentation; R Core Team) multiple comparison correction applied final (pooled across imputed datasets applicable) contrasts comparing effects different exposure histories outcome (default Benjamini-Hochburg). code run considered family. user iterates function specifying different comparisons time, strongly recommend interpreting outcome inclusive set comparisons avoid false discovery. , retain default Benjamini-Hochburg method multiple comparison. Based substantive interests, user also option choose level dosage (“h” “l”) tallied labels dose counts tables figures (dose_level; default “h”). example, exposure variable coded way lower levels conceptualized exposure (e.g., lower income), user may wish choose dosage level “l”. , given interest histories high economic strain, specify wish tally high doses exposure. Lastly, user can provide alternate plotting labels exposure outcome exp_lab out_lab fields (defaults variable names), well list (equal number exposure main effects +1) colors Brewer color palette (colors; default “Dark2”). See RColorBrewer::display.brewer.() https://r-graph-gallery.com/38-rcolorbrewers-palettes.html). , specify plotting labels 4 colors. function returns data frame user-specified history comparisons containing contrast estimates, standard errors, statistics, p-values, low high confidence intervals, corrected p-values, labeled history dose. function outputs list two entries. first contains predicted values history second contains comparisons. inspect compared histories output (now averaged across imputed datsets). user option supply save.save printed output home directory. first confirm distribution sample across exposure histories reasonable. summarize results. inspect history comparison conclude evidence children experienced different histories exposure economic strain infancy, toddlerhood, early childhood differ behavioral problems early childhood. Lastly, plot results. user option supply save.save plot output home directory. conduct sensitivity analyses assessing comparing histories drawing models used weights trimmed two different values. note save.= TRUE using default file naming, saving model output overwrite output main model. save sensitivity analyses, recommend user supply new name (e.g., save.= “history_comparisons_s1.rds”). first compare histories using model fit weights trimmed 92nd quantile value. shown , results indicate marginal non-significant contrast “l-l-l” “h-h-h” histories economic strain exposure relation behavior problems early childhood. compare histories using model fit weights trimmed 98th quantile value. Similarly, find evidence differences behavioral problems function history exposure economic strain.","code":"hi_lo_cut <- c(0.6, 0.3) mc_comp_method <- \"BH\" dose_level <- \"h\" exp_lab <- \"Economic Strain\" out_lab <- \"Behavior Problems\" colors <- c(\"blue4\", \"darkgreen\", \"darkgoldenrod\", \"red2\") model <- models results <- compareHistories(fit = model, comparison = comparison, reference = reference, hi_lo_cut = hi_lo_cut, mc_comp_method = mc_comp_method, dose = \"h\", save.out = save.out) print(results) #> Summary of Exposure Main Effects: #> USER ALERT: Out of the total of 1292 individuals in the sample, below is the distribution of the 333 (26%) individuals that fall into 2 user-selected exposure histories (out of the 27 total) created from 30th and 60th percentile values for low and high levels of exposure-epoch Infancy, Toddlerhood, Childhood. #> USER ALERT: Please inspect the distribution of the sample across the following exposure histories and ensure there is sufficient spread to avoid extrapolation and low precision: #> #> +---------------+-----+ #> | epoch_history | n | #> +===============+=====+ #> | h-h-h | 214 | #> +---------------+-----+ #> | l-l-l | 119 | #> +---------------+-----+ #> #> Table: Summary of user-selected exposure histories based on exposure main effects Infancy, Toddlerhood, Childhood: #> #> Below are the pooled average predictions by user-specified history: #> +-------+----------+-----------+----------+-----------+ #> | term | estimate | std.error | conf.low | conf.high | #> +=======+==========+===========+==========+===========+ #> | l-l-l | 0.47 | 0.014 | 0.44 | 0.49 | #> +-------+----------+-----------+----------+-----------+ #> | h-h-h | 0.5 | 0.02 | 0.42 | 0.57 | #> +-------+----------+-----------+----------+-----------+ #> #> Conducting multiple comparison correction for all pairings between comparison histories and each refernece history using the BH method. #> #> #> +-------------------+------------+------------+-----------+-------------+------------+--------------+ #> | term | estimate | std.error | p.value | conf.low | conf.high | p.value_corr | #> +===================+============+============+===========+=============+============+==============+ #> | (h-h-h) - (l-l-l) | 0.03035383 | 0.01948627 | 0.1991802 | -0.02526992 | 0.08597759 | 0.1991802 | #> +-------------------+------------+------------+-----------+-------------+------------+--------------+ summary(results, save.out = save.out) #> term estimate std.error statistic df p.value #> 1 (h-h-h) - (l-l-l) 0.03035383 0.01948627 1.557704 3.739199 0.1991802 #> conf.low conf.high dose p.value_corr #> 1 -0.02526992 0.08597759 3 - 0 0.1991802 plot(results, save.out = save.out) model <- models.s1 results.s1 <- compareHistories(fit = model, comparison = comparison, reference = reference, hi_lo_cut = hi_lo_cut, mc_comp_method = mc_comp_method, dose = \"h\", save.out = save.out) summary(results.s1, save.out = save.out) #> term estimate std.error statistic df p.value #> 1 (h-h-h) - (l-l-l) 0.03327812 0.01659957 2.004757 6.875701 0.08575804 #> conf.low conf.high dose p.value_corr #> 1 -0.006117941 0.07267418 3 - 0 0.08575804 model <- models.s2 results.s2 <- compareHistories(fit = model, comparison = comparison, reference = reference, hi_lo_cut = hi_lo_cut, mc_comp_method = mc_comp_method, dose = \"h\", save.out = save.out) summary(results.s2, save.out = save.out) #> term estimate std.error statistic df p.value #> 1 (h-h-h) - (l-l-l) 0.0264079 0.02274075 1.161259 2.655186 0.339228 #> conf.low conf.high dose p.value_corr #> 1 -0.05158198 0.1043978 3 - 0 0.339228"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"sensitvity-analyses-3","dir":"Articles","previous_headings":"PHASE 2: Assess Substantive Associations between Exposure and Outcome","what":"Sensitvity Analyses","title":"Workflow: Continuous Exposure","text":"conduct sensitivity analyses assessing comparing histories drawing models used weights trimmed two different values. note save.= TRUE using default file naming, saving model output overwrite output main model. save sensitivity analyses, recommend user supply new name (e.g., save.= “history_comparisons_s1.rds”). first compare histories using model fit weights trimmed 92nd quantile value. shown , results indicate marginal non-significant contrast “l-l-l” “h-h-h” histories economic strain exposure relation behavior problems early childhood. compare histories using model fit weights trimmed 98th quantile value. Similarly, find evidence differences behavioral problems function history exposure economic strain.","code":"model <- models.s1 results.s1 <- compareHistories(fit = model, comparison = comparison, reference = reference, hi_lo_cut = hi_lo_cut, mc_comp_method = mc_comp_method, dose = \"h\", save.out = save.out) summary(results.s1, save.out = save.out) #> term estimate std.error statistic df p.value #> 1 (h-h-h) - (l-l-l) 0.03327812 0.01659957 2.004757 6.875701 0.08575804 #> conf.low conf.high dose p.value_corr #> 1 -0.006117941 0.07267418 3 - 0 0.08575804 model <- models.s2 results.s2 <- compareHistories(fit = model, comparison = comparison, reference = reference, hi_lo_cut = hi_lo_cut, mc_comp_method = mc_comp_method, dose = \"h\", save.out = save.out) summary(results.s2, save.out = save.out) #> term estimate std.error statistic df p.value #> 1 (h-h-h) - (l-l-l) 0.0264079 0.02274075 1.161259 2.655186 0.339228 #> conf.low conf.high dose p.value_corr #> 1 -0.05158198 0.1043978 3 - 0 0.339228"},{"path":"https://istallworthy.github.io/devMSMs/articles/Workflow_Continuous_Exposure.html","id":"references","dir":"Articles","previous_headings":"","what":"References","title":"Workflow: Continuous Exposure","text":"Arel-Bundock, V. 2024. marginaleffects: Predictions, Comparisons, Slopes, Marginal Means,Hypothesis Tests. https://CRAN.R-project.org/package=marginaleffects. Burchinal, M., Howes, C., Pianta, R., Bryant, D., Early, D., Clifford, R., & Barbarin, O. (2008). Predicting Child Outcomes End Kindergarten Quality Pre-Kindergarten Teacher–Child Interactions Instruction. Applied Developmental Science, 12(3), 140–153. https://doi.org/10.1080/10888690802199418 Cole, S. R., & Hernán, M. . (2008). Constructing Inverse Probability Weights Marginal Structural Models. American Journal Epidemiology, 168(6), 656–664. https://doi.org/10.1093/aje/kwn164. Greifer N (2024). cobalt: Covariate Balance Tables Plots. R package version 4.5.2, https://github.com/ngreifer/cobalt, https://ngreifer.github.io/cobalt/ Greifer N (2024). WeightIt: Weighting Covariate Balance Observational Studies. https://ngreifer.github.io/WeightIt/, https://github.com/ngreifer/WeightIt Polley, Eric, Erin LeDell, Chris Kennedy, Mark van der Laan. 2023. SuperLearner: SuperLearner Prediction. https://CRAN.R-project.org/package=SuperLearner. R Core Team (2024). R: language environment statistical computing. R Foundation Statistical Computing, Vienna, Austria. ISBN 3-900051-07-0, URLhttp://www.R-project.org/. Stuart, E. . (2010). Matching methods causal inference: review look forward. Statistical Science: Review Journal Institute Mathematical Statistics, 25(1), 1–21. https://doi.org/10.1214/09-STS313. Thoemmes, F., & Ong, . D. (2016). Primer Inverse Probability Treatment Weighting Marginal Structural Models. https://doi.org/10.1177/2167696815621645. Vernon-Feagans, L., Cox, M., Willoughby, M., Burchinal, M., Garrett-Peters, P., Mills-Koonce, R., Garrett-Peiers, P., Conger, R. D., & Bauer, P. J. (2013). Family Life Project: Epidemiological Developmental Study Young Children Living Poor Rural Communities. Monographs Society Research Child Development, 78(5), –150.","code":""},{"path":"https://istallworthy.github.io/devMSMs/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Isabella Stallworthy. Author, maintainer. Noah Greifer. Author, contributor. Meriah DeJoseph. Author. Emily Padrutt. Author. Kyle Butts. Author, contributor. Daniel Berry. Author.","code":""},{"path":"https://istallworthy.github.io/devMSMs/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Stallworthy , Greifer N, DeJoseph M, Padrutt E, Butts K, Berry D (2024). devMSMs: Implementing Marginal Structural Models Longitudinal Data. R package version 0.0.0.9001, https://github.com/istallworthy/devMSMs, https://istallworthy.github.io/devMSMs/.","code":"@Manual{, title = {devMSMs: Implementing Marginal Structural Models with Longitudinal Data}, author = {Isabella Stallworthy and Noah Greifer and Meriah DeJoseph and Emily Padrutt and Kyle Butts and Daniel Berry}, year = {2024}, note = {R package version 0.0.0.9001, https://github.com/istallworthy/devMSMs}, url = {https://istallworthy.github.io/devMSMs/}, }"},{"path":"https://istallworthy.github.io/devMSMs/index.html","id":"devmsms-implementing-marginal-structural-models-msms--with-longitudinal-data","dir":"","previous_headings":"","what":"Implementing Marginal Structural Models with Longitudinal Data","title":"Implementing Marginal Structural Models with Longitudinal Data","text":"study work humans fundamentally interested questions causation. specifically, scientists, clinicians, educators, policymakers alike often interested causal processes involving questions (timing) levels (dose) different factors influence human functioning development, order inform scientific understanding improve people’s lives. However, many, conceptual, methodological, practical barriers prevented use methods causal inference developed fields. goal devMSMs package accompanying tutorial paper, Investigating Causal Questions Human Development Using Marginal Structural Models: Tutorial Introduction devMSMs Package R (insert preprint link ), provide set tools implementing marginal structural models (MSMs; Robins et al., 2000). MSMs orginated epidemiology public health represent one -utilized tool improving causal inference longitudinal observational data, given certain assumptions. brief, MSMs leverage inverse-probability--treatment-weights (IPTW) potential outcomes framework. MSMs first focus problem confounding, using IPTW attenuate associations measured confounders exposure (e.g., experience, characteristic, event –biology broader environment) time. weighted model can fitted relating time-varying exposure future outcome. Finally, model-predicted effects different exposure histories vary dose timing can evaluated compared counterfactuals, reveal putative causal effects. employ term exposure (sometimes referred “treatment” literatures) encompass variety environmental factors, individual characteristics, experiences constitute putative causal events within causal model. Exposures may distal proximal, reflecting developing child’s experience within different environments many levels (Bronfenbrenner & Ceci, 1994), ranging family (e.g., parenting), home (e.g., economic strain), school (e.g., teacher quality), neighborhood (e.g., diversity), greater politico-cultural-economic context (e.g., inequality). Exposures also reflect factors internal child, including neurodevelopmental (e.g., risk markers), physiological (e.g., stress), behavioral (e.g., anxiety) patterns child’s development exposed.","code":""},{"path":"https://istallworthy.github.io/devMSMs/index.html","id":"core-features","dir":"","previous_headings":"","what":"Core Features","title":"Implementing Marginal Structural Models with Longitudinal Data","text":"Core features devMSMs include: flexible functions built-user guidance, drawing established expertise best practices implementing longitudinal IPTW weighting outcome modeling, answer substantive causal questions dose timing functions accept complete imputed data accommodate missingness often found human studies novel recommended workflow, based expertise several disciplines, using devMSMs functions longitudinal data (see Workflows vignettes) accompanying simulated longitudinal dataset, based real-world, Family Life Project (FLP) study human development, getting know package functions accompanying suite helper functions assist users preparing inspecting data prior implementation devMSMs executable, step--step user guidance implementing devMSMs workflow preliminary steps form vignettes geared toward users levels R programming experience, along R markdown template file brief conceptual introduction, example empirical application, additional resources accompanying tutorial paper","code":""},{"path":"https://istallworthy.github.io/devMSMs/index.html","id":"overview","dir":"","previous_headings":"","what":"Overview","title":"Implementing Marginal Structural Models with Longitudinal Data","text":"package contains 7 core functions implementing two phases MSM process: longitudinal confounder adjustment outcome modeling longitudinal data time-varying exposures. summary terms used devMSMs vignettes functions. details examples can found accompanying manuscript.","code":""},{"path":"https://istallworthy.github.io/devMSMs/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"Implementing Marginal Structural Models with Longitudinal Data","text":"devMSMs can installed R Studio Github using devtools package: helper functions can installed accompanying devMSMsHelpers repo:","code":"require(devtools, quietly = TRUE) devtools::install_github(\"istallworthy/devMSMs\") library(devMSMs) devtools::install_github(\"istallworthy/devMSMsHelpers\") library(devMSMsHelpers)"},{"path":"https://istallworthy.github.io/devMSMs/index.html","id":"recommended-workflow","dir":"","previous_headings":"","what":"Recommended Workflow","title":"Implementing Marginal Structural Models with Longitudinal Data","text":"propose recommended workflow using devMSMs answer causal questions longituinal data. suggest using vignettes order appear Articles tab. reading accompanying manuscript, recommend first reviewing Terminology Data Requirements vignettes begin preparing data. recommend downloading R markdown template file contains code described Specify Core Inputs Workflows vignettes (binary (TBA) continuous exposures) implementing steps .","code":""},{"path":"https://istallworthy.github.io/devMSMs/index.html","id":"citation--bug-reports","dir":"","previous_headings":"","what":"Citation & Bug Reports","title":"Implementing Marginal Structural Models with Longitudinal Data","text":"Please cite use devMSMs using following citation: Stallworthy , Greifer N, DeJoseph M, Padrutt E, Butts K, Berry D (2024). devMSMs: Implementing Marginal Structural Models Longitudinal Data. R package version 0.0.0.9000, https://istallworthy.github.io/devMSMs/. Please report bugs following link: https://github.com/istallworthy/devMSMs/issues","code":""},{"path":"https://istallworthy.github.io/devMSMs/index.html","id":"additional-resources","dir":"","previous_headings":"","what":"Additional Resources","title":"Implementing Marginal Structural Models with Longitudinal Data","text":"Arel-Bundock, Diniz, M. ., Greifer, N., & Bacher, E. (2024). marginaleffects: Predictions, Comparisons, Slopes, Marginal Means, Hypothesis Tests (0.12.0) [Computer software]. https://cran.r-project.org/web/packages/marginaleffects/index.html. Austin, P. C. (2011). Introduction Propensity Score Methods Reducing Effects Confounding Observational Studies. Multivariate Behavioral Research, 46(3), 399–424. https://doi.org/10.1080/00273171.2011.568786 Blackwell, M. (2013). Framework Dynamic Causal Inference Political Science. American Journal Political Science, 57(2), 504–520. https://doi.org/10.1111/j.1540-5907.2012.00626.x Cole, S. R., & Hernán, M. . (2008). Constructing Inverse Probability Weights Marginal Structural Models. American Journal Epidemiology, 168(6), 656–664. https://doi.org/10.1093/aje/kwn164 Eronen, M. . (2020). Causal discovery problem psychological interventions. New Ideas Psychology, 59, 100785. https://doi.org/10.1016/j.newideapsych.2020.100785 Fong, C., Hazlett, C., & Imai, K. (2018).Covariate balancing propensity score continuous treatment: Application efficacy political advertisements. Annals Applied Statistics, 12(1), 156–177. https://doi.org/10.1214/17-AOAS1101 Foster, E. M. (2010). Causal inference developmental psychology. Developmental Psychology, 46(6), 1454–1480. https://doi.org/10.1037/a0020204 Greifer N (2024).cobalt: Covariate Balance Tables Plots. R package version 4.5.2, https://github.com/ngreifer/cobalt, https://ngreifer.github.io/cobalt/ Greifer N (2024). WeightIt: Weighting Covariate Balance Observational Studies. https://ngreifer.github.io/WeightIt/, https://github.com/ngreifer/WeightIt Jackson, John W.(2016). Diagnostics Confounding Time-varying Joint Exposures. Epidemiology, 2016 Nov, 27(6), 859-69. https://doi.org/10.1097/EDE.0000000000000547. Haber, N. ., Wood, M. E., Wieten, S., & Breskin, .(2022). DAG Omitted Objects Displayed (DAGWOOD): framework revealing causal assumptions DAGs. Annals Epidemiology, 68, 64–71. https://doi.org/10.1016/j.annepidem.2022.01.001 Hernán, M., & Robins, J. (2024). Causal Inference: . CRC Press. Hirano, K., & Imbens, G. W. (2004).Propensity Score Continuous Treatments. Applied Bayesian Modeling Causal Inference Incomplete-Data Perspectives (pp. 73–84). John Wiley & Sons, Ltd. https://doi.org/10.1002/0470090456.ch7 Kainz, K., Greifer, N., Givens, ., Swietek, K., Lombardi, B. M., Zietz, S., & Kohn, J. L. (2017). Improving Causal Inference: Recommendations Covariate Selection Balance Propensity Score Methods. Journal Society Social Work Research, 8(2), 279–303. https://doi.org/10.1086/691464 Loh, W. W., Ren, D., & West, S. G. (2024). Parametric g-formula Testing Time-Varying Causal Effects: , Matters, Implement Lavaan. Multivariate Behavioral Research, 59(5), 995–1018. https://doi.org/10.1080/00273171.2024.2354228 Pishgar, F., Greifer, N., Leyrat, C., & Stuart, E. (2021). MatchThem: Matching andWeighting Multiple Imputation. R Journal, 13(2), 292–305. https://doi.org/10.32614/RJ-2021-073 Robins, J. M., Hernán, M.Á., & Brumback, B. (2000). Marginal Structural Models Causal Inference Epidemiology. Epidemiology, 11(5), 550–560. Rubin, D. B. (2005). Causal Inference Using Potential Outcomes: Design, Modeling, Decisions. Journal American Statistical Association, 100(469), 322–331. https://doi.org/10.1198/016214504000001880 Rubin, D. B. (1974). Estimating causal effects treatments randomized nonrandomized studies. Journal Educational Psychology, 66(5), 688–701. https://doi.org/10.1037/h0037350 Stuart, E. . (2010). Matching methods causal inference: review look forward. Statistical Science: Review Journal Institute Mathematical Statistics, 25(1), 1–21. https://doi.org/10.1214/09-STS313 Stuart, E. . (2008). Developing practical recommendations use propensity scores: Discussion ‘critical appraisal propensity score matching medical literature 1996 2003’ Peter Austin, Statistics Medicine. Statistics Medicine, 27(12), 2062–2065. https://doi.org/10.1002/sim.3207 Textor, J. (2015). Drawing Analyzing Causal DAGs DAGitty. Thoemmes, F., & Ong, . D. (2016). Primer Inverse Probability Treatment Weighting Marginal Structural Models. https://doi.org/10.1177/2167696815621645 Woodward, J. (2005). Making Things Happen: Theory Causal Explanation. Oxford University Press, USA.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/assessBalance.html","id":null,"dir":"Reference","previous_headings":"","what":"Assesses confounder balancing — assessBalance","title":"Assesses confounder balancing — assessBalance","text":"Draws functions cobalt package quantify relations exposure confounders exposure time point according guidelines Jackson, 2016 assess balance time-varying exposures.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/assessBalance.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Assesses confounder balancing — assessBalance","text":"","code":"assessBalance( data, obj, weights = NULL, balance_thresh = NULL, imp_conf = NULL, verbose = FALSE, save.out = FALSE ) # S3 method for class 'devMSM_bal_stats' print(x, i = NA, t = TRUE, save.out = FALSE, ...) # S3 method for class 'devMSM_bal_stats' summary(object, i = NA, save.out = FALSE, ...) # S3 method for class 'devMSM_bal_stats' plot(x, i = NA, t = TRUE, save.out = FALSE, ...)"},{"path":"https://istallworthy.github.io/devMSMs/reference/assessBalance.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Assesses confounder balancing — assessBalance","text":"data data wide format : data frame, list imputed data frames, mids object mice package obj initialized MSM object initMSM() weights (optional) list IPTW weights output createWeights() balance_thresh (optional) one two numbers 0 1 indicating single balancing threshold thresholds less important confounders, respectively (default = 0.1) imp_conf (optional) list variable names reflecting important confounders, required two balance thresholds supplied verbose (optional) TRUE FALSE indicator printing output console. default FALSE. save.(optional) Either logical character string. TRUE, output result default file name within home_dir set initMSM(). can load data x <- readRDS(file). use non-default file name, specify character string file name. save relative home_dir. might naming conflicts two objects get saved file. cases, users specify custom name. default FALSE. x devMSM_bal_stats object assessBalance multiply imputed datasets, selects imputation print results . Default = 1. = TRUE, imputed datasets looped . = NULL, average imputed datasets summarize . Ignored non-imputed data. t exposure variable use. Can either index 1 number exposures string containing exposure variable name (e.g. \".3\"). t = TRUE, exposure variables looped . ... ignored object devMSM_bal_stats object assessBalance()","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/assessBalance.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Assesses confounder balancing — assessBalance","text":"list containing balance statistics dataframe. length number datasets (1 data.frame number imputed datasets)","code":""},{"path":[]},{"path":"https://istallworthy.github.io/devMSMs/reference/assessBalance.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Assesses confounder balancing — assessBalance","text":"","code":"library(devMSMs) data <- data.frame( ID = 1:50, A.1 = rnorm(n = 50), A.2 = rnorm(n = 50), A.3 = rnorm(n = 50), B.1 = rnorm(n = 50), B.2 = rnorm(n = 50), B.3 = rnorm(n = 50), C = rnorm(n = 50), D.3 = rnorm(n = 50) ) obj <- initMSM( data, exposure = c(\"A.1\", \"A.2\", \"A.3\"), ti_conf = c(\"C\"), tv_conf = c(\"B.1\", \"B.2\", \"B.3\", \"D.3\") ) # Prebalance b <- assessBalance(data = data, obj = obj) print(b) #> #> +----------+-----------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +==========+===========+===============+============+==========+ #> | A.1 | C | 0.0928 | 0.1 | 1 | #> +----------+-----------+---------------+------------+----------+ #> | A.2 | C | 0.2457 | 0.1 | 0 | #> +----------+-----------+---------------+------------+----------+ #> | A.2 | B.1 | -0.0223 | 0.1 | 1 | #> +----------+-----------+---------------+------------+----------+ #> | A.2 | A.1 | 0.3289 | 0.1 | 0 | #> +----------+-----------+---------------+------------+----------+ #> | A.3 | C | 0.0321 | 0.1 | 1 | #> +----------+-----------+---------------+------------+----------+ #> | A.3 | B.1 | -0.0852 | 0.1 | 1 | #> +----------+-----------+---------------+------------+----------+ #> | A.3 | B.2 | 0.2001 | 0.1 | 0 | #> +----------+-----------+---------------+------------+----------+ #> | A.3 | A.1 | 0.0468 | 0.1 | 1 | #> +----------+-----------+---------------+------------+----------+ #> | A.3 | A.2 | -0.106 | 0.1 | 0 | #> +----------+-----------+---------------+------------+----------+ #> #> Table: Balance Stats for All Exposure Time Points # returns ggplot of balance stats for all exposure variables plots <- plot(b, t = TRUE) # can plot only specific exposure time periods plot(b, t = \"A.3\") plot(b, t = 3) # Weighted f <- createFormulas(obj, type = \"short\") w <- createWeights(data = data, formulas = f) bw <- assessBalance(data = data, weights = w) print(bw) #> #> +----------+-----------+---------------+------------+----------+ #> | exposure | covariate | std_bal_stats | bal_thresh | balanced | #> +==========+===========+===============+============+==========+ #> | A.1 | C | -0.1136 | 0.1 | 0 | #> +----------+-----------+---------------+------------+----------+ #> | A.2 | C | -0.0279 | 0.1 | 1 | #> +----------+-----------+---------------+------------+----------+ #> | A.2 | B.1 | -0.0216 | 0.1 | 1 | #> +----------+-----------+---------------+------------+----------+ #> | A.2 | A.1 | 0.1254 | 0.1 | 0 | #> +----------+-----------+---------------+------------+----------+ #> | A.3 | C | -0.0584 | 0.1 | 1 | #> +----------+-----------+---------------+------------+----------+ #> | A.3 | B.1 | -0.0606 | 0.1 | 1 | #> +----------+-----------+---------------+------------+----------+ #> | A.3 | B.2 | -0.0311 | 0.1 | 1 | #> +----------+-----------+---------------+------------+----------+ #> | A.3 | A.1 | -0.0195 | 0.1 | 1 | #> +----------+-----------+---------------+------------+----------+ #> | A.3 | A.2 | -0.1877 | 0.1 | 0 | #> +----------+-----------+---------------+------------+----------+ #> #> Table: Balance Stats for All Exposure Time Points plot(bw)"},{"path":"https://istallworthy.github.io/devMSMs/reference/compareHistories.html","id":null,"dir":"Reference","previous_headings":"","what":"Estimate, compare, and visualize exposure histories — compareHistories","title":"Estimate, compare, and visualize exposure histories — compareHistories","text":"Takes fitted model output created predicted values user-specified histories (pooling imputed data), conducting contrast comparisons (pooling imputed data), correcting multiple comparisons, plotting results.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/compareHistories.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Estimate, compare, and visualize exposure histories — compareHistories","text":"","code":"compareHistories( fit, hi_lo_cut, dose_level = \"h\", reference = NULL, comparison = NULL, mc_comp_method = \"BH\", verbose = FALSE, save.out = FALSE ) # S3 method for class 'devMSM_comparisons' print(x, save.out = FALSE, ...) # S3 method for class 'devMSM_comparisons' plot( x, colors = \"Dark2\", exp_lab = NULL, out_lab = NULL, save.out = FALSE, ... ) # S3 method for class 'devMSM_comparisons' summary(object, type = \"comps\", ...)"},{"path":"https://istallworthy.github.io/devMSMs/reference/compareHistories.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Estimate, compare, and visualize exposure histories — compareHistories","text":"fit list model outputs fitModel() hi_lo_cut list two numbers indicating quantile values reflect high low values, respectively, continuous exposure dose_level (optional) \"l\" \"h\" indicating whether low high doses tallied tables plots (default high \"h\") reference lists one strings \"-\"-separated \"l\" \"h\" values indicative reference exposure history compare comparison, required comparison supplied comparison (optional) list one strings \"-\"-separated \"l\" \"h\" values indicative comparison history/histories compare reference, required reference supplied mc_comp_method (optional) character abbreviation multiple comparison correction method stats::p.adjust, default Benjamini-Hochburg (\"BH\") verbose (optional) TRUE FALSE indicator printing output console. default FALSE. save.(optional) Either logical character string. TRUE, output result default file name within home_dir set initMSM(). can load data x <- readRDS(file). use non-default file name, specify character string file name. save relative home_dir. might naming conflicts two objects get saved file. cases, users specify custom name. default FALSE. x devMSM_histories object compareHistories() ... ignored colors (optional) character specifying Brewer palette list colors (n(epochs)+1) plotting (default \"Dark2\" palette) exp_lab (optional) character label exposure variable plots (default variable name) out_lab (optional) character label outcome variable plots (default variable name) object devMSM_histories object compareHistories() type Either \"preds\" \"comps\" corresponding results marginaleffects::avg_predictions() low high dosages marginaleffects::avg_comparisons() respectively","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/compareHistories.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Estimate, compare, and visualize exposure histories — compareHistories","text":"list containing two dataframes: preds predictions marginaleffects::avg_predictions() containing average expected outcome different exposure histories comps contrasts marginaleffects::comparisons() comparing different exposure history","code":""},{"path":[]},{"path":"https://istallworthy.github.io/devMSMs/reference/compareHistories.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Estimate, compare, and visualize exposure histories — compareHistories","text":"","code":"library(devMSMs) set.seed(123) data <- data.frame( ID = 1:50, A.1 = rnorm(n = 50), A.2 = rnorm(n = 50), A.3 = rnorm(n = 50), B.1 = rnorm(n = 50), B.2 = rnorm(n = 50), B.3 = rnorm(n = 50), C = rnorm(n = 50), D.3 = rnorm(n = 50) ) obj <- initMSM( data, exposure = c(\"A.1\", \"A.2\", \"A.3\"), ti_conf = c(\"C\"), tv_conf = c(\"B.1\", \"B.2\", \"B.3\", \"D.3\") ) f <- createFormulas(obj, type = \"short\") w <- createWeights(data = data, formulas = f) fit <- fitModel( data = data, weights = w, outcome = \"D.3\", model = \"m0\" ) comp <- compareHistories( fit = fit, hi_lo_cut = c(0.3, 0.6) ) print(comp) #> Summary of Exposure Main Effects: #> USER ALERT: Out of the total of 50 individuals in the sample, below is the distribution of the 50 (100%) individuals that fall into 24 user-selected exposure histories (out of the 24 total) created from 30th and 60th percentile values for low and high levels of exposure-epoch A.1, A.2, A.3. #> USER ALERT: Please inspect the distribution of the sample across the following exposure histories and ensure there is sufficient spread to avoid extrapolation and low precision: #> #> +---------------+---+ #> | epoch_history | n | #> +===============+===+ #> | NA-NA-h | 2 | #> +---------------+---+ #> | NA-NA-l | 1 | #> +---------------+---+ #> | NA-h-NA | 2 | #> +---------------+---+ #> | NA-h-h | 3 | #> +---------------+---+ #> | NA-h-l | 2 | #> +---------------+---+ #> | NA-l-NA | 1 | #> +---------------+---+ #> | NA-l-h | 2 | #> +---------------+---+ #> | NA-l-l | 2 | #> +---------------+---+ #> | h-NA-NA | 2 | #> +---------------+---+ #> | h-NA-h | 4 | #> +---------------+---+ #> | h-NA-l | 1 | #> +---------------+---+ #> | h-h-NA | 2 | #> +---------------+---+ #> | h-h-h | 3 | #> +---------------+---+ #> | h-h-l | 3 | #> +---------------+---+ #> | h-l-NA | 1 | #> +---------------+---+ #> | h-l-h | 2 | #> +---------------+---+ #> | h-l-l | 2 | #> +---------------+---+ #> | l-NA-NA | 3 | #> +---------------+---+ #> | l-NA-l | 2 | #> +---------------+---+ #> | l-h-NA | 2 | #> +---------------+---+ #> | l-h-h | 1 | #> +---------------+---+ #> | l-h-l | 2 | #> +---------------+---+ #> | l-l-NA | 2 | #> +---------------+---+ #> | l-l-h | 3 | #> +---------------+---+ #> #> Table: Summary of user-selected exposure histories based on exposure main effects A.1, A.2, A.3: #> #> Below are the pooled average predictions by user-specified history: #> +-------+-------+-------+--------+----------+-----------+----------+-----------+ #> | term | A.1 | A.2 | A.3 | estimate | std.error | conf.low | conf.high | #> +=======+=======+=======+========+==========+===========+==========+===========+ #> | l-l-l | -0.47 | -0.3 | -0.804 | -0.15 | 0.2 | -0.54 | 0.239 | #> +-------+-------+-------+--------+----------+-----------+----------+-----------+ #> | l-l-h | -0.47 | -0.3 | -0.051 | -0.064 | 0.2 | -0.47 | 0.338 | #> +-------+-------+-------+--------+----------+-----------+----------+-----------+ #> | l-h-l | -0.47 | 0.31 | -0.804 | -0.093 | 0.18 | -0.44 | 0.25 | #> +-------+-------+-------+--------+----------+-----------+----------+-----------+ #> | l-h-h | -0.47 | 0.31 | -0.051 | -0.007 | 0.19 | -0.37 | 0.357 | #> +-------+-------+-------+--------+----------+-----------+----------+-----------+ #> | h-l-l | 0.24 | -0.3 | -0.804 | -0.235 | 0.15 | -0.53 | 0.059 | #> +-------+-------+-------+--------+----------+-----------+----------+-----------+ #> | h-l-h | 0.24 | -0.3 | -0.051 | -0.149 | 0.15 | -0.45 | 0.154 | #> +-------+-------+-------+--------+----------+-----------+----------+-----------+ #> | h-h-l | 0.24 | 0.31 | -0.804 | -0.179 | 0.13 | -0.43 | 0.07 | #> +-------+-------+-------+--------+----------+-----------+----------+-----------+ #> | h-h-h | 0.24 | 0.31 | -0.051 | -0.093 | 0.14 | -0.36 | 0.176 | #> +-------+-------+-------+--------+----------+-----------+----------+-----------+ #> #> Conducting multiple comparison correction for all pairings between comparison histories and each refernece history using the BH method. #> #> #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | term | estimate | std.error | p.value | conf.low | conf.high | p.value_corr | #> +===================+===============+============+===========+=============+============+==============+ #> | (l-l-l) - (l-l-h) | -0.0860245895 | 0.09323351 | 0.3561746 | -0.26875891 | 0.09670973 | 0.5955722 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-l-l) - (l-h-l) | -0.0567671468 | 0.06804542 | 0.4041380 | -0.19013372 | 0.07659943 | 0.5955722 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-l-l) - (l-h-h) | -0.1427917364 | 0.12113186 | 0.2384729 | -0.38020583 | 0.09462235 | 0.5955722 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-l-l) - (h-l-l) | 0.0855518211 | 0.09515347 | 0.3686031 | -0.10094556 | 0.27204920 | 0.5955722 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-l-l) - (h-l-h) | -0.0004727684 | 0.12853504 | 0.9970653 | -0.25239681 | 0.25145127 | 0.9970653 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-l-l) - (h-h-l) | 0.0287846743 | 0.12605827 | 0.8193787 | -0.21828499 | 0.27585434 | 0.8824078 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-l-l) - (h-h-h) | -0.0572399153 | 0.15718786 | 0.7157462 | -0.36532245 | 0.25084262 | 0.8824078 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-l-h) - (l-h-l) | 0.0292574427 | 0.10941845 | 0.7891686 | -0.18519878 | 0.24371366 | 0.8824078 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-l-h) - (l-h-h) | -0.0567671468 | 0.06804540 | 0.4041379 | -0.19013369 | 0.07659939 | 0.5955722 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-l-h) - (h-l-l) | 0.1715764106 | 0.13773921 | 0.2128887 | -0.09838748 | 0.44154030 | 0.5955722 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-l-h) - (h-l-h) | 0.0855518211 | 0.09515351 | 0.3686033 | -0.10094562 | 0.27204927 | 0.5955722 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-l-h) - (h-h-l) | 0.1148092638 | 0.15639156 | 0.4628791 | -0.19171256 | 0.42133108 | 0.6480308 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-l-h) - (h-h-h) | 0.0287846743 | 0.12605825 | 0.8193786 | -0.21828496 | 0.27585431 | 0.8824078 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-h-l) - (l-h-h) | -0.0860245895 | 0.09323348 | 0.3561744 | -0.26875886 | 0.09670968 | 0.5955722 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-h-l) - (h-l-l) | 0.1423189679 | 0.10713569 | 0.1840462 | -0.06766312 | 0.35230106 | 0.5955722 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-h-l) - (h-l-h) | 0.0562943784 | 0.13264560 | 0.6712764 | -0.20368622 | 0.31627498 | 0.8824078 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-h-l) - (h-h-l) | 0.0855518211 | 0.09515354 | 0.3686034 | -0.10094568 | 0.27204932 | 0.5955722 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-h-l) - (h-h-h) | -0.0004727684 | 0.12853506 | 0.9970653 | -0.25239686 | 0.25145133 | 0.9970653 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-h-h) - (h-l-l) | 0.2283435575 | 0.15081852 | 0.1300186 | -0.06725530 | 0.52394242 | 0.5955722 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-h-h) - (h-l-h) | 0.1423189679 | 0.10713569 | 0.1840463 | -0.06766313 | 0.35230107 | 0.5955722 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-h-h) - (h-h-l) | 0.1715764106 | 0.13773922 | 0.2128888 | -0.09838750 | 0.44154032 | 0.5955722 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (l-h-h) - (h-h-h) | 0.0855518211 | 0.09515352 | 0.3686034 | -0.10094565 | 0.27204929 | 0.5955722 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (h-l-l) - (h-l-h) | -0.0860245895 | 0.09323350 | 0.3561745 | -0.26875889 | 0.09670971 | 0.5955722 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (h-l-l) - (h-h-l) | -0.0567671468 | 0.06804546 | 0.4041383 | -0.19013380 | 0.07659951 | 0.5955722 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (h-l-l) - (h-h-h) | -0.1427917364 | 0.12113192 | 0.2384731 | -0.38020594 | 0.09462247 | 0.5955722 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (h-l-h) - (h-h-l) | 0.0292574427 | 0.10941843 | 0.7891686 | -0.18519874 | 0.24371362 | 0.8824078 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (h-l-h) - (h-h-h) | -0.0567671468 | 0.06804543 | 0.4041381 | -0.19013374 | 0.07659945 | 0.5955722 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ #> | (h-h-l) - (h-h-h) | -0.0860245895 | 0.09323350 | 0.3561745 | -0.26875888 | 0.09670970 | 0.5955722 | #> +-------------------+---------------+------------+-----------+-------------+------------+--------------+ plot(comp) summary(comp, \"preds\") #> term A.1 A.2 A.3 estimate std.error statistic #> 1 l-l-l -0.4684962 -0.2971206 -0.80434443 -0.149799589 0.1983536 -0.75521501 #> 2 l-l-h -0.4684962 -0.2971206 -0.05134827 -0.063774999 0.2048054 -0.31139320 #> 3 l-h-l -0.4684962 0.3148300 -0.80434443 -0.093032442 0.1750306 -0.53152099 #> 4 l-h-h -0.4684962 0.3148300 -0.05134827 -0.007007852 0.1859760 -0.03768148 #> 5 h-l-l 0.2359494 -0.2971206 -0.80434443 -0.235351410 0.1502513 -1.56638563 #> 6 h-l-h 0.2359494 -0.2971206 -0.05134827 -0.149326820 0.1547615 -0.96488363 #> 7 h-h-l 0.2359494 0.3148300 -0.80434443 -0.178584263 0.1267806 -1.40860879 #> 8 h-h-h 0.2359494 0.3148300 -0.05134827 -0.092559673 0.1371105 -0.67507375 #> p.value s.value conf.low conf.high dose #> 1 0.4501200 1.15161848 -0.5385654 0.23896625 0 #> 2 0.7555017 0.40449305 -0.4651861 0.33763614 1 #> 3 0.5950578 0.74889829 -0.4360861 0.25002124 1 #> 4 0.9699416 0.04403015 -0.3715142 0.35749845 2 #> 5 0.1172584 3.09223725 -0.5298385 0.05913564 1 #> 6 0.3346031 1.57947727 -0.4526538 0.15400011 2 #> 7 0.1589509 2.65334711 -0.4270697 0.06990114 2 #> 8 0.4996289 1.00107114 -0.3612912 0.17617189 3 summary(comp, \"comps\") #> term estimate std.error statistic p.value #> 1 (l-l-l) - (l-l-h) -0.0860245895 0.09323351 -0.922678895 0.3561746 #> 2 (l-l-l) - (l-h-l) -0.0567671468 0.06804542 -0.834253748 0.4041380 #> 3 (l-l-l) - (l-h-h) -0.1427917364 0.12113186 -1.178812343 0.2384729 #> 4 (l-l-l) - (h-l-l) 0.0855518211 0.09515347 0.899092985 0.3686031 #> 5 (l-l-l) - (h-l-h) -0.0004727684 0.12853504 -0.003678129 0.9970653 #> 6 (l-l-l) - (h-h-l) 0.0287846743 0.12605827 0.228344197 0.8193787 #> 7 (l-l-l) - (h-h-h) -0.0572399153 0.15718786 -0.364149728 0.7157462 #> 8 (l-l-h) - (l-h-l) 0.0292574427 0.10941845 0.267390396 0.7891686 #> 9 (l-l-h) - (l-h-h) -0.0567671468 0.06804540 -0.834253950 0.4041379 #> 10 (l-l-h) - (h-l-l) 0.1715764106 0.13773921 1.245661352 0.2128887 #> 11 (l-l-h) - (h-l-h) 0.0855518211 0.09515351 0.899092683 0.3686033 #> 12 (l-l-h) - (h-h-l) 0.1148092638 0.15639156 0.734114205 0.4628791 #> 13 (l-l-h) - (h-h-h) 0.0287846743 0.12605825 0.228344230 0.8193786 #> 14 (l-h-l) - (l-h-h) -0.0860245895 0.09323348 -0.922679121 0.3561744 #> 15 (l-h-l) - (h-l-l) 0.1423189679 0.10713569 1.328399262 0.1840462 #> 16 (l-h-l) - (h-l-h) 0.0562943784 0.13264560 0.424396874 0.6712764 #> 17 (l-h-l) - (h-h-l) 0.0855518211 0.09515354 0.899092410 0.3686034 #> 18 (l-h-l) - (h-h-h) -0.0004727684 0.12853506 -0.003678128 0.9970653 #> 19 (l-h-h) - (h-l-l) 0.2283435575 0.15081852 1.514028672 0.1300186 #> 20 (l-h-h) - (h-l-h) 0.1423189679 0.10713569 1.328399184 0.1840463 #> 21 (l-h-h) - (h-h-l) 0.1715764106 0.13773922 1.245661276 0.2128888 #> 22 (l-h-h) - (h-h-h) 0.0855518211 0.09515352 0.899092564 0.3686034 #> 23 (h-l-l) - (h-l-h) -0.0860245895 0.09323350 -0.922678981 0.3561745 #> 24 (h-l-l) - (h-h-l) -0.0567671468 0.06804546 -0.834253253 0.4041383 #> 25 (h-l-l) - (h-h-h) -0.1427917364 0.12113192 -1.178811770 0.2384731 #> 26 (h-l-h) - (h-h-l) 0.0292574427 0.10941843 0.267390449 0.7891686 #> 27 (h-l-h) - (h-h-h) -0.0567671468 0.06804543 -0.834253622 0.4041381 #> 28 (h-h-l) - (h-h-h) -0.0860245895 0.09323350 -0.922679011 0.3561745 #> s.value conf.low conf.high dose p.value_corr #> 1 1.489343589 -0.26875891 0.09670973 0 - 1 0.5955722 #> 2 1.307080051 -0.19013372 0.07659943 0 - 1 0.5955722 #> 3 2.068102717 -0.38020583 0.09462235 0 - 2 0.5955722 #> 4 1.439859757 -0.10094556 0.27204920 0 - 1 0.5955722 #> 5 0.004240125 -0.25239681 0.25145127 0 - 2 0.9970653 #> 6 0.287397761 -0.21828499 0.27585434 0 - 2 0.8824078 #> 7 0.482479980 -0.36532245 0.25084262 0 - 3 0.8824078 #> 8 0.341594553 -0.18519878 0.24371366 1 - 1 0.8824078 #> 9 1.307080457 -0.19013369 0.07659939 1 - 2 0.5955722 #> 10 2.231828396 -0.09838748 0.44154030 1 - 1 0.5955722 #> 11 1.439859126 -0.10094562 0.27204927 1 - 2 0.5955722 #> 12 1.111292558 -0.19171256 0.42133108 1 - 2 0.6480308 #> 13 0.287397807 -0.21828496 0.27585431 1 - 3 0.8824078 #> 14 1.489344066 -0.26875886 0.09670968 1 - 2 0.5955722 #> 15 2.441859794 -0.06766312 0.35230106 1 - 1 0.5955722 #> 16 0.575021172 -0.20368622 0.31627498 1 - 2 0.8824078 #> 17 1.439858557 -0.10094568 0.27204932 1 - 2 0.5955722 #> 18 0.004240124 -0.25239686 0.25145133 1 - 3 0.9970653 #> 19 2.943210429 -0.06725530 0.52394242 2 - 1 0.5955722 #> 20 2.441859592 -0.06766313 0.35230107 2 - 2 0.5955722 #> 21 2.231828206 -0.09838750 0.44154032 2 - 2 0.5955722 #> 22 1.439858879 -0.10094565 0.27204929 2 - 3 0.5955722 #> 23 1.489343772 -0.26875889 0.09670971 1 - 2 0.5955722 #> 24 1.307079055 -0.19013380 0.07659951 1 - 2 0.5955722 #> 25 2.068101336 -0.38020594 0.09462247 1 - 3 0.5955722 #> 26 0.341594628 -0.18519874 0.24371362 2 - 2 0.8824078 #> 27 1.307079797 -0.19013374 0.07659945 2 - 3 0.5955722 #> 28 1.489343836 -0.26875888 0.09670970 2 - 3 0.5955722 comp2 <- compareHistories( fit = fit, hi_lo_cut = c(0.3, 0.6), reference = \"l-l-l\", comparison = c(\"h-h-h\", \"h-h-l\") ) print(comp2) #> Summary of Exposure Main Effects: #> Warning: There are no participants in your sample in the following histories: l-l-l. #> Please revise your reference/comparison histories and/or the high/low cutoffs, if applicable. #> USER ALERT: Out of the total of 50 individuals in the sample, below is the distribution of the 6 (12%) individuals that fall into 2 user-selected exposure histories (out of the 24 total) created from 30th and 60th percentile values for low and high levels of exposure-epoch A.1, A.2, A.3. #> USER ALERT: Please inspect the distribution of the sample across the following exposure histories and ensure there is sufficient spread to avoid extrapolation and low precision: #> #> +---------------+---+ #> | epoch_history | n | #> +===============+===+ #> | h-h-h | 3 | #> +---------------+---+ #> | h-h-l | 3 | #> +---------------+---+ #> #> Table: Summary of user-selected exposure histories based on exposure main effects A.1, A.2, A.3: #> #> Below are the pooled average predictions by user-specified history: #> +-------+-------+-------+--------+----------+-----------+----------+-----------+ #> | term | A.1 | A.2 | A.3 | estimate | std.error | conf.low | conf.high | #> +=======+=======+=======+========+==========+===========+==========+===========+ #> | l-l-l | -0.47 | -0.3 | -0.804 | -0.15 | 0.2 | -0.54 | 0.24 | #> +-------+-------+-------+--------+----------+-----------+----------+-----------+ #> | h-h-l | 0.24 | 0.31 | -0.804 | -0.179 | 0.13 | -0.43 | 0.07 | #> +-------+-------+-------+--------+----------+-----------+----------+-----------+ #> | h-h-h | 0.24 | 0.31 | -0.051 | -0.093 | 0.14 | -0.36 | 0.18 | #> +-------+-------+-------+--------+----------+-----------+----------+-----------+ #> #> Conducting multiple comparison correction for all pairings between comparison histories and each refernece history using the BH method. #> #> #> +-------------------+-------------+-----------+-----------+------------+-----------+--------------+ #> | term | estimate | std.error | p.value | conf.low | conf.high | p.value_corr | #> +===================+=============+===========+===========+============+===========+==============+ #> | (h-h-h) - (l-l-l) | 0.05723992 | 0.1571879 | 0.7157462 | -0.2508426 | 0.3653225 | 0.8193787 | #> +-------------------+-------------+-----------+-----------+------------+-----------+--------------+ #> | (h-h-l) - (l-l-l) | -0.02878467 | 0.1260583 | 0.8193787 | -0.2758543 | 0.2182850 | 0.8193787 | #> +-------------------+-------------+-----------+-----------+------------+-----------+--------------+ plot(comp2) summary(comp2, \"preds\") #> term A.1 A.2 A.3 estimate std.error statistic #> 1 l-l-l -0.4684962 -0.2971206 -0.80434443 -0.14979959 0.1983536 -0.7552150 #> 7 h-h-l 0.2359494 0.3148300 -0.80434443 -0.17858426 0.1267806 -1.4086088 #> 8 h-h-h 0.2359494 0.3148300 -0.05134827 -0.09255967 0.1371105 -0.6750738 #> p.value s.value conf.low conf.high dose #> 1 0.4501200 1.151618 -0.5385654 0.23896625 0 #> 7 0.1589509 2.653347 -0.4270697 0.06990114 2 #> 8 0.4996289 1.001071 -0.3612912 0.17617189 3 summary(comp2, \"comps\") #> term estimate std.error statistic p.value s.value #> 1 (h-h-h) - (l-l-l) 0.05723992 0.1571879 0.3641497 0.7157462 0.4824800 #> 2 (h-h-l) - (l-l-l) -0.02878467 0.1260583 -0.2283442 0.8193787 0.2873978 #> conf.low conf.high dose p.value_corr #> 1 -0.2508426 0.3653225 3 - 0 0.8193787 #> 2 -0.2758543 0.2182850 2 - 0 0.8193787"},{"path":"https://istallworthy.github.io/devMSMs/reference/createFormulas.html","id":null,"dir":"Reference","previous_headings":"","what":"Create balancing formulas — createFormulas","title":"Create balancing formulas — createFormulas","text":"Creates balancing formulas relating exposure relevant time-varying time invariant confounders exposure time point used create IPTW weights.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/createFormulas.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create balancing formulas — createFormulas","text":"","code":"createFormulas( obj, type = c(\"full\", \"short\", \"update\"), custom = NULL, keep_conf = NULL, bal_stats = NULL, verbose = FALSE, save.out = FALSE ) # S3 method for class 'devMSM_formulas' print(x, ...)"},{"path":"https://istallworthy.github.io/devMSMs/reference/createFormulas.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create balancing formulas — createFormulas","text":"obj initialized MSM object initMSM() type type formula create 'full' (includes lagged time-varying confounders), 'short' (includes time-varying confounders t-1 lag ), 'update' (adds 'short' formulas imbalanced time-varying confounders lags great t-1) custom (optional) custom list formulas exposure time point (default create automatically according type) keep_conf (optional) 'short' formulas , list variable names reflecting confounders included always. bal_stats list balance statistics assessBalance() verbose (optional) TRUE FALSE indicator printing output console. default FALSE. save.(optional) Either logical character string. TRUE, output result default file name within home_dir set initMSM(). can load data x <- readRDS(file). use non-default file name, specify character string file name. save relative home_dir. might naming conflicts two objects get saved file. cases, users specify custom name. default FALSE. x devMSM_formulas object createFormulas() ... ignored","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/createFormulas.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Create balancing formulas — createFormulas","text":"list containing balancing formulas. length number exposure variables.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/createFormulas.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create balancing formulas — createFormulas","text":"","code":"library(devMSMs) data <- data.frame( ID = 1:50, A.1 = rnorm(n = 50), A.2 = rnorm(n = 50), A.3 = rnorm(n = 50), B.1 = rnorm(n = 50), B.2 = rnorm(n = 50), B.3 = rnorm(n = 50), C = rnorm(n = 50), D.3 = rnorm(n = 50) ) obj <- initMSM( data, exposure = c(\"A.1\", \"A.2\", \"A.3\"), ti_conf = c(\"C\"), tv_conf = c(\"B.1\", \"B.2\", \"B.3\", \"D.3\") ) # Full Formulas f <- createFormulas(obj, type = \"full\") print(f) #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 1, the full formula for A.1 is: #> A.1 ~ C #> #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 2, the full formula for A.2 is: #> A.2 ~ C + B.1 + A.1 #> #> USER ALERT: Please manually inspect the full balancing formula below: #> At time point 3, the full formula for A.3 is: #> A.3 ~ C + B.1 + B.2 + A.1 + A.2 # Short Formulas f <- createFormulas(obj, type = \"short\") print(f) #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 1, the short formula for A.1 is: #> A.1 ~ C #> #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 2, the short formula for A.2 is: #> A.2 ~ C + B.1 + A.1 #> #> USER ALERT: Please manually inspect the short balancing formula below that includes time-varying confounders at t-1 only: #> At time point 3, the short formula for A.3 is: #> A.3 ~ C + B.2 + A.2 # Update Formulas w <- createWeights(data = data, formulas = f) b <- assessBalance(data = data, weights = w) f <- createFormulas(obj, type = \"update\", bal_stats = b) print(f) #> USER ALERT: Please manually inspect the updated balancing formula below that includes time-varying confounders at t-1 and those greater at further lags that remained imbalanced: #> At time point 1, the update formula for A.1 is: #> A.1 ~ C #> #> USER ALERT: Please manually inspect the updated balancing formula below that includes time-varying confounders at t-1 and those greater at further lags that remained imbalanced: #> At time point 2, the update formula for A.2 is: #> A.2 ~ C + B.1 + A.1 #> #> USER ALERT: Please manually inspect the updated balancing formula below that includes time-varying confounders at t-1 and those greater at further lags that remained imbalanced: #> At time point 3, the update formula for A.3 is: #> A.3 ~ C + B.2 + A.2 + A.1"},{"path":"https://istallworthy.github.io/devMSMs/reference/createWeights.html","id":null,"dir":"Reference","previous_headings":"","what":"Creates IPTW balancing weights — createWeights","title":"Creates IPTW balancing weights — createWeights","text":"Creates IPTW balancing weights user-specified exposure time point using balancing formulas relate exposure time point relevant confounders.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/createWeights.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Creates IPTW balancing weights — createWeights","text":"","code":"createWeights( data, formulas, method = \"glm\", verbose = FALSE, save.out = FALSE, ... ) # S3 method for class 'devMSM_weights' print(x, i = 1, ...) # S3 method for class 'devMSM_weights' plot(x, i = 1, save.out = FALSE, ...) # S3 method for class 'devMSM_weights' summary(object, i = 1, ...)"},{"path":"https://istallworthy.github.io/devMSMs/reference/createWeights.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Creates IPTW balancing weights — createWeights","text":"data data wide format : data frame, list imputed data frames, mids object mice package formulas list balancing formulas time point output createFormulas() method character string weightitMSM() balancing method abbreviation (default generalized linear models propensity score weighting \"glm\") verbose (optional) TRUE FALSE indicator printing output console. default FALSE. save.(optional) Either logical character string. TRUE, output result default file name within home_dir set initMSM(). can load data x <- readRDS(file). use non-default file name, specify character string file name. save relative home_dir. might naming conflicts two objects get saved file. cases, users specify custom name. default FALSE. ... arguments passed WeightIt::weightitMSM() summary.weightitMSM() x, object devMSM_weights object createWeights() multiply imputed datasets, selects imputation print results . Default = 1. = TRUE, imputed datasets looped . = NULL, average imputed datasets summarize . Ignored non-imputed data.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/createWeights.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Creates IPTW balancing weights — createWeights","text":"list containing WeightIt::weightitMSM() output. length number datasets (1 data.frame number imputed datasets).","code":""},{"path":[]},{"path":"https://istallworthy.github.io/devMSMs/reference/createWeights.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Creates IPTW balancing weights — createWeights","text":"","code":"library(devMSMs) data <- data.frame( ID = 1:50, A.1 = rnorm(n = 50), A.2 = rnorm(n = 50), A.3 = rnorm(n = 50), B.1 = rnorm(n = 50), B.2 = rnorm(n = 50), B.3 = rnorm(n = 50), C = rnorm(n = 50), D.3 = rnorm(n = 50) ) obj <- initMSM( data, exposure = c(\"A.1\", \"A.2\", \"A.3\"), ti_conf = c(\"C\"), tv_conf = c(\"B.1\", \"B.2\", \"B.3\", \"D.3\") ) f <- createFormulas(obj, type = \"short\") w <- createWeights(data = data, formulas = f) print(w) #> #> For the `glm` weighting method, the median weight value is 1.04 (SD = 0.41; range = 0.3-3). plot(w) # Methods from `WeightIt::weightitMSM` w <- createWeights(data = data, formulas = f, method = \"glm\") w <- createWeights(data = data, formulas = f, method = \"cbps\") w <- createWeights(data = data, formulas = f, method = \"gbm\") w <- createWeights(data = data, formulas = f, method = \"bart\") w <- createWeights(data = data, formulas = f, method = \"super\") #> Loading required package: nnls #> Warning: All algorithms have zero weight #> Warning: All metalearner coefficients are zero, predictions will all be equal to 0"},{"path":"https://istallworthy.github.io/devMSMs/reference/devMSMs-package.html","id":null,"dir":"Reference","previous_headings":"","what":"devMSMs: Implementing Marginal Structural Models with Longitudinal Data — devMSMs-package","title":"devMSMs: Implementing Marginal Structural Models with Longitudinal Data — devMSMs-package","text":"Functions implementing MSMS longitudinal data.","code":""},{"path":[]},{"path":"https://istallworthy.github.io/devMSMs/reference/devMSMs-package.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"devMSMs: Implementing Marginal Structural Models with Longitudinal Data — devMSMs-package","text":"Maintainer: Isabella Stallworthy istall@seas.upenn.edu Authors: Noah Greifer noah.greifer@gmail.com (ORCID) [contributor] Meriah DeJoseph meriahd@stanford.edu Emily Padrutt padru004@umn.edu Kyle Butts buttskyle96@gmail.com [contributor] Daniel Berry dberry@umn.edu","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/fitModel.html","id":null,"dir":"Reference","previous_headings":"","what":"Fit outcome model — fitModel","title":"Fit outcome model — fitModel","text":"Fits weighted marginal outcome model generalized linear model user's choosing, relating exposure main effects outcome using IPTW weights.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/fitModel.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Fit outcome model — fitModel","text":"","code":"fitModel( data, obj, weights = NULL, outcome, model = \"m0\", int_order = NA, covariates = NULL, family = gaussian(), link = \"identity\", verbose = FALSE, save.out = FALSE ) # S3 method for class 'devMSM_models' print(x, i = NA, save.out = FALSE, ...)"},{"path":"https://istallworthy.github.io/devMSMs/reference/fitModel.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Fit outcome model — fitModel","text":"data data wide format : data frame, list imputed data frames, mids object mice package obj initialized MSM object initMSM() weights list IPTW weights output createWeights() outcome name outcome variable \".timepoint\" suffix. See initMSM() details suffix model character indicating one following outcome models: \"m0\" (exposure main effects) \"m1\" (exposure main effects & covariates) \"m2\" (exposure main effects & interactions) \"m3\" (exposure main effects, interactions, & covariates) int_order integer specification highest order exposure main effects interaction, required interaction models (\"m2\", \"m3\") covariates list characters reflecting variable names covariates, required covariate models (\"m1\", \"m3\") family (optional) family function specification WeightIt::glm_weightit() model. link (optional) link function specification WeightIt::glm_weightit() model. verbose (optional) TRUE FALSE indicator printing output console. default FALSE. save.(optional) Either logical character string. TRUE, output result default file name within home_dir set initMSM(). can load data x <- readRDS(file). use non-default file name, specify character string file name. save relative home_dir. might naming conflicts two objects get saved file. cases, users specify custom name. default FALSE. x devMSM_models object fitModel multiply imputed datasets, selects imputation print results . Default = 1. = TRUE, imputed datasets looped . = NULL, average imputed datasets summarize . Ignored non-imputed data. ... ignored","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/fitModel.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Fit outcome model — fitModel","text":"list containing WeightIt::glm_weightit() model output. length number datasets (1 data.frame number imputed datasets)","code":""},{"path":[]},{"path":"https://istallworthy.github.io/devMSMs/reference/fitModel.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Fit outcome model — fitModel","text":"","code":"library(devMSMs) data <- data.frame( ID = 1:50, A.1 = rnorm(n = 50), A.2 = rnorm(n = 50), A.3 = rnorm(n = 50), B.1 = rnorm(n = 50), B.2 = rnorm(n = 50), B.3 = rnorm(n = 50), C = rnorm(n = 50), D.3 = rnorm(n = 50) ) obj <- initMSM( data, exposure = c(\"A.1\", \"A.2\", \"A.3\"), ti_conf = c(\"C\"), tv_conf = c(\"B.1\", \"B.2\", \"B.3\", \"D.3\") ) f <- createFormulas(obj, type = \"short\") w <- createWeights(data = data, formulas = f) fit_m0 <- fitModel( data = data, weights = w, outcome = \"D.3\", model = \"m0\" ) print(fit_m0) #> Please inspect the Wald test to determine if the exposures collectively predict significant variation in the outcome compared to a model without exposure terms. #> We strongly suggest only conducting history comparisons if the test is significant. #> #> Wald test #> Variance: HC0 robust (adjusted for estimation of weights) #> #> Model 1: D.3 ~ A.1 + A.2 + A.3 #> Model 2: D.3 ~ 1 #> #> Res.Df Df Chisq Pr(>Chisq) #> 1 46 #> 2 49 3 17.511 0.0005548 *** #> --- #> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 #> #> #> The marginal model, m0, is summarized below: #> +-------------+--------+-----------------+-------+ #> | | (1) | #> +-------------+--------+-----------------+-------+ #> | | Est. | CI | p | #> +=============+========+=================+=======+ #> | (Intercept) | 0.224 | [-0.011, 0.460] | 0.062 | #> +-------------+--------+-----------------+-------+ #> | A.1 | 0.350 | [0.141, 0.560] | 0.001 | #> +-------------+--------+-----------------+-------+ #> | A.2 | -0.186 | [-0.432, 0.060] | 0.139 | #> +-------------+--------+-----------------+-------+ #> | A.3 | -0.284 | [-0.682, 0.114] | 0.163 | #> +-------------+--------+-----------------+-------+ #> | Num.Obs. | 50 | | | #> +-------------+--------+-----------------+-------+ fit_m1 <- fitModel( data = data, weights = w, outcome = \"D.3\", model = \"m1\", covariates = c(\"C\") ) print(fit_m1) #> Please inspect the Wald test to determine if the exposures collectively predict significant variation in the outcome compared to a model without exposure terms. #> We strongly suggest only conducting history comparisons if the test is significant. #> #> Wald test #> Variance: HC0 robust (adjusted for estimation of weights) #> #> Model 1: D.3 ~ A.1 + A.2 + A.3 + C #> Model 2: D.3 ~ C #> #> Res.Df Df Chisq Pr(>Chisq) #> 1 45 #> 2 48 3 17.633 0.0005236 *** #> --- #> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 #> #> #> The marginal model, m1, is summarized below: #> +-------------+--------+-----------------+--------+ #> | | (1) | #> +-------------+--------+-----------------+--------+ #> | | Est. | CI | p | #> +=============+========+=================+========+ #> | (Intercept) | 0.222 | [-0.013, 0.458] | 0.064 | #> +-------------+--------+-----------------+--------+ #> | A.1 | 0.352 | [0.143, 0.561] | <0.001 | #> +-------------+--------+-----------------+--------+ #> | A.2 | -0.185 | [-0.432, 0.062] | 0.142 | #> +-------------+--------+-----------------+--------+ #> | A.3 | -0.287 | [-0.689, 0.116] | 0.163 | #> +-------------+--------+-----------------+--------+ #> | C | -0.044 | [-0.277, 0.188] | 0.708 | #> +-------------+--------+-----------------+--------+ #> | Num.Obs. | 50 | | | #> +-------------+--------+-----------------+--------+ fit_m2 <- fitModel( data = data, weights = w, outcome = \"D.3\", model = \"m2\", int_order = 2 ) print(fit_m2) #> Please inspect the Wald test to determine if the exposures collectively predict significant variation in the outcome compared to a model without exposure terms. #> We strongly suggest only conducting history comparisons if the test is significant. #> #> Wald test #> Variance: HC0 robust (adjusted for estimation of weights) #> #> Model 1: D.3 ~ A.1 + A.2 + A.3 + A.1 + A.2 + A.3 + A.1:A.2 + A.1:A.3 + A.2:A.3 #> Model 2: D.3 ~ 1 #> #> Res.Df Df Chisq Pr(>Chisq) #> 1 43 #> 2 49 6 19.785 0.003024 ** #> --- #> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 #> #> #> The marginal model, m2, is summarized below: #> +-------------+--------+-----------------+-------+ #> | | (1) | #> +-------------+--------+-----------------+-------+ #> | | Est. | CI | p | #> +=============+========+=================+=======+ #> | (Intercept) | 0.207 | [-0.031, 0.446] | 0.089 | #> +-------------+--------+-----------------+-------+ #> | A.1 | 0.404 | [0.161, 0.647] | 0.001 | #> +-------------+--------+-----------------+-------+ #> | A.2 | -0.145 | [-0.420, 0.131] | 0.303 | #> +-------------+--------+-----------------+-------+ #> | A.3 | -0.318 | [-0.650, 0.013] | 0.060 | #> +-------------+--------+-----------------+-------+ #> | A.1 × A.2 | 0.234 | [-0.036, 0.505] | 0.089 | #> +-------------+--------+-----------------+-------+ #> | A.1 × A.3 | -0.018 | [-0.364, 0.328] | 0.918 | #> +-------------+--------+-----------------+-------+ #> | A.2 × A.3 | 0.247 | [-0.090, 0.584] | 0.152 | #> +-------------+--------+-----------------+-------+ #> | Num.Obs. | 50 | | | #> +-------------+--------+-----------------+-------+ fit_m3 <- fitModel( data = data, weights = w, outcome = \"D.3\", model = \"m3\", int_order = 2, covariates = c(\"C\") ) print(fit_m3) #> Please inspect the Wald test to determine if the exposures collectively predict significant variation in the outcome compared to a model without exposure terms. #> We strongly suggest only conducting history comparisons if the test is significant. #> #> Wald test #> Variance: HC0 robust (adjusted for estimation of weights) #> #> Model 1: D.3 ~ A.1 + A.2 + A.3 + A.1 + A.2 + A.3 + C + A.1:A.2 + A.1:A.3 + A.1:C + A.2:A.3 + A.2:C + A.3:C #> Model 2: D.3 ~ C #> #> Res.Df Df Chisq Pr(>Chisq) #> 1 39 #> 2 48 9 23.536 0.005098 ** #> --- #> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 #> #> #> The marginal model, m3, is summarized below: #> +-------------+--------+------------------+--------+ #> | | (1) | #> +-------------+--------+------------------+--------+ #> | | Est. | CI | p | #> +=============+========+==================+========+ #> | (Intercept) | 0.187 | [-0.058, 0.432] | 0.134 | #> +-------------+--------+------------------+--------+ #> | A.1 | 0.422 | [0.182, 0.662] | <0.001 | #> +-------------+--------+------------------+--------+ #> | A.2 | -0.126 | [-0.411, 0.159] | 0.387 | #> +-------------+--------+------------------+--------+ #> | A.3 | -0.353 | [-0.654, -0.053] | 0.021 | #> +-------------+--------+------------------+--------+ #> | C | -0.137 | [-0.360, 0.087] | 0.231 | #> +-------------+--------+------------------+--------+ #> | A.1 × A.2 | 0.238 | [-0.067, 0.542] | 0.126 | #> +-------------+--------+------------------+--------+ #> | A.1 × A.3 | 0.013 | [-0.352, 0.377] | 0.946 | #> +-------------+--------+------------------+--------+ #> | A.1 × C | 0.156 | [-0.102, 0.414] | 0.236 | #> +-------------+--------+------------------+--------+ #> | A.2 × A.3 | 0.281 | [-0.051, 0.614] | 0.097 | #> +-------------+--------+------------------+--------+ #> | A.2 × C | 0.199 | [-0.055, 0.454] | 0.124 | #> +-------------+--------+------------------+--------+ #> | A.3 × C | -0.080 | [-0.432, 0.271] | 0.655 | #> +-------------+--------+------------------+--------+ #> | Num.Obs. | 50 | | | #> +-------------+--------+------------------+--------+"},{"path":"https://istallworthy.github.io/devMSMs/reference/initMSM.html","id":null,"dir":"Reference","previous_headings":"","what":"Initial step in devMSMs workflow — initMSM","title":"Initial step in devMSMs workflow — initMSM","text":"Initial step devMSMs workflow","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/initMSM.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Initial step in devMSMs workflow — initMSM","text":"","code":"initMSM( data, exposure, epoch = NULL, tv_conf, ti_conf = NULL, concur_conf = NULL, home_dir = NULL, sep = \"[\\\\._]\" )"},{"path":"https://istallworthy.github.io/devMSMs/reference/initMSM.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Initial step in devMSMs workflow — initMSM","text":"data data wide format : data frame, list imputed data frames, mids object mice package exposure names exposure variables \".timepoint\" suffix epoch (optional) group set exposure variables categories. Provide character vector corresponding category exposure tv_conf list time-varying confounders \".timepoint\" suffix, include exposure outcome variables (least time-varying exposure variables required ) ti_conf list time invariant confounders. Can left NULL none. concur_conf (optional) list variable names reflecting time-varying confounders retain formulas contemporaneously (default none) home_dir (optional) directory saving output. Either absolute path relative path respect getwd() sep (optional) seperator variable time period. variable names split last occurance sep second string containing time. uses regex notation, . must \\\\.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/initMSM.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Initial step in devMSMs workflow — initMSM","text":"object class devMSM contains initialized information.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/initMSM.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Initial step in devMSMs workflow — initMSM","text":".timepoint suffix, mean time-varying exposure variable names must end either .# _#. allows us extract time-period variable measured allow us properly create formulae (omitting future mediators)","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/initMSM.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Initial step in devMSMs workflow — initMSM","text":"","code":"data <- data.frame( A.1 = rnorm(n = 50), A.2 = rnorm(n = 50), A.3 = rnorm(n = 50), B.1 = rnorm(n = 50), B.2 = rnorm(n = 50), B.3 = rnorm(n = 50), D.3 = rnorm(n = 50), L.1 = sample(c(0, 1), size = 50, replace = TRUE), C = rnorm(n = 50) ) obj <- initMSM( data = data, exposure = c(\"A.1\", \"A.2\", \"A.3\"), tv_conf = c(\"B.1\", \"B.2\", \"B.3\", \"D.3\"), ti_conf = \"C\" ) obj #> Exposure (continuous): A.1, A.2, A.3 #> Variable and their encodings: #> var type time #> A.1 exposure 1 #> A.2 exposure 2 #> A.3 exposure 3 #> B.1 tv_conf 1 #> B.2 tv_conf 2 #> B.3 tv_conf 3 #> D.3 tv_conf 3 #> C ti_conf -1"},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_imp_list.rda.html","id":null,"dir":"Reference","previous_headings":"","what":"Wide data imputed and read in (continuous exposure) — sim_data_imp_list.rda","title":"Wide data imputed and read in (continuous exposure) — sim_data_imp_list.rda","text":"data simulated based data Family Life Project (FLP), longitudinal study following 1,292 families representative two geographic areas (three counties North Carolina three counties Pennsylvania) high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). MAR missingness added using missMethods package imputing mice package reading imputed dataset. data contain economic strain (ESEATA1) continuously distributed variable.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_imp_list.rda.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Wide data imputed and read in (continuous exposure) — sim_data_imp_list.rda","text":"","code":"sim_data_imp_list"},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_imp_list.rda.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Wide data imputed and read in (continuous exposure) — sim_data_imp_list.rda","text":"wide data frame 1,292 observations 36 measured variables collected one following time points: 6, 15, 24, 35, 58 months. \"ID\" subject id \"ESETA1\" continuous exposure economic strain \"StrDif_Tot.58\" continuous outcome behavioral problems \"InRatioCor\" continuous income--needs ratio \"PmEd2\" parent's education level (0-11 = less high school, 12 = GED, 13 = GED additional training, 14 = high school grad, 15 = high school additional training, 16 = college, 17 = associates degree, 18 = four year college degree, 19 = post college, 20 = masters degree, 21 = professional degree, 22 = PhD) \"state\" family's state residence (NC = North Carolina, PA = Pennslyvania) \"TcBlac2\" child's race (1 = Black, 0 = White) \"bioDadInHH2\" whether biological father lives family (1 = yes, 0 = ) \"HomeOwnd\" whether family owns home (1 = owned bought family, 2 = owned bought someone else, 3 = rented rent, 4 = occupied without payment rent) \"KFASTScr\" continuous score caregiver reading comprehension \"PmBlac2\" primary caregiver's race (1 = Black, 0 = White) \"PmAge2\" primary caregiver age years \"PmMrSt2\" caregiver marital status (1 = single, 2 = married living spouse, 3 = married living spouse, 4 = divorced, 5 = separated, 6 = widowed) \"RMomAgeU\" continuous age years biological mother caregiver born \"RHealth\" index general caregiver health (1 = excellent, 2 = good, 3 = good, 4 = fair, 5 = poor) \"RHasSO\" whether caregiver significant (1 = yes, 0 = ) \"SmokTotl\" total cigarettes biological mother smoked pregnant (1 = 21 cigarettes less, 2 = 2 - 99 cigarettes, 3 = 100 cigarettes) \"caregiv_health\" sum score caregiver health problems including emotional problems, ADHD, asthma, cancer, high blood pressure, limited mobility, learning disability, general subjective health, mental health, overwight, seizures, depression, diabetes \"peri_health\" sum score pregnancy/birth health including excessive vomitting, fetal distress, colic, alcohol, high blood pressure, heavy bleeding, infection, congenital issues, stay pediatric intensive care, labor induction, independent breathing birth, surgery, NICU, smoked pregnant, breach, excessive weight loss, incubation, water retention, c-section \"SWghtLB\" child birth weight pounds \"SurpPreg\" whether caregiver surprise pregnancy (1 = yes, 0 = ) \"DrnkFreq\" frequently caregiver drank pregnant (1 = never, 2 = twice, 3 = month, 4 = twice month, 5 = couple times/week, 6 = everyday) \"gov_assist\" sum score whether family received government benefits including early headstart, early intervention, food stamps, subsidized childcare, heating assistance, government housing, transportation, school free lunch, WIC, AFDC \"ALI_LE\" continuous child language expression \"B18Raw\" continuous caregiver total depression problems \"CORTB\" continuous child salivary cortisol rest \"EARS_TJo\" \"fscore\" continuous executive function factor score \"HOMEETA1\" continuous sociocognitive resources factor score \"IBRAttn\" continuous child total joint attention \"LESMnNeg\" continuous family negative life events \"LESMnPos\" continuous family positive life events \"MDI\" continuous child Bayely mental development index \"RHAsSO\" whether caregiver significant given time (1 = yes, 0 = ) \"SAAmylase\" continuous child salivary alpha amylase rest \"WndNbrhood\" continuous neighborhood safety","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_imp_list.rda.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Wide data imputed and read in (continuous exposure) — sim_data_imp_list.rda","text":"DeJoseph, M. L., Sifre, R. D., Raver, C. C., Blair, C. B., & Berry, D. (2021). Capturing Environmental Dimensions Adversity Resources Context Poverty Across Infancy Early Adolescence: Moderated Nonlinear Factor Model. Child Development, n/(n/). https://doi.org/10.1111/cdev.13504 Burchinal, M., Howes, C., Pianta, R., Bryant, D., Early, D., Clifford, R., & Barbarin, O. (2008). Predicting Child Outcomes End Kindergarten Quality Pre-Kindergarten Teacher–Child Interactions Instruction. Applied Developmental Science, 12(3), 140–153. https://doi.org/10.1080/10888690802199418 Vernon-Feagans, L., Cox, M., Willoughby, M., Burchinal, M., Garrett-Peters, P., Mills-Koonce, R., Garrett-Peiers, P., Conger, R. D., & Bauer, P. J. (2013). Family Life Project: Epidemiological Developmental Study Young Children Living Poor Rural Communities. Monographs Society Research Child Development, 78(5), –150. Willoughby, M. T., Blair, C. B., Wirth, R. J., & Greenberg, M. (2010). measurement executive function age 3 years: psychometric properties criterion validity new battery tasks. Psychological assessment, 22(2), 306.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_long_miss.rda.html","id":null,"dir":"Reference","previous_headings":"","what":"Long data with missingness (continuous exposure) — sim_data_long_miss.rda","title":"Long data with missingness (continuous exposure) — sim_data_long_miss.rda","text":"data simulated based data Family Life Project (FLP), longitudinal study following 1,292 families representative two geographic areas (three counties North Carolina three counties Pennsylvania) high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). MAR missingness added using missMethods package. data contain economic strain (ESEATA1) continuously distributed variable.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_long_miss.rda.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Long data with missingness (continuous exposure) — sim_data_long_miss.rda","text":"","code":"sim_data_long_miss"},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_long_miss.rda.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Long data with missingness (continuous exposure) — sim_data_long_miss.rda","text":"long data frame 6, 458 observations 36 measured variables collected one following time points: 6, 15, 24, 35, 58 months. \"ID\" subject id \"WAVE\" age (months) data collected \"ESETA1\" continuous exposure economic strain \"StrDif_Tot.58\" continuous outcome behavioral problems \"InRatioCor\" continuous income--needs ratio \"PmEd2\" parent's education level (0-11 = less high school, 12 = GED, 13 = GED additional training, 14 = high school grad, 15 = high school additional training, 16 = college, 17 = associates degree, 18 = four year college degree, 19 = post college, 20 = masters degree, 21 = professional degree, 22 = PhD) \"state\" family's state residence (NC = North Carolina, PA = Pennslyvania) \"TcBlac2\" child's race (1 = Black, 0 = White) \"bioDadInHH2\" whether biological father lives family (1 = yes, 0 = ) \"HomeOwnd\" whether family owns home (1 = owned bought family, 2 = owned bought someone else, 3 = rented rent, 4 = occupied without payment rent) \"KFASTScr\" continuous score caregiver reading comprehension \"PmBlac2\" primary caregiver's race (1 = Black, 0 = White) \"PmAge2\" primary caregiver age years \"PmMrSt2\" caregiver marital status (1 = single, 2 = married living spouse, 3 = married living spouse, 4 = divorced, 5 = separated, 6 = widowed) \"RMomAgeU\" continuous age years biological mother caregiver born \"RHealth\" index general caregiver health (1 = excellent, 2 = good, 3 = good, 4 = fair, 5 = poor) \"RHasSO\" whether caregiver significant (1 = yes, 0 = ) \"SmokTotl\" total cigarettes biological mother smoked pregnant (1 = 21 cigarettes less, 2 = 2 - 99 cigarettes, 3 = 100 cigarettes) \"caregiv_health\" sum score caregiver health problems including emotional problems, ADHD, asthma, cancer, high blood pressure, limited mobility, learning disability, general subjective health, mental health, overwight, seizures, depression, diabetes \"peri_health\" sum score pregnancy/birth health including excessive vomitting, fetal distress, colic, alcohol, high blood pressure, heavy bleeding, infection, congenital issues, stay pediatric intensive care, labor induction, independent breathing birth, surgery, NICU, smoked pregnant, breach, excessive weight loss, incubation, water retention, c-section \"SWghtLB\" child birth weight pounds \"SurpPreg\" whether caregiver surprise pregnancy (1 = yes, 0 = ) \"DrnkFreq\" frequently caregiver drank pregnant (1 = never, 2 = twice, 3 = month, 4 = twice month, 5 = couple times/week, 6 = everyday) \"gov_assist\" sum score whether family received government benefits including early headstart, early intervention, food stamps, subsidized childcare, heating assistance, government housing, transportation, school free lunch, WIC, AFDC \"ALI_LE\" continuous child language expression \"B18Raw\" continuous caregiver total depression problems \"CORTB\" continuous child salivary cortisol rest \"EARS_TJo\" \"fscore\" continuous executive function factor score \"HOMEETA1\" continuous sociocognitive resources factor score \"IBRAttn\" continuous child total joint attention \"LESMnNeg\" continuous family negative life events \"LESMnPos\" continuous family positive life events \"MDI\" continuous child Bayely mental development index \"RHAsSO\" whether caregiver significant given time (1 = yes, 0 = ) \"SAAmylase\" continuous child salivary alpha amylase rest \"WndNbrhood\" continuous neighborhood safety","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_long_miss.rda.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Long data with missingness (continuous exposure) — sim_data_long_miss.rda","text":"DeJoseph, M. L., Sifre, R. D., Raver, C. C., Blair, C. B., & Berry, D. (2021). Capturing Environmental Dimensions Adversity Resources Context Poverty Across Infancy Early Adolescence: Moderated Nonlinear Factor Model. Child Development, n/(n/). https://doi.org/10.1111/cdev.13504 Burchinal, M., Howes, C., Pianta, R., Bryant, D., Early, D., Clifford, R., & Barbarin, O. (2008). Predicting Child Outcomes End Kindergarten Quality Pre-Kindergarten Teacher–Child Interactions Instruction. Applied Developmental Science, 12(3), 140–153. https://doi.org/10.1080/10888690802199418 Vernon-Feagans, L., Cox, M., Willoughby, M., Burchinal, M., Garrett-Peters, P., Mills-Koonce, R., Garrett-Peiers, P., Conger, R. D., & Bauer, P. J. (2013). Family Life Project: Epidemiological Developmental Study Young Children Living Poor Rural Communities. Monographs Society Research Child Development, 78(5), –150. Willoughby, M. T., Blair, C. B., Wirth, R. J., & Greenberg, M. (2010). measurement executive function age 3 years: psychometric properties criterion validity new battery tasks. Psychological assessment, 22(2), 306.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_long_miss_bin.rda.html","id":null,"dir":"Reference","previous_headings":"","what":"Long data with missingness (binary exposure) — sim_data_long_miss_bin.rda","title":"Long data with missingness (binary exposure) — sim_data_long_miss_bin.rda","text":"data simulated based data Family Life Project (FLP), longitudinal study following 1,292 families representative two geographic areas (three counties North Carolina three counties Pennsylvania) high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). MAR missingness added using missMethods package. data contain economic strain (ESEATA1) binary variable.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_long_miss_bin.rda.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Long data with missingness (binary exposure) — sim_data_long_miss_bin.rda","text":"","code":"sim_data_long_miss_bin"},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_long_miss_bin.rda.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Long data with missingness (binary exposure) — sim_data_long_miss_bin.rda","text":"long data frame 6,458 observations 36 measured variables collected one following time points: 6, 15, 24, 35, 58 months. \"ID\" subject id \"WAVE\" age (months) data collected \"ESETA1\" continuous exposure economic strain \"StrDif_Tot.58\" continuous outcome behavioral problems \"InRatioCor\" continuous income--needs ratio \"PmEd2\" parent's education level (0-11 = less high school, 12 = GED, 13 = GED additional training, 14 = high school grad, 15 = high school additional training, 16 = college, 17 = associates degree, 18 = four year college degree, 19 = post college, 20 = masters degree, 21 = professional degree, 22 = PhD) \"state\" family's state residence (NC = North Carolina, PA = Pennslyvania) \"TcBlac2\" child's race (1 = Black, 0 = White) \"bioDadInHH2\" whether biological father lives family (1 = yes, 0 = ) \"HomeOwnd\" whether family owns home (1 = owned bought family, 2 = owned bought someone else, 3 = rented rent, 4 = occupied without payment rent) \"KFASTScr\" continuous score caregiver reading comprehension \"PmBlac2\" primary caregiver's race (1 = Black, 0 = White) \"PmAge2\" primary caregiver age years \"PmMrSt2\" caregiver marital status (1 = single, 2 = married living spouse, 3 = married living spouse, 4 = divorced, 5 = separated, 6 = widowed) \"RMomAgeU\" continuous age years biological mother caregiver born \"RHealth\" index general caregiver health (1 = excellent, 2 = good, 3 = good, 4 = fair, 5 = poor) \"RHasSO\" whether caregiver significant (1 = yes, 0 = ) \"SmokTotl\" total cigarettes biological mother smoked pregnant (1 = 21 cigarettes less, 2 = 2 - 99 cigarettes, 3 = 100 cigarettes) \"caregiv_health\" sum score caregiver health problems including emotional problems, ADHD, asthma, cancer, high blood pressure, limited mobility, learning disability, general subjective health, mental health, overwight, seizures, depression, diabetes \"peri_health\" sum score pregnancy/birth health including excessive vomitting, fetal distress, colic, alcohol, high blood pressure, heavy bleeding, infection, congenital issues, stay pediatric intensive care, labor induction, independent breathing birth, surgery, NICU, smoked pregnant, breach, excessive weight loss, incubation, water retention, c-section \"SWghtLB\" child birth weight pounds \"SurpPreg\" whether caregiver surprise pregnancy (1 = yes, 0 = ) \"DrnkFreq\" frequently caregiver drank pregnant (1 = never, 2 = twice, 3 = month, 4 = twice month, 5 = couple times/week, 6 = everyday) \"gov_assist\" sum score whether family received government benefits including early headstart, early intervention, food stamps, subsidized childcare, heating assistance, government housing, transportation, school free lunch, WIC, AFDC \"ALI_LE\" continuous child language expression \"B18Raw\" continuous caregiver total depression problems \"CORTB\" continuous child salivary cortisol rest \"EARS_TJo\" \"fscore\" continuous executive function factor score \"HOMEETA1\" continuous sociocognitive resources factor score \"IBRAttn\" continuous child total joint attention \"LESMnNeg\" continuous family negative life events \"LESMnPos\" continuous family positive life events \"MDI\" continuous child Bayely mental development index \"RHAsSO\" whether caregiver significant given time (1 = yes, 0 = ) \"SAAmylase\" continuous child salivary alpha amylase rest \"WndNbrhood\" continuous neighborhood safety #' @references DeJoseph, M. L., Sifre, R. D., Raver, C. C., Blair, C. B., & Berry, D. (2021). Capturing Environmental Dimensions Adversity Resources Context Poverty Across Infancy Early Adolescence: Moderated Nonlinear Factor Model. Child Development, n/(n/). https://doi.org/10.1111/cdev.13504 Burchinal, M., Howes, C., Pianta, R., Bryant, D., Early, D., Clifford, R., & Barbarin, O. (2008). Predicting Child Outcomes End Kindergarten Quality Pre-Kindergarten Teacher–Child Interactions Instruction. Applied Developmental Science, 12(3), 140–153. https://doi.org/10.1080/10888690802199418 Vernon-Feagans, L., Cox, M., Willoughby, M., Burchinal, M., Garrett-Peters, P., Mills-Koonce, R., Garrett-Peiers, P., Conger, R. D., & Bauer, P. J. (2013). Family Life Project: Epidemiological Developmental Study Young Children Living Poor Rural Communities. Monographs Society Research Child Development, 78(5), –150. Willoughby, M. T., Blair, C. B., Wirth, R. J., & Greenberg, M. (2010). measurement executive function age 3 years: psychometric properties criterion validity new battery tasks. Psychological assessment, 22(2), 306.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_mice.rda.html","id":null,"dir":"Reference","previous_headings":"","what":"Wide data imputed with mice (continuous exposure) — sim_data_mice.rda","title":"Wide data imputed with mice (continuous exposure) — sim_data_mice.rda","text":"data simulated based data Family Life Project (FLP), longitudinal study following 1,292 families representative two geographic areas (three counties North Carolina three counties Pennsylvania) high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). MAR missingness added using missMethods package prior imputation using mice via random forest. data contain economic strain (ESEATA1) continuously distributed variable.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_mice.rda.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Wide data imputed with mice (continuous exposure) — sim_data_mice.rda","text":"","code":"sim_data_mice"},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_mice.rda.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Wide data imputed with mice (continuous exposure) — sim_data_mice.rda","text":"wide data frame 1,292 observations 36 measured variables collected one following time points: 6, 15, 24, 35, 58 months. \"ID\" subject id \"ESETA1\" continuous exposure economic strain \"StrDif_Tot.58\" continuous outcome behavioral problems \"InRatioCor\" continuous income--needs ratio \"PmEd2\" parent's education level (0-11 = less high school, 12 = GED, 13 = GED additional training, 14 = high school grad, 15 = high school additional training, 16 = college, 17 = associates degree, 18 = four year college degree, 19 = post college, 20 = masters degree, 21 = professional degree, 22 = PhD) \"state\" family's state residence (NC = North Carolina, PA = Pennslyvania) \"TcBlac2\" child's race (1 = Black, 0 = White) \"bioDadInHH2\" whether biological father lives family (1 = yes, 0 = ) \"HomeOwnd\" whether family owns home (1 = owned bought family, 2 = owned bought someone else, 3 = rented rent, 4 = occupied without payment rent) \"KFASTScr\" continuous score caregiver reading comprehension \"PmBlac2\" primary caregiver's race (1 = Black, 0 = White) \"PmAge2\" primary caregiver age years \"PmMrSt2\" caregiver marital status (1 = single, 2 = married living spouse, 3 = married living spouse, 4 = divorced, 5 = separated, 6 = widowed) \"RMomAgeU\" continuous age years biological mother caregiver born \"RHealth\" index general caregiver health (1 = excellent, 2 = good, 3 = good, 4 = fair, 5 = poor) \"RHasSO\" whether caregiver significant (1 = yes, 0 = ) \"SmokTotl\" total cigarettes biological mother smoked pregnant (1 = 21 cigarettes less, 2 = 2 - 99 cigarettes, 3 = 100 cigarettes) \"caregiv_health\" sum score caregiver health problems including emotional problems, ADHD, asthma, cancer, high blood pressure, limited mobility, learning disability, general subjective health, mental health, overwight, seizures, depression, diabetes \"peri_health\" sum score pregnancy/birth health including excessive vomitting, fetal distress, colic, alcohol, high blood pressure, heavy bleeding, infection, congenital issues, stay pediatric intensive care, labor induction, independent breathing birth, surgery, NICU, smoked pregnant, breach, excessive weight loss, incubation, water retention, c-section \"SWghtLB\" child birth weight pounds \"SurpPreg\" whether caregiver surprise pregnancy (1 = yes, 0 = ) \"DrnkFreq\" frequently caregiver drank pregnant (1 = never, 2 = twice, 3 = month, 4 = twice month, 5 = couple times/week, 6 = everyday) \"gov_assist\" sum score whether family received government benefits including early headstart, early intervention, food stamps, subsidized childcare, heating assistance, government housing, transportation, school free lunch, WIC, AFDC \"ALI_LE\" continuous child language expression \"B18Raw\" continuous caregiver total depression problems \"CORTB\" continuous child salivary cortisol rest \"EARS_TJo\" \"fscore\" continuous executive function factor score \"HOMEETA1\" continuous sociocognitive resources factor score \"IBRAttn\" continuous child total joint attention \"LESMnNeg\" continuous family negative life events \"LESMnPos\" continuous family positive life events \"MDI\" continuous child Bayely mental development index \"RHAsSO\" whether caregiver significant given time (1 = yes, 0 = ) \"SAAmylase\" continuous child salivary alpha amylase rest \"WndNbrhood\" continuous neighborhood safety","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_mice.rda.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Wide data imputed with mice (continuous exposure) — sim_data_mice.rda","text":"DeJoseph, M. L., Sifre, R. D., Raver, C. C., Blair, C. B., & Berry, D. (2021). Capturing Environmental Dimensions Adversity Resources Context Poverty Across Infancy Early Adolescence: Moderated Nonlinear Factor Model. Child Development, n/(n/). https://doi.org/10.1111/cdev.13504 Burchinal, M., Howes, C., Pianta, R., Bryant, D., Early, D., Clifford, R., & Barbarin, O. (2008). Predicting Child Outcomes End Kindergarten Quality Pre-Kindergarten Teacher–Child Interactions Instruction. Applied Developmental Science, 12(3), 140–153. https://doi.org/10.1080/10888690802199418 Vernon-Feagans, L., Cox, M., Willoughby, M., Burchinal, M., Garrett-Peters, P., Mills-Koonce, R., Garrett-Peiers, P., Conger, R. D., & Bauer, P. J. (2013). Family Life Project: Epidemiological Developmental Study Young Children Living Poor Rural Communities. Monographs Society Research Child Development, 78(5), –150. Willoughby, M. T., Blair, C. B., Wirth, R. J., & Greenberg, M. (2010). measurement executive function age 3 years: psychometric properties criterion validity new battery tasks. Psychological assessment, 22(2), 306.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_wide.rda.html","id":null,"dir":"Reference","previous_headings":"","what":"Wide complete data (continuous exposure) These data are simulated based on data from the Family Life Project (FLP), a longitudinal study following 1,292 families representative of two geographic areas (three counties in North Carolina and three counties in Pennsylvania) with high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). These data contain economic strain (ESEATA1) as a continuously distributed variable and have no missing data. — sim_data_wide.rda","title":"Wide complete data (continuous exposure) These data are simulated based on data from the Family Life Project (FLP), a longitudinal study following 1,292 families representative of two geographic areas (three counties in North Carolina and three counties in Pennsylvania) with high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). These data contain economic strain (ESEATA1) as a continuously distributed variable and have no missing data. — sim_data_wide.rda","text":"Wide complete data (continuous exposure) data simulated based data Family Life Project (FLP), longitudinal study following 1,292 families representative two geographic areas (three counties North Carolina three counties Pennsylvania) high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). data contain economic strain (ESEATA1) continuously distributed variable missing data.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_wide.rda.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Wide complete data (continuous exposure) These data are simulated based on data from the Family Life Project (FLP), a longitudinal study following 1,292 families representative of two geographic areas (three counties in North Carolina and three counties in Pennsylvania) with high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). These data contain economic strain (ESEATA1) as a continuously distributed variable and have no missing data. — sim_data_wide.rda","text":"","code":"sim_data_wide"},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_wide.rda.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Wide complete data (continuous exposure) These data are simulated based on data from the Family Life Project (FLP), a longitudinal study following 1,292 families representative of two geographic areas (three counties in North Carolina and three counties in Pennsylvania) with high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). These data contain economic strain (ESEATA1) as a continuously distributed variable and have no missing data. — sim_data_wide.rda","text":"wide data frame 1,292 observations 36 measured variables collected one following time points: 6, 15, 24, 35, 58 months. \"ID\" subject id \"ESETA1\" continuous exposure economic strain \"StrDif_Tot.58\" continuous outcome behavioral problems \"InRatioCor\" continuous income--needs ratio \"PmEd2\" parent's education level (0-11 = less high school, 12 = GED, 13 = GED additional training, 14 = high school grad, 15 = high school additional training, 16 = college, 17 = associates degree, 18 = four year college degree, 19 = post college, 20 = masters degree, 21 = professional degree, 22 = PhD) \"state\" family's state residence (NC = North Carolina, PA = Pennslyvania) \"TcBlac2\" child's race (1 = Black, 0 = White) \"bioDadInHH2\" whether biological father lives family (1 = yes, 0 = ) \"HomeOwnd\" whether family owns home (1 = owned bought family, 2 = owned bought someone else, 3 = rented rent, 4 = occupied without payment rent) \"KFASTScr\" continuous score caregiver reading comprehension \"PmBlac2\" primary caregiver's race (1 = Black, 0 = White) \"PmAge2\" primary caregiver age years \"PmMrSt2\" caregiver marital status (1 = single, 2 = married living spouse, 3 = married living spouse, 4 = divorced, 5 = separated, 6 = widowed) \"RMomAgeU\" continuous age years biological mother caregiver born \"RHealth\" index general caregiver health (1 = excellent, 2 = good, 3 = good, 4 = fair, 5 = poor) \"RHasSO\" whether caregiver significant (1 = yes, 0 = ) \"SmokTotl\" total cigarettes biological mother smoked pregnant (1 = 21 cigarettes less, 2 = 2 - 99 cigarettes, 3 = 100 cigarettes) \"caregiv_health\" sum score caregiver health problems including emotional problems, ADHD, asthma, cancer, high blood pressure, limited mobility, learning disability, general subjective health, mental health, overwight, seizures, depression, diabetes \"peri_health\" sum score pregnancy/birth health including excessive vomitting, fetal distress, colic, alcohol, high blood pressure, heavy bleeding, infection, congenital issues, stay pediatric intensive care, labor induction, independent breathing birth, surgery, NICU, smoked pregnant, breach, excessive weight loss, incubation, water retention, c-section \"SWghtLB\" child birth weight pounds \"SurpPreg\" whether caregiver surprise pregnancy (1 = yes, 0 = ) \"DrnkFreq\" frequently caregiver drank pregnant (1 = never, 2 = twice, 3 = month, 4 = twice month, 5 = couple times/week, 6 = everyday) \"gov_assist\" sum score whether family received government benefits including early headstart, early intervention, food stamps, subsidized childcare, heating assistance, government housing, transportation, school free lunch, WIC, AFDC \"ALI_LE\" continuous child language expression \"B18Raw\" continuous caregiver total depression problems \"CORTB\" continuous child salivary cortisol rest \"EARS_TJo\" \"fscore\" continuous executive function factor score \"HOMEETA1\" continuous sociocognitive resources factor score \"IBRAttn\" continuous child total joint attention \"LESMnNeg\" continuous family negative life events \"LESMnPos\" continuous family positive life events \"MDI\" continuous child Bayely mental development index \"RHAsSO\" whether caregiver significant given time (1 = yes, 0 = ) \"SAAmylase\" continuous child salivary alpha amylase rest \"WndNbrhood\" continuous neighborhood safety","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_wide.rda.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Wide complete data (continuous exposure) These data are simulated based on data from the Family Life Project (FLP), a longitudinal study following 1,292 families representative of two geographic areas (three counties in North Carolina and three counties in Pennsylvania) with high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). These data contain economic strain (ESEATA1) as a continuously distributed variable and have no missing data. — sim_data_wide.rda","text":"DeJoseph, M. L., Sifre, R. D., Raver, C. C., Blair, C. B., & Berry, D. (2021). Capturing Environmental Dimensions Adversity Resources Context Poverty Across Infancy Early Adolescence: Moderated Nonlinear Factor Model. Child Development, n/(n/). https://doi.org/10.1111/cdev.13504 Burchinal, M., Howes, C., Pianta, R., Bryant, D., Early, D., Clifford, R., & Barbarin, O. (2008). Predicting Child Outcomes End Kindergarten Quality Pre-Kindergarten Teacher–Child Interactions Instruction. Applied Developmental Science, 12(3), 140–153. https://doi.org/10.1080/10888690802199418 Vernon-Feagans, L., Cox, M., Willoughby, M., Burchinal, M., Garrett-Peters, P., Mills-Koonce, R., Garrett-Peiers, P., Conger, R. D., & Bauer, P. J. (2013). Family Life Project: Epidemiological Developmental Study Young Children Living Poor Rural Communities. Monographs Society Research Child Development, 78(5), –150. Willoughby, M. T., Blair, C. B., Wirth, R. J., & Greenberg, M. (2010). measurement executive function age 3 years: psychometric properties criterion validity new battery tasks. Psychological assessment, 22(2), 306.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_wide_bin.rda.html","id":null,"dir":"Reference","previous_headings":"","what":"Wide complete data (binary exposure) These data are simulated based on data from the Family Life Project (FLP), a longitudinal study following 1,292 families representative of two geographic areas (three counties in North Carolina and three counties in Pennsylvania) with high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). These data contain economic strain (ESEATA1) as a binary variable, and have no missing data. — sim_data_wide_bin.rda","title":"Wide complete data (binary exposure) These data are simulated based on data from the Family Life Project (FLP), a longitudinal study following 1,292 families representative of two geographic areas (three counties in North Carolina and three counties in Pennsylvania) with high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). These data contain economic strain (ESEATA1) as a binary variable, and have no missing data. — sim_data_wide_bin.rda","text":"Wide complete data (binary exposure) data simulated based data Family Life Project (FLP), longitudinal study following 1,292 families representative two geographic areas (three counties North Carolina three counties Pennsylvania) high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). data contain economic strain (ESEATA1) binary variable, missing data.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_wide_bin.rda.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Wide complete data (binary exposure) These data are simulated based on data from the Family Life Project (FLP), a longitudinal study following 1,292 families representative of two geographic areas (three counties in North Carolina and three counties in Pennsylvania) with high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). These data contain economic strain (ESEATA1) as a binary variable, and have no missing data. — sim_data_wide_bin.rda","text":"","code":"sim_data_wide_bin"},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_wide_bin.rda.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Wide complete data (binary exposure) These data are simulated based on data from the Family Life Project (FLP), a longitudinal study following 1,292 families representative of two geographic areas (three counties in North Carolina and three counties in Pennsylvania) with high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). These data contain economic strain (ESEATA1) as a binary variable, and have no missing data. — sim_data_wide_bin.rda","text":"wide data frame 1,292 observations 36 measured variables collected one following time points: 6, 15, 24, 35, 58 months. \"ID\" subject id \"ESETA1\" continuous exposure economic strain \"StrDif_Tot.58\" continuous outcome behavioral problems \"InRatioCor\" continuous income--needs ratio \"PmEd2\" parent's education level (0-11 = less high school, 12 = GED, 13 = GED additional training, 14 = high school grad, 15 = high school additional training, 16 = college, 17 = associates degree, 18 = four year college degree, 19 = post college, 20 = masters degree, 21 = professional degree, 22 = PhD) \"state\" family's state residence (NC = North Carolina, PA = Pennslyvania) \"TcBlac2\" child's race (1 = Black, 0 = White) \"bioDadInHH2\" whether biological father lives family (1 = yes, 0 = ) \"HomeOwnd\" whether family owns home (1 = owned bought family, 2 = owned bought someone else, 3 = rented rent, 4 = occupied without payment rent) \"KFASTScr\" continuous score caregiver reading comprehension \"PmBlac2\" primary caregiver's race (1 = Black, 0 = White) \"PmAge2\" primary caregiver age years \"PmMrSt2\" caregiver marital status (1 = single, 2 = married living spouse, 3 = married living spouse, 4 = divorced, 5 = separated, 6 = widowed) \"RMomAgeU\" continuous age years biological mother caregiver born \"RHealth\" index general caregiver health (1 = excellent, 2 = good, 3 = good, 4 = fair, 5 = poor) \"RHasSO\" whether caregiver significant (1 = yes, 0 = ) \"SmokTotl\" total cigarettes biological mother smoked pregnant (1 = 21 cigarettes less, 2 = 2 - 99 cigarettes, 3 = 100 cigarettes) \"caregiv_health\" sum score caregiver health problems including emotional problems, ADHD, asthma, cancer, high blood pressure, limited mobility, learning disability, general subjective health, mental health, overwight, seizures, depression, diabetes \"peri_health\" sum score pregnancy/birth health including excessive vomitting, fetal distress, colic, alcohol, high blood pressure, heavy bleeding, infection, congenital issues, stay pediatric intensive care, labor induction, independent breathing birth, surgery, NICU, smoked pregnant, breach, excessive weight loss, incubation, water retention, c-section \"SWghtLB\" child birth weight pounds \"SurpPreg\" whether caregiver surprise pregnancy (1 = yes, 0 = ) \"DrnkFreq\" frequently caregiver drank pregnant (1 = never, 2 = twice, 3 = month, 4 = twice month, 5 = couple times/week, 6 = everyday) \"gov_assist\" sum score whether family received government benefits including early headstart, early intervention, food stamps, subsidized childcare, heating assistance, government housing, transportation, school free lunch, WIC, AFDC \"ALI_LE\" continuous child language expression \"B18Raw\" continuous caregiver total depression problems \"CORTB\" continuous child salivary cortisol rest \"EARS_TJo\" \"fscore\" continuous executive function factor score \"HOMEETA1\" continuous sociocognitive resources factor score \"IBRAttn\" continuous child total joint attention \"LESMnNeg\" continuous family negative life events \"LESMnPos\" continuous family positive life events \"MDI\" continuous child Bayely mental development index \"RHAsSO\" whether caregiver significant given time (1 = yes, 0 = ) \"SAAmylase\" continuous child salivary alpha amylase rest \"WndNbrhood\" continuous neighborhood safety","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_wide_bin.rda.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Wide complete data (binary exposure) These data are simulated based on data from the Family Life Project (FLP), a longitudinal study following 1,292 families representative of two geographic areas (three counties in North Carolina and three counties in Pennsylvania) with high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). These data contain economic strain (ESEATA1) as a binary variable, and have no missing data. — sim_data_wide_bin.rda","text":"DeJoseph, M. L., Sifre, R. D., Raver, C. C., Blair, C. B., & Berry, D. (2021). Capturing Environmental Dimensions Adversity Resources Context Poverty Across Infancy Early Adolescence: Moderated Nonlinear Factor Model. Child Development, n/(n/). https://doi.org/10.1111/cdev.13504 Burchinal, M., Howes, C., Pianta, R., Bryant, D., Early, D., Clifford, R., & Barbarin, O. (2008). Predicting Child Outcomes End Kindergarten Quality Pre-Kindergarten Teacher–Child Interactions Instruction. Applied Developmental Science, 12(3), 140–153. https://doi.org/10.1080/10888690802199418 Vernon-Feagans, L., Cox, M., Willoughby, M., Burchinal, M., Garrett-Peters, P., Mills-Koonce, R., Garrett-Peiers, P., Conger, R. D., & Bauer, P. J. (2013). Family Life Project: Epidemiological Developmental Study Young Children Living Poor Rural Communities. Monographs Society Research Child Development, 78(5), –150. Willoughby, M. T., Blair, C. B., Wirth, R. J., & Greenberg, M. (2010). measurement executive function age 3 years: psychometric properties criterion validity new battery tasks. Psychological assessment, 22(2), 306.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_wide_miss.rda.html","id":null,"dir":"Reference","previous_headings":"","what":"Wide data with missingness (continuous exposure) — sim_data_wide_miss.rda","title":"Wide data with missingness (continuous exposure) — sim_data_wide_miss.rda","text":"data simulated based data Family Life Project (FLP), longitudinal study following 1,292 families representative two geographic areas (three counties North Carolina three counties Pennsylvania) high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). MAR missingness added using missMethods package. data contain economic strain (ESEATA1) continuously distributed variable.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_wide_miss.rda.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Wide data with missingness (continuous exposure) — sim_data_wide_miss.rda","text":"","code":"sim_data_wide_miss"},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_wide_miss.rda.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Wide data with missingness (continuous exposure) — sim_data_wide_miss.rda","text":"wide data frame 1,292 observations 36 measured variables collected one following time points: 6, 15, 24, 35, 58 months. \"ID\" subject id \"ESETA1\" continuous exposure economic strain \"StrDif_Tot.58\" continuous outcome behavioral problems \"InRatioCor\" continuous income--needs ratio \"PmEd2\" parent's education level (0-11 = less high school, 12 = GED, 13 = GED additional training, 14 = high school grad, 15 = high school additional training, 16 = college, 17 = associates degree, 18 = four year college degree, 19 = post college, 20 = masters degree, 21 = professional degree, 22 = PhD) \"state\" family's state residence (NC = North Carolina, PA = Pennslyvania) \"TcBlac2\" child's race (1 = Black, 0 = White) \"bioDadInHH2\" whether biological father lives family (1 = yes, 0 = ) \"HomeOwnd\" whether family owns home (1 = owned bought family, 2 = owned bought someone else, 3 = rented rent, 4 = occupied without payment rent) \"KFASTScr\" continuous score caregiver reading comprehension \"PmBlac2\" primary caregiver's race (1 = Black, 0 = White) \"PmAge2\" primary caregiver age years \"PmMrSt2\" caregiver marital status (1 = single, 2 = married living spouse, 3 = married living spouse, 4 = divorced, 5 = separated, 6 = widowed) \"RMomAgeU\" continuous age years biological mother caregiver born \"RHealth\" index general caregiver health (1 = excellent, 2 = good, 3 = good, 4 = fair, 5 = poor) \"RHasSO\" whether caregiver significant (1 = yes, 0 = ) \"SmokTotl\" total cigarettes biological mother smoked pregnant (1 = 21 cigarettes less, 2 = 2 - 99 cigarettes, 3 = 100 cigarettes) \"caregiv_health\" sum score caregiver health problems including emotional problems, ADHD, asthma, cancer, high blood pressure, limited mobility, learning disability, general subjective health, mental health, overwight, seizures, depression, diabetes \"peri_health\" sum score pregnancy/birth health including excessive vomitting, fetal distress, colic, alcohol, high blood pressure, heavy bleeding, infection, congenital issues, stay pediatric intensive care, labor induction, independent breathing birth, surgery, NICU, smoked pregnant, breach, excessive weight loss, incubation, water retention, c-section \"SWghtLB\" child birth weight pounds \"SurpPreg\" whether caregiver surprise pregnancy (1 = yes, 0 = ) \"DrnkFreq\" frequently caregiver drank pregnant (1 = never, 2 = twice, 3 = month, 4 = twice month, 5 = couple times/week, 6 = everyday) \"gov_assist\" sum score whether family received government benefits including early headstart, early intervention, food stamps, subsidized childcare, heating assistance, government housing, transportation, school free lunch, WIC, AFDC \"ALI_LE\" continuous child language expression \"B18Raw\" continuous caregiver total depression problems \"CORTB\" continuous child salivary cortisol rest \"EARS_TJo\" \"fscore\" continuous executive function factor score \"HOMEETA1\" continuous sociocognitive resources factor score \"IBRAttn\" continuous child total joint attention \"LESMnNeg\" continuous family negative life events \"LESMnPos\" continuous family positive life events \"MDI\" continuous child Bayely mental development index \"RHAsSO\" whether caregiver significant given time (1 = yes, 0 = ) \"SAAmylase\" continuous child salivary alpha amylase rest \"WndNbrhood\" continuous neighborhood safety","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_wide_miss.rda.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Wide data with missingness (continuous exposure) — sim_data_wide_miss.rda","text":"DeJoseph, M. L., Sifre, R. D., Raver, C. C., Blair, C. B., & Berry, D. (2021). Capturing Environmental Dimensions Adversity Resources Context Poverty Across Infancy Early Adolescence: Moderated Nonlinear Factor Model. Child Development, n/(n/). https://doi.org/10.1111/cdev.13504 Burchinal, M., Howes, C., Pianta, R., Bryant, D., Early, D., Clifford, R., & Barbarin, O. (2008). Predicting Child Outcomes End Kindergarten Quality Pre-Kindergarten Teacher–Child Interactions Instruction. Applied Developmental Science, 12(3), 140–153. https://doi.org/10.1080/10888690802199418 Vernon-Feagans, L., Cox, M., Willoughby, M., Burchinal, M., Garrett-Peters, P., Mills-Koonce, R., Garrett-Peiers, P., Conger, R. D., & Bauer, P. J. (2013). Family Life Project: Epidemiological Developmental Study Young Children Living Poor Rural Communities. Monographs Society Research Child Development, 78(5), –150. Willoughby, M. T., Blair, C. B., Wirth, R. J., & Greenberg, M. (2010). measurement executive function age 3 years: psychometric properties criterion validity new battery tasks. Psychological assessment, 22(2), 306.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_wide_miss_bin.rda.html","id":null,"dir":"Reference","previous_headings":"","what":"Wide data with missingness (binary exposure) — sim_data_wide_miss_bin.rda","title":"Wide data with missingness (binary exposure) — sim_data_wide_miss_bin.rda","text":"data simulated based data Family Life Project (FLP), longitudinal study following 1,292 families representative two geographic areas (three counties North Carolina three counties Pennsylvania) high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). MAR missingness added using missMethods package. data contain economic strain (ESEATA1) binary variable.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_wide_miss_bin.rda.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Wide data with missingness (binary exposure) — sim_data_wide_miss_bin.rda","text":"","code":"sim_data_wide_miss_bin"},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_wide_miss_bin.rda.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Wide data with missingness (binary exposure) — sim_data_wide_miss_bin.rda","text":"wide data frame 1,292 observations 36 measured variables collected one following time points: 6, 15, 24, 35, 58 months. \"ID\" subject id \"ESETA1\" continuous exposure economic strain \"StrDif_Tot.58\" continuous outcome behavioral problems \"InRatioCor\" continuous income--needs ratio \"PmEd2\" parent's education level (0-11 = less high school, 12 = GED, 13 = GED additional training, 14 = high school grad, 15 = high school additional training, 16 = college, 17 = associates degree, 18 = four year college degree, 19 = post college, 20 = masters degree, 21 = professional degree, 22 = PhD) \"state\" family's state residence (NC = North Carolina, PA = Pennslyvania) \"TcBlac2\" child's race (1 = Black, 0 = White) \"bioDadInHH2\" whether biological father lives family (1 = yes, 0 = ) \"HomeOwnd\" whether family owns home (1 = owned bought family, 2 = owned bought someone else, 3 = rented rent, 4 = occupied without payment rent) \"KFASTScr\" continuous score caregiver reading comprehension \"PmBlac2\" primary caregiver's race (1 = Black, 0 = White) \"PmAge2\" primary caregiver age years \"PmMrSt2\" caregiver marital status (1 = single, 2 = married living spouse, 3 = married living spouse, 4 = divorced, 5 = separated, 6 = widowed) \"RMomAgeU\" continuous age years biological mother caregiver born \"RHealth\" index general caregiver health (1 = excellent, 2 = good, 3 = good, 4 = fair, 5 = poor) \"RHasSO\" whether caregiver significant (1 = yes, 0 = ) \"SmokTotl\" total cigarettes biological mother smoked pregnant (1 = 21 cigarettes less, 2 = 2 - 99 cigarettes, 3 = 100 cigarettes) \"caregiv_health\" sum score caregiver health problems including emotional problems, ADHD, asthma, cancer, high blood pressure, limited mobility, learning disability, general subjective health, mental health, overwight, seizures, depression, diabetes \"peri_health\" sum score pregnancy/birth health including excessive vomitting, fetal distress, colic, alcohol, high blood pressure, heavy bleeding, infection, congenital issues, stay pediatric intensive care, labor induction, independent breathing birth, surgery, NICU, smoked pregnant, breach, excessive weight loss, incubation, water retention, c-section \"SWghtLB\" child birth weight pounds \"SurpPreg\" whether caregiver surprise pregnancy (1 = yes, 0 = ) \"DrnkFreq\" frequently caregiver drank pregnant (1 = never, 2 = twice, 3 = month, 4 = twice month, 5 = couple times/week, 6 = everyday) \"gov_assist\" sum score whether family received government benefits including early headstart, early intervention, food stamps, subsidized childcare, heating assistance, government housing, transportation, school free lunch, WIC, AFDC \"ALI_LE\" continuous child language expression \"B18Raw\" continuous caregiver total depression problems \"CORTB\" continuous child salivary cortisol rest \"EARS_TJo\" \"fscore\" continuous executive function factor score \"HOMEETA1\" continuous sociocognitive resources factor score \"IBRAttn\" continuous child total joint attention \"LESMnNeg\" continuous family negative life events \"LESMnPos\" continuous family positive life events \"MDI\" continuous child Bayely mental development index \"RHAsSO\" whether caregiver significant given time (1 = yes, 0 = ) \"SAAmylase\" continuous child salivary alpha amylase rest \"WndNbrhood\" continuous neighborhood safety","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/sim_data_wide_miss_bin.rda.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Wide data with missingness (binary exposure) — sim_data_wide_miss_bin.rda","text":"DeJoseph, M. L., Sifre, R. D., Raver, C. C., Blair, C. B., & Berry, D. (2021). Capturing Environmental Dimensions Adversity Resources Context Poverty Across Infancy Early Adolescence: Moderated Nonlinear Factor Model. Child Development, n/(n/). https://doi.org/10.1111/cdev.13504 Burchinal, M., Howes, C., Pianta, R., Bryant, D., Early, D., Clifford, R., & Barbarin, O. (2008). Predicting Child Outcomes End Kindergarten Quality Pre-Kindergarten Teacher–Child Interactions Instruction. Applied Developmental Science, 12(3), 140–153. https://doi.org/10.1080/10888690802199418 Vernon-Feagans, L., Cox, M., Willoughby, M., Burchinal, M., Garrett-Peters, P., Mills-Koonce, R., Garrett-Peiers, P., Conger, R. D., & Bauer, P. J. (2013). Family Life Project: Epidemiological Developmental Study Young Children Living Poor Rural Communities. Monographs Society Research Child Development, 78(5), –150. Willoughby, M. T., Blair, C. B., Wirth, R. J., & Greenberg, M. (2010). measurement executive function age 3 years: psychometric properties criterion validity new battery tasks. Psychological assessment, 22(2), 306.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/trimWeights.html","id":null,"dir":"Reference","previous_headings":"","what":"Trim IPTW balancing weights, if needed — trimWeights","title":"Trim IPTW balancing weights, if needed — trimWeights","text":"Trims IPTW balancing weights heavy right tails populating weight values given quantile weight value quantile.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/trimWeights.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Trim IPTW balancing weights, if needed — trimWeights","text":"","code":"trimWeights(weights, at = 0, lower = FALSE, verbose = FALSE, save.out = FALSE)"},{"path":"https://istallworthy.github.io/devMSMs/reference/trimWeights.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Trim IPTW balancing weights, if needed — trimWeights","text":"weights list IPTW weights output createWeights() numeric; either quantile weights weights trimmed. single number .5 1, number weights trimmed (e.g., = 3 top 3 weights set 4th largest weight). lower logical; whether also trim lower quantile (e.g., = .9, trimming .1 .9, = 3, trimming top bottom 3 weights). Default FALSE trim higher weights. verbose (optional) TRUE FALSE indicator printing output console. default FALSE. save.(optional) Either logical character string. TRUE, output result default file name within home_dir set initMSM(). can load data x <- readRDS(file). use non-default file name, specify character string file name. save relative home_dir. might naming conflicts two objects get saved file. cases, users specify custom name. default FALSE.","code":""},{"path":"https://istallworthy.github.io/devMSMs/reference/trimWeights.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Trim IPTW balancing weights, if needed — trimWeights","text":"list containing WeightIt::weightitMSM() output. length number datasets (1 data.frame number imputed datasets).","code":""},{"path":[]},{"path":"https://istallworthy.github.io/devMSMs/reference/trimWeights.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Trim IPTW balancing weights, if needed — trimWeights","text":"","code":"library(devMSMs) data <- data.frame( ID = 1:50, A.1 = rnorm(n = 50), A.2 = rnorm(n = 50), A.3 = rnorm(n = 50), B.1 = rnorm(n = 50), B.2 = rnorm(n = 50), B.3 = rnorm(n = 50), C = rnorm(n = 50), D.3 = rnorm(n = 50) ) obj <- initMSM( data, exposure = c(\"A.1\", \"A.2\", \"A.3\"), ti_conf = c(\"C\"), tv_conf = c(\"B.1\", \"B.2\", \"B.3\", \"D.3\") ) f <- createFormulas(obj, type = \"short\") w <- createWeights(data = data, formulas = f) tw <- trimWeights(w, at = 0.975) print(tw) #> #> For the `glm` weighting method, after trimming at 97.5th quantile, the median weight value is 0.97 (SD = 0.32; range = 0.43-2). plot(tw) trimWeights(w, at = 0.975, lower = TRUE) #> #> For the `glm` weighting method, after trimming between 2.5th and 97.5th quantiles, the median weight value is 0.97 (SD = 0.32; range = 0.43-2)."}] From 5117cbc6f4be79370588e253ff8a1a20946c939d Mon Sep 17 00:00:00 2001 From: "Isabella Stallworthy, PhD" Date: Thu, 10 Oct 2024 11:39:05 -0400 Subject: [PATCH 2/2] vignettes edits --- README.Rmd | 26 +++++---- README.md | 30 +++++----- reference/figures/prelim_steps_overview.png | Bin 99007 -> 148793 bytes vignettes/Customize_Balancing_Formulas.qmd | 19 +++---- vignettes/Data_Requirements.qmd | 21 +++---- vignettes/Specify_Core_Inputs.qmd | 3 - vignettes/Terminology.qmd | 13 +++-- vignettes/Workflow_Continuous_Exposure.qmd | 60 ++++++++++---------- 8 files changed, 82 insertions(+), 90 deletions(-) diff --git a/README.Rmd b/README.Rmd index cc7980b4..944ed41a 100644 --- a/README.Rmd +++ b/README.Rmd @@ -32,7 +32,7 @@ More specifically, scientists, clinicians, educators, and policymakers alike are However, for many, conceptual, methodological, and practical barriers have prevented the use of methods for causal inference developed in other fields.
-The goal of this *devMSMs* package and accompanying tutorial paper, *Investigating Causal Questions in Human Development Using Marginal Structural Models: A Tutorial Introduction to the devMSMs Package in R* (*insert preprint link here*), is to provide a set of tools for implementing marginal structural models (**MSMs**; Robins et al., 2000). +The goal of this *devMSMs* package and accompanying tutorial paper, *Investigating Causal Questions in Human Development Using Marginal Structural Models: A Tutorial Introduction to the devMSMs Package in R* (preprint), is to provide a set of tools for implementing marginal structural models (**MSMs**; Robins et al., 2000). MSMs orginated in epidemiology and public health and represent one under-utilized tool for improving causal inference with longitudinal observational data, given certain assumptions. In brief, MSMs leverage inverse-probability-of-treatment-weights (IPTW) and the potential outcomes framework. @@ -50,27 +50,27 @@ Exposures could also reflect factors internal to the child, including neurodevel Core features of *devMSMs* include: -- flexible functions with built-in user guidance, drawing on established expertise and best practices for implementing longitudinal IPTW weighting and outcome modeling, to answer substantive causal questions about dose and timing +- Flexible functions with built-in user guidance, drawing on established expertise and best practices for implementing longitudinal IPTW weighting and outcome modeling, to answer substantive causal questions about dose and timing -- functions that accept complete or imputed data to accommodate missingness often found in human studies +- Functions that accept complete or imputed data to accommodate missingness often found in human studies -- a novel recommended workflow, based on expertise from several disciplines, for using the *devMSMs* functions with longitudinal data (see *Workflows* vignettes) +- A novel recommended workflow, based on expertise from several disciplines, for using the *devMSMs* functions with longitudinal data (see *Workflows* vignettes) -- an accompanying simulated longitudinal dataset, based on the real-world, Family Life Project (FLP) study of human development, for getting to know the package functions +- An accompanying simulated longitudinal dataset, based on the real-world, Family Life Project (FLP) study of human development, for getting to know the package functions -- an accompanying suite of helper functions to assist users in preparing and inspecting their data prior to the implementation of *devMSMs* +- An accompanying suite of helper functions to assist users in preparing and inspecting their data prior to the implementation of *devMSMs* -- executable, step-by-step user guidance for implementing the *devMSMs* workflow and preliminary steps in the form of vignettes geared toward users of all levels of R programming experience, along with a R markdown template file +- Executable, step-by-step user guidance for implementing the *devMSMs* workflow and preliminary steps in the form of vignettes geared toward users of all levels of R programming experience, along with a R markdown template file -- a brief conceptual introduction, example empirical application, and additional resources in the accompanying tutorial paper +- A brief conceptual introduction, example empirical application, and additional resources in the accompanying tutorial paper
## Overview The package contains 7 core functions for implementing the two phases of the MSM process: longitudinal confounder adjustment and outcome modeling of longitudinal data with time-varying exposures. -
\ -devMSMs overview
\ +
+devMSMs overview

Below is a summary of the terms used in the *devMSMs* vignettes and functions. @@ -83,7 +83,7 @@ terms = data.frame( Definition = c( "Exposure or experience that constitutes the causal event of interest and is measured at at least two time points, with at least one time point occurring prior to the outcome.", "Any developmental construct measured at least once at a final outcome time point upon which the exposure is theorized to have causal effects.", - "Time points in development when the exposure was measured, at which balancing formulas will be created.", + "Time points in development when the exposure was measured, at which weights formulas will be created.", "*(optional)* Further delineation of exposure time points into meaningful units of developmental time, each of which could encompass multiple exposure time points, that together constitute exposure main effects in the outcome model and exposure histories.", "Sequences of relatively high (`'h'`) or low (`'l'`) levels of exposure at each exposure time point or exposure epoch.", "Total cumulative exposure epochs/time points during which an individual experienced high (or low) levels of exposure, across an entire exposure history.", @@ -134,7 +134,9 @@ We then recommend downloading the preprint), is to +provide a set of tools for implementing marginal structural models +(**MSMs**; Robins et al., 2000). MSMs orginated in epidemiology and public health and represent one under-utilized tool for improving causal inference with longitudinal @@ -53,34 +54,34 @@ also reflect factors internal to the child, including neurodevelopmental Core features of *devMSMs* include: -- flexible functions with built-in user guidance, drawing on established +- Flexible functions with built-in user guidance, drawing on established expertise and best practices for implementing longitudinal IPTW weighting and outcome modeling, to answer substantive causal questions about dose and timing -- functions that accept complete or imputed data to accommodate +- Functions that accept complete or imputed data to accommodate missingness often found in human studies -- a novel recommended workflow, based on expertise from several +- A novel recommended workflow, based on expertise from several disciplines, for using the *devMSMs* functions with longitudinal data (see *Workflows* vignettes) -- an accompanying simulated longitudinal dataset, based on the +- An accompanying simulated longitudinal dataset, based on the real-world, Family Life Project (FLP) study of human development, for getting to know the package functions -- an accompanying suite of +- An accompanying suite of helper functions to assist users in preparing and inspecting their data prior to the implementation of *devMSMs* -- executable, step-by-step user guidance for implementing the *devMSMs* +- Executable, step-by-step user guidance for implementing the *devMSMs* workflow and preliminary steps in the form of vignettes geared toward users of all levels of R programming experience, along with a R markdown template file -- a brief conceptual introduction, example empirical application, and +- A brief conceptual introduction, example empirical application, and additional resources in the accompanying tutorial paper
@@ -89,10 +90,9 @@ Core features of *devMSMs* include: The package contains 7 core functions for implementing the two phases of the MSM process: longitudinal confounder adjustment and outcome modeling -of longitudinal data with time-varying exposures.
+of longitudinal data with time-varying exposures.
devMSMs overview -
-
+

Below is a summary of the terms used in the *devMSMs* vignettes and functions. More details and examples can be found in the accompanying @@ -102,7 +102,7 @@ manuscript.
|-------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | **Exposure** | Exposure or experience that constitutes the causal event of interest and is measured at at least two time points, with at least one time point occurring prior to the outcome. | | **Outcome** | Any developmental construct measured at least once at a final outcome time point upon which the exposure is theorized to have causal effects. | -| **Exposure Time Points** | Time points in development when the exposure was measured, at which balancing formulas will be created. | +| **Exposure Time Points** | Time points in development when the exposure was measured, at which weights formulas will be created. | | **Exposure Epochs** | *(optional)* Further delineation of exposure time points into meaningful units of developmental time, each of which could encompass multiple exposure time points, that together constitute exposure main effects in the outcome model and exposure histories. | | **Exposure Histories** | Sequences of relatively high (`'h'`) or low (`'l'`) levels of exposure at each exposure time point or exposure epoch. | | **Exposure Dosage** | Total cumulative exposure epochs/time points during which an individual experienced high (or low) levels of exposure, across an entire exposure history. | @@ -160,8 +160,8 @@ exposures) for implementing the steps below. ## Citation & Bug Reports -Please cite your use *devMSMs* using the following citation:
-Stallworthy I, Greifer N, DeJoseph M, Padrutt E, Butts K, Berry D +Please cite your use *devMSMs* using the following citation: +
Stallworthy I, Greifer N, DeJoseph M, Padrutt E, Butts K, Berry D (2024).
*devMSMs*: Implementing Marginal Structural Models with Longitudinal Data. R package version 0.0.0.9000, . diff --git a/reference/figures/prelim_steps_overview.png b/reference/figures/prelim_steps_overview.png index ad2030676f01cb9dd7e5fadfba2621774f4df4a8..64b687ddf0f1a2764c24f2df4b7dbeb49668f729 100644 GIT binary patch literal 148793 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
ESETA1.t ~ time-invariant confounders + time-varying confounders + lagged outcomes + lagged outcomes
+Weights formula are formula created at each exposure time point, regressing exposure on confounders, for the purpose of creating and/or assessing balancing weights. The general form is given by: +
+
ESETA1.t ~ time-invariant confounders + time-varying confounders + lagged exposures + lagged outcomes
+ +
Below is a table that summarizes the three formula `type`'s that will be used. diff --git a/vignettes/Workflow_Continuous_Exposure.qmd b/vignettes/Workflow_Continuous_Exposure.qmd index bcf550ab..9b6b8d31 100644 --- a/vignettes/Workflow_Continuous_Exposure.qmd +++ b/vignettes/Workflow_Continuous_Exposure.qmd @@ -22,11 +22,9 @@ knitr::opts_chunk$set( options(rmarkdown.html_vignette.check_title = FALSE) ``` -
- This vignette guides a user through the process of using *devMSMs* to fit marginal structural models (MSMs) with a a continuously distributed exposure variable. The users should first view the Terminology, Data Requirements, and Specifying Core Inputs vignettes. -The code contained in this vignette is also available, integrated code from the other vignettes, in the ExampleWorkflow.rmd file. This workflow is designed to complement the conceptual and high-level practical details provided in the manuscript *\[add link here\]*. We strongly suggest users familiarize themselves with concepts of the MSM process outlined in the manuscript and the practical steps and functions put forth in the following sections before implementing this workflow. +The code contained in this vignette is also available, integrated code from the other vignettes, in the ExampleWorkflow.rmd file. This workflow is designed to complement the conceptual and high-level practical details provided in the manuscript (preprinte). We strongly suggest users familiarize themselves with concepts of the MSM process outlined in the manuscript and the practical steps and functions put forth in the following sections before implementing this workflow.
# Installation @@ -77,7 +75,7 @@ We do not specify a home directory given the nature of this example, but we do r ```{r} # home_dir = '/Users/isabella/Library/CloudStorage/Box-Box/BSL General/MSMs/testing/isa' ``` - +
### P3.2 Recommended: Time Point Delimiter Below, we use the default period as a time delimiter. @@ -85,7 +83,7 @@ Below, we use the default period as a time delimiter. ```{r} sep <- "\\." ``` - +
### P3.3 Required: Exposure Variable We specify our 6 time points of exposure. @@ -93,7 +91,7 @@ We specify our 6 time points of exposure. ```{r} exposure <- c("ESETA1.6", "ESETA1.15", "ESETA1.24", "ESETA1.35", "ESETA1.58") ``` - +
### P3.4. Required for Continuous Exposures: Identify High and Low Cutoff Values Below, we specify the 60th and 30th percentiles to demarcate high and low levels of economic strain exposure, respectively. @@ -101,7 +99,7 @@ Below, we specify the 60th and 30th percentiles to demarcate high and low levels ```{r} hi_lo_cut <- c(0.6, 0.3) ``` - +
### P3.5 Optional: Exposure Epochs We specify that the first two exposure time points (6 and 15 months) will be considered infancy, the second two (34 and 25 months) toddlerhood, and the final (58 months) childhood. @@ -109,9 +107,7 @@ We specify that the first two exposure time points (6 and 15 months) will be con ```{r} epochs <- c("Infancy", "Infancy", "Toddlerhood", "Toddlerhood", "Childhood") ``` -
- ### P3.6 Recommended: Hypotheses-Relevant Exposure Histories See the Specify Core Inputs vignette for more information. @@ -123,7 +119,7 @@ reference <- c("l-l-l") comparison <- c("h-h-h") ``` - +
### P3.7 Required: Outcome Variable We specify out outcome as behavior problems at 58 months. @@ -131,7 +127,7 @@ We specify out outcome as behavior problems at 58 months. ```{r} outcome <- "StrDif_Tot.58" ``` - +
### P3.8 Recommended: Confounders We specify both time-invariant and time-varying confounders. @@ -156,7 +152,7 @@ tv_conf <- c("SAAmylase.6", "SAAmylase.15", "SAAmylase.24", "StrDif_Tot.35", "fscore.35") ``` - +
### P3.8c Optional: Concurrent Confounders We specify no concurrent confounders as, given our data, we are unable to disentangle them from mediators or colliders. @@ -175,7 +171,7 @@ We highly recommend first implementing the *Data Requirements & Preparation Vign - a list of data imputed in wide format as data frames -See the Data Preparation vignette for more detail. +See the *Data Preparation* vignette for more detail. We first load in 2 imputed datasets as a mice object. These data are simulated based on data from the Family Life Project (FLP), a longitudinal study following 1,292 families representative of two geographic areas (three counties in North Carolina and three counties in Pennsylvania) with high rural child poverty (Vernon-Feagans et al., 2013; Burchinal et al., 2008). We take the example exposure of economic strain ("ESETA1") measured at 6, 15, 24, 35, and 58 months in relation to the outcome of behavior problems ("StrDif_Tot") measured at 58 months. (See Data Requirements & Preparation vignette for beginning with other data types, including missing data). @@ -186,7 +182,7 @@ data <- sim_data_mice head(mice::complete(data, 1), n = c(5, 10)) ``` - +
### P4.4 Required: Create MSM Object We set a seed for reproducibility. @@ -275,7 +271,7 @@ Optional inputs to create full weights formulas using the `createFormulas()` fun The user may specify a list of custom formulas by specifying to `custom` a list of formulas, one for each exposure time point (e.g., “exposure.time \~ variable.time + variable +...”) in formula format. We recommend first running the `createFormulas()` function without custom formulas (`custom` = NULL) and using the output as a model of the required format for custom formulas. The `createFormulas()` function will automatically check custom formulas to ensure that there is a correctly formatted formula for each exposure time point with exposure as the dependent variable. However, the user is responsible for ensuring the custom formulas contain the appropriate confounders for the formula type they are generating. -Please see the Customize weights formulas vignette for more detail on how to customize formulas. +Please see the Customize Weights Formulas vignette for more detail on how to customize formulas. We chose not to create custom formulas and instead use `createFormulas()` to make them automatically in this example. @@ -302,14 +298,16 @@ print(full_formulas) ### 1b. Conduct Exploratory Pre-Balance Assessment The next step examines the initial imbalance, or how strongly exposure relates to each confounder at each time point, for all measured confounders prior to weighting using the `assessBalance()` function. This function draws on the `calcBalStats()` function (see the Assessing Balance for Time-Varying Exposure section in the accompanying manuscript).\ + The `assessBalance()` function outputs balance statistics (correlations for continuous exposures and standardized mean differences for binary exposures) relating exposure at each time point to confounders in a table as well as in plots. This function also provides summary balance statistics averaging across all time points (and imputed datasets if they are supplied). The required inputs for using the `assessBalance()` function to conduct pre-balance testing are: data (data frame, a mids object, or a list of imputed datasets as dataframes in wide format) and an MSM object (e.g., "obj"). Please see the *Assessing Balance for Time-Varying Exposures* vignette for more detail on how this function calculates balance. The optional inputs are as follows. -The user may specify `balance_thresh`, or a threshold(s) for determining confounder balance, in one of two ways.\ -\* First, they can provide a single number value (0-1) for the absolute value of the standardized balance statistic (either the correlation for continuous exposures or standardized group mean difference for binary exposures) for exposure and confounders below which confounders are considered balanced, and above which they are considered imbalanced (default is 0.1; Stuart, 2010). +The user may specify `balance_thresh`, or a threshold(s) for determining confounder balance, in one of two ways. + +- First, they can provide a single number value (0-1) for the absolute value of the standardized balance statistic (either the correlation for continuous exposures or standardized group mean difference for binary exposures) for exposure and confounders below which confounders are considered balanced, and above which they are considered imbalanced (default is 0.1; Stuart, 2010). - Second, users may make an a priori assertion that some confounders are more important than others based on theory and existing research. In this case, they can provide two numbers that represent the balance thresholds for important and less important confounders, respectively. If the user supplies two balance thresholds, they must also supply a list of important confounders (time-varying: “variable.t”, time invariant: “variable”) to the `imp_conf` field. The balance threshold specification should be kept consistent throughout the use of this workflow. @@ -425,7 +423,7 @@ These formulas are considerably shorter than the full formulas. For instance, at ### 2b. Create IPTW Balancing Weights Using Multiple Weighting Methods -Having created shorter, simplified weights formulas, we now create the first round of IPTW balancing weights (Thoemmes & Ong, 2016) using the `createWeights()` function, the shortened weights formulas, and all available weighting methods. The function calls the `weightitMSM()` function from the *WeightIt* package (Greifer, 2023) that uses the time-specific formulas to create weights at each time point before automatically multiplying them together to create one weight per person. Weights are stabilized, as recommended (Cole & Hernan, 2008; Thoemmes & Ong, 2016), and distributions can be saved for inspection. +Having created shorter, simplified weights formulas, we now create the first round of IPTW balancing weights (Thoemmes & Ong, 2016) using the `createWeights()` function, the shortened weights formulas, and all available weighting methods. The function calls the `weightitMSM()` function from the *WeightIt* package (Greifer, 2024) that uses the time-specific formulas to create weights at each time point before automatically multiplying them together to create one weight per person. Weights are stabilized, as recommended (Cole & Hernan, 2008; Thoemmes & Ong, 2016), and distributions can be saved for inspection. The required inputs for using the `createWeights()` function to create the initial around of IPTW balancing weights are: an MSM object (e.g, 'obj'), complete data (data frame, mids object, or a list of imputed datasets as dataframes in wide format), and the short formulas (see Step 2a). @@ -480,10 +478,10 @@ print(weights.cbps, i = 1) ``` -Next, we look inside the output to summarize the weighting process (drawing on the summary method from *weightIt*, for any given imputed dataset. +Next, we look inside the output to summarize the weighting process (drawing on the summary method from *weightIt*), for any given imputed dataset (we chose the first one here). ```{r} -summary(weights.cbps[[1]]) +summary(weights.cbps[[1]])[[1]] ``` This summary also provides the effective sample size, or the sample size that results from applying the weights to the original sample size, for each time point. Weighting can often result is an effective or weighted sample size that is smaller than the orignal sample size and is something to keep in mind when evaluating weighting methods. In this example, we see that our original 1,292 sample is reduced to 605 upon weighting with the CBPS method. @@ -516,7 +514,7 @@ weights.glm <- createWeights(obj = obj, print(weights.glm, i = 1) -summary(weights.glm[[1]]) +summary(weights.glm[[1]])[[1]] plot(weights.glm, i = 1, @@ -541,7 +539,7 @@ weights.gbm <- createWeights(obj = obj, print(weights.gbm, i = 1) -summary(weights.gbm[[1]]) +summary(weights.gbm[[1]])[[1]] plot(weights.gbm, i = 1, @@ -566,7 +564,7 @@ weights.bart <- createWeights(obj = obj, print(weights.bart, i = 1) -summary(weights.bart[[1]]) +summary(weights.bart[[1]])[[1]] plot(weights.bart, i = 1, @@ -591,7 +589,7 @@ weights.super <- createWeights(obj = obj, print(weights.super, i = 1) -summary(weights.super[[1]]) +summary(weights.super[[1]])[[1]] plot(weights.super, i = 1, @@ -735,7 +733,7 @@ From these summaries, we identify the optimal weighting method for a dataset, or - Fewest imbalanced confounders remaining relative to the user-specified balance threshold(s) (from summary output); - Lowest median absolute balance statistic, across all confounders and time points, reflecting the best overall attenuation of confounding (from summary output); - Lowest maximum absolute balance statistic, across all confounders and time points (and imputed datasets, where applicable), indicating weakest remaining relation between exposure and confounder for the least balanced confounder (from summary output);\ -- Reasonable effective sample size following weighting (for all imputed datasets, where applicable), indicating reasonable power to detect effects (from *weightiIt* summary output).
For the first three, we examine summaries for each of the weighting methods. +- Reasonable effective sample size following weighting (for all imputed datasets, where applicable), indicating reasonable power to detect effects (from *WeightIt* summary output).
For the first three, we examine summaries for each of the weighting methods. ```{r} summary(balance_stats.cbps, @@ -756,7 +754,7 @@ summary(balance_stats.super, From this, we find that the CBPS method has the fewest imbalanced confounders (with only 2), lowest median balance statistic, and lowest max balance statistic. -To examine the fourth criterion, we use the *weightIt* summary method to examine effective sample sizes ("Weighted") compared to the orignal sample size ("Unweighted") across weighting methods. We do this just for the first imputed dataset. +To examine the fourth criterion, we use the *WeightIt* summary method to examine effective sample sizes ("Weighted") compared to the orignal sample size ("Unweighted") across weighting methods. We do this just for the first imputed dataset. ```{r} summary(weights.cbps[[1]])[[1]][6] @@ -833,7 +831,7 @@ As shown above, income at 6 and 15 months ("InRatioCor.6" and "InRatioCor.15") w ### Step 3c. Create Final Balancing Weights -Next, we create a final set of balancing weights using the optimal weighting method identified in Step 2c and the updated formulas from the previous step using the `createWeights()` function (`method` = “...’), with the SuperLearner method being the optimal weighting method identified in Step 2c. The function calls the `weightitMSM()` function from the *WeightIt* package (Greifer, 2023) that uses the time-specific formulas to create weights at each time point before automatically multiplying them together to create one weight per person. Weights are stabilized, as is recommended (Cole & Hernan, 2008; Thoemmes & Ong, 2016) and distributions are saved out in the home directory for inspection. +Next, we create a final set of balancing weights using the optimal weighting method identified in Step 2c and the updated formulas from the previous step using the `createWeights()` function (`method` = “...’), with the SuperLearner method being the optimal weighting method identified in Step 2c. The function calls the `weightitMSM()` function from the *WeightIt* package (Greifer, 2024) that uses the time-specific formulas to create weights at each time point before automatically multiplying them together to create one weight per person. Weights are stabilized, as is recommended (Cole & Hernan, 2008; Thoemmes & Ong, 2016) and distributions are saved out in the home directory for inspection. The required inputs for using the `createWeights()` function to create the final round of IPTW balancing weights using the updated short weights formulas are: complete data (data frame, mids object, or a list of imputed datasets as dataframes in wide format), an MSM object (e.g., "obj"), the best-performing weights method, and the updated formulas (see Step 3a). @@ -993,7 +991,7 @@ print(final_balance_stats_trim, t = 2, save.out = save.out) -summary(trim_weights[[1]]) +summary(trim_weights[[1]])[[1]] ``` As shown above, the trimmed weights result in one imbalanced confounder in relation to exposure at 15 months and an effective sample size of 719. @@ -1019,7 +1017,7 @@ Summarize and inspect summary(final_balance_stats_untrim, save.out = save.out) -summary(final_weights[[1]]) +summary(final_weights[[1]])[[1]] ``` We see that the non-trimmed weights result in no imbalanced confounders and an effective sample size of 611. @@ -1106,7 +1104,7 @@ The goal of this final step is to fit a weighted model relating exposure at mean ### Step 5a. Select & Fit a Weighted Outcome Model -First, we use the `fitModel()` function to fit a weighted generalized linear model relating exposure to outcome. The function draws on the `glm_weightit()` function of the *WeightIt* package (Greifer, 2023). The exposure main effects in models reflect exposure levels at each exposure time point unless exposure epochs are specified. One of the benefits of creating balancing weights is that they can be used in a variety of different marginal outcome models and those encompassed in this function are only a subset of possible models. Note that these models can get complex and we do not advise interpreting the individual terms. +First, we use the `fitModel()` function to fit a weighted generalized linear model relating exposure to outcome. The function draws on the `glm_weightit()` function of the *WeightIt* package (Greifer, 2024). The exposure main effects in models reflect exposure levels at each exposure time point unless exposure epochs are specified. One of the benefits of creating balancing weights is that they can be used in a variety of different marginal outcome models and those encompassed in this function are only a subset of possible models. Note that these models can get complex and we do not advise interpreting the individual terms. The required inputs for using the `fitModel()` function are: complete data (data frame, mids object, or a list of imputed datasets as dataframes in wide format), an MSM object (e.g., "obj"), an outcome, a list of trimmed weights, and a model from the list below (“m0”, “m1”, “m2”, or “m3”). @@ -1228,7 +1226,7 @@ print(models.s2, With a comparable result. -
+ ### Step 5b. Estimate, Compare, and Visualize Model-Predicted Outcome as a Function of Exposure History

--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�%6-%qVLsAxbX? z9AhouQia|KUYeiG*4xb0i{EW-^Z%%CwMKB=e9lGnr*bktR^CVktehIOGe{nY@Y01rU&31w5{-vJd7vHQDt_+3zu1{kmjbH8# z+jX&sU!wgPw{+p$W(TY&^j#Xg4v$^0iMsMAf6N%JuCL z5NdtTU@;&+;R1RjPO76#9OvccKA&EE=*l1Et2|<~T^&)@KId#C*u~^qdcC#p_i5Fw z5)Sr;cGEx)!6hCoK}9}W?RQlEnO94FXzu%#bSp|vt!};ekLSrVDzLCRDl~Nlj5+_T zIa@Tcz0bWTky1G7^NHyfl|j(G62A*nJuy#vPK0U*MZA^yY;@rSfxcPdOvgjv&;~`7 z8|tfbRCOsWO(kax8b?sHi8psy)*DMMSrmt{d6z4ba&<_X6S*t1XGRKN2!DUm)-0P& zCv{U^z!_ zFwUS@Q1HE|9}zYXUcpwU#ycPIE%?YI^Fuco-Bfr&(ZaP4y+3XH-rF#*Ck^lBGAKL# z#uzhXBYff8yIr;q19Hry60g2}czNc+aLZ(DgYYmvWO_jKE0yf789 zrI5P+_2;V=Qi_bu<+sK4HCudNL7IQl`|i=%n&2g=`Xebj_hy$4ztz}sVjX!c{L4$; z`PceSz+wh3RZ7CdjRQ>tyxenqESBj|0$)#t09MydRbhYFrP;&S4rqO6uV2QI{aHc2p9UW7lRf928+Ta-qd4B{g3Q(MR06dk%N;)cLG`V)3t++ae;06egwBJg#sh zlG|L^O>+De?H+|a*tSUZM2p1-#Ba!w5WfkzSvGwzTyxSp_2+v0_v<(-^|POHk7=Ey zu*sYiPGKlIEMGd2K6CDaWA*vYQ674#Y7LP*r|`pa^qF#)6FrI?kF0EVUoI`}2eymP z&HI0pnw}S!uaj;V%rD(E{pC|!*EM^~fAiOtd3aG23rL|o`b9C7k@aSneQ%z8)gtw^ zEGD$duI6A6=!MTrxyFObU)ZHGhsrlWraa%$?F6cw>VE}asclG((mQgr!5K0{oe{Yd ztsBwVFb~XrH&?6g8~rC946WN|1Xz4Nm9I-}v?Qx6zjw~bmD&v0xsn_J67C1~x_t** z^j}O$>U72U_R{-Uq?1^+kMit2_{8tA=c@gMhhnd%n+1EAm=t5oY7!WaF%A`?Ze=8r zI(Xt%DAv1%>8`j9IYSGEo$tiuv6pqKI+sOKZt^}JvsGNLv21$1zTeHZ)b( zFtzz=WOZl0Ds?YU(NUsKkvHGOzk=BDUJ{iIiiiaM5}Z!Oiqgj59Zm)((tOLlwYsPF z31aCMH(;xGm@|uvsifY)6+reOu=@)6(YLA~QjfLGfXMqM_b?gv@22hf6A>)<*A3wB zv8kOT@KO4}Pyf7$?0pwS@~~67RcsY@FUV3lo=Xfms`a1h`+%^F1N5_9g7G)Ea6hoY za!q7}igm0Q#!oa~~_j6pxK{x2bncAj40)BM_^!TKNmWw+Et`_g{so>5G? zwA;P^Bg1WN93y=_o~&(#e1a@GH!Ow)5JWE;ZOH6>R*3!p8E|wYXUht>%ecO!<6Pq6 z_$zR)LgodpU0G4^3e@hRVSey1yeKJIt5r$<3^P*>%lJ+bJ`oYQNVoSz=YV2>R&sHs zL~+dM&Znx-;;Us@8fD@tTmExPgr73*FZ&zx*Q!~UVwZjO&#+)sqc*>4=AP4wII*z}-Ht&VvV0%t0sYRB!&IV>m=aLdKa;)Syh3 z(>z3K6^?p&&{6sE83%D2t;*C=9AU0vsBg2r{QOcO;h<>8>}by}vvbzy2W#x_+*!Q8 zpqTgOZqdh8Qq~|8G5kfQgp>+(p4QqkM5ctyrT6mh5e{3Qx75lcypnz8rjA!`QecZx zfDM_7&C}+f3-5mXWF2jdz5oH1NsdBj(Y|O!8gY*$HIbfQ^qkM#6Z3Vo!DF>D22Z$; zpUv-&RRS9JJoxf=l>5Qr^w%-z+=(z^`p3q1qU?!4)%V<-!Hy>5Lq?Tgwhf#_pr*9Gf$)`C;mn6c3uk$*gU-x-vFu2>^aby4<5MXY8HaFv4fqlTt)zi}?1L&I+wv|4gr_R(q>#6?hV6YJma$V=B+21GFNezm{Ejs3v%tY_f?N#OYXAwY!xZL;HAT zldkM`|Nf2VGBisP^%Fh28}JAV%!6IKFGB>In*n1C)n>jw^KuRk$JC2#Z!Fk@v7Pxv zvwrR7r7m-&`&vxjQq8g0p&S|Vg3dht3glmh3Ff&ctg*jON2tDeiQOC3O%`hRb3(y zRkm<>7L8-}Yo4i+hmnr-S?ppSbXJ!VAUrH`F9%{0}j&y76%^18g4<<)n zxbgaI3IS}B5sI`4;h40R$SjQmSF1M|TP%QLic)WHzO?HOiL!1<(-AU^oo3~k3hKfS zxbKd=*|A2q_IH2t34XiBh<8{8;YGD74OzjK8}?OWg+@;_eigT{O!N_8 zry%qq8sSkl{~NoYcP;j1rZCGD4>!!S$-Uf8DZQIeNFS9-y-n?545CnSsH$&If=ldU zwA!|w^wTu|xl_BE?-E>M7_jRJkHd*2;q+DeGD|Hk|F*FftVG-yYsk1LCD#(xXM0-; zi&^TQM!v{@*bEZ*>>Q`vy`{hkn31ceUw;zXWH;te>?Pazs+n>Xt0{=M<>@dmvE0|D zJ5ndImeR@vHy4;|(?^RL2+BIe+g zL1ktZqjr>8e-n?Csq^b#-x+{&f{XSzEiK|OHtIR-h+qZiUo@w*D&<6~JlsrZnDF|= z%pLmOvb^eo5EVRa=sJ^qw=(@bFcKV~DIy!_IfR{(Zn#vHvRM>{*%lt%Q*eZM};7%5Nu|=_y9$9y+|7dpU~Rccv1%&T%FC+H<>{ z=blefGik-_#J)#RGR!`m+g*ikG%FQ;mOLC|G5)PyL=kD z-2RW*Q75X(fB$Y7Y{kP3BqDi+YEbrOXHBR=zSGSiw<%JL5^M1o({@Yfz6pIbE&t1a zsyvw*?$mYO=gARRFJ4o_TawAV@-dHzWnZ5_UP^c_AJN0b&YIG8VI@7Q0hjM;#xY^t z#O$7*%;LE~+^G3UU0qe@zZ1tV#I=U|dCJZ|{Z+VO)kjm*siQFbTPuxDflC%l_N$`kiv)B+u`0i`kr(#wciJk)knvsnpWfi9*NUMASS6 z=ICXt{EGarKGoX_sg>UKO2~@_ZvE@k&^AZcGolXxO!&Cxj78=aMWSSf_&98 zY*3Y-`7$ple_jbadF|C{0qaV|H@zA4RETy{s^PN*Z&n=MtVG0e=s9 zJn_QNPp_xC#e>!85)*X|v!$<_y7k~Q|t-V9xFK$cHS_zI6NAKm` za+FxleX2*$zL_OQ{+eY#_V0QcZ3OkyHKtUWB-#|Iry_h;b+E>o3^4|{u;nM*pO-&d z#(#k|+{`)U;o#86{cd4bbSY%941&!x+#{im$u4h~)xM<_?< zYr#TvW%w27=oc5C(I|D3R`4HnR>K_+!(iNdH0K_v@z?c9>bEKchZx8YgSLBV^a9!r zgSu*!I}tsUX2WGwV)5p1Z~27A;GG_OoTudY#(BeYS0==ia=?g4#E9c0_M(;$9fgTL zA$CO`mx5TnHn@++ReQ`?ODvjO-{)*$_ANM{lCc~cKGd>>XYP52^{{>yP2;pmbcB)W z%3vtC!QHkOnH)@tFh=fFt2|cTFN>~0Qu1dVPBXgLCw)0Wjx{PSad(8%=l%u#GGY=L zw)&CEsG#K&L?qD)L990(yn3xgqG}v;5YM%u)<^`+WU@>wzGld_rSG*ssbMYSD=$U$ zf6ohL7*49^`xR09+u?hj#QZ6BuEAP%uON{TfRVmZAGC1_nochrXKxRS(+#p zwFln41jvi7yA7le_f*X!+AzjA(FxLqHpX}@3W+`YKzQ(M_L4$rShe{s$K+p4bN$AuP?a- zjr5F6>CGr+&UTvT$Q|Mpabjad8WJ{YnBC46IADTL(0w~#SKU3~f+DplXe_$b{&}U- z?(=DAKiDb1y!kM1+?aUgG*4?3`(NV%{wNjdDuGAu)%X6+F-V_0T!)@o{N(baoZ4%S}gWgt=Dqw1*Qwhg>ZaiI29~ zF;o`mK6x7dz67N8`Cy|G*C^xek6q~2@WsY-SDk-`3wmSfyFg>oSEolf!ju|91zh|J zsHTG&`nli0I{41qPV|{^irnf5yoJpU8EU3h(7gz6gHxrBI?i-&Kqo6O<`~sq!)LV9xe;5#QYfw8k@t& z9YF>T;!{aF>z?veALp&TcRm+*U+x&Ryf2%8Z{URM)O!t*P-r?d&%*7B4o!+>)0`mQ z4OECSBR-A_E~DOJ&nN1*_VXaI#paF+mTudo*N-1Ub$0_lw^|BxDE(c-w68%8n|Q1) za-AlfH1Lg71%alzTSI5`k#3uB(iH#V3PguhCLU}n)jEa1d2Y{Ee=<@3++?IBF>j|= zq}#db2kl_`HxQ(8(;kMa`SNt{Wa{g8iF8{)8yFcw2cAXH3KOt5-oN!;dbO%+t0IUR z6;*qr()A?KI0xVjQEm%1*LT^a9(wkutQALrW;Q*7>$! z;UTr?v$KD_rdIc5s!3$rE&UsVi1f16PwU&&gOvPI@ig5JnkRhv!!V*x%bi4g`0dZ6U0#Pn7+2-wJpm@kCc`8e3_^Cg-FB?C>RM9z=8C+> z*LdfbHOZqO93+f$rIr*8#^E+#IPEc}q#qMKaSHmf`pemEBDZ2V_%A|sM(>!gboTX^ zPRKAD_+%yCZ&6?$`na>(wBO!q=!Oo$cZET|D>?9b(_AI4TiR)rGOaF|qzq*TOr-2& zu4a7!!Kpmw&x=$0by2phw@gCo8tEU*1pcC;$!bE(3eF7WOdxq%ELf_Z=p9NP%#$E1iS=eb?LDrFe7RFiS0ycT^@ ziVGH}4o-e^>yij2V|}oR`n#ZHk_+aWbu!m)L}ofareF(_X(Lw;@G2Z#natq`WMw2G zCd~|!(eoWHNNZsk*sl~H*s0yt3wV6l*46YG$zSJzHQ`vW`_Z6WJ7u7x%tP+&E1hd% z?@R;t))}vm$%1vcSjzs}lh;3k|L%#}jqAG>-T9n&zuq^BYU-lmreiFx$lfOxrr)yOay6ib0(-XNHHJ)YOd3}jQH7jV}OwQ39LyTim&#P5n#1Nl9 zqiG+%>S?WKzLr?-p)=tvrt>?mj50(nleE`GYqsqdtgJjU37$CTR84QJHMx2n!Jl2cB<*@M8Yy0 zcehp+?}F`Ffm|3_leo_+SO+t;#X{?{`$b{IVnd72F`jbpf?`|rJkD@srn0PlAWEq3(=D*WFNaCo%hCOr-4d8g z{xV+y+V>c^P&*)58U8RkXFHeXlSPLY4T4S4<2gTcWV1Z)Jy=Qb?m!O#Be}*v=GBw- z;H@p>G$LASuxz}<^t_>H7W!-x2Asf0(KotU)?fwWbRfPzaq5X@?`1vITM14c(nQ`*oq>k|P>bV1bdK zX1p-132GPZd?DClEFNA4w`O~UwQAo^-EpCba~6Zrs!0ZtmuM%@#=n9yev!-u1QNIw z8Vkz)!kp;t?%Z}^ogfUFmVypvv{UC|I`9=2tK{gFS^Udt+QG@S=<%4%`opqgmH52j_Aup5t?t@etzo!42(uD zV9{Ev@$uc(!8wh!7Y5Ut`X(Mp#+p;!D=@#=-Nkrl2zoYMmO_US&1J^={D2n=ydXsCZf0>yjmp&q&Vp>|NX+d0>+gy#?8K1dMk`d@sYog10w&FLKyt}tUJ*&x1OFo7%(4tbea!6&3e}63dDsjvQ23v}7ZqYG?^LjMQ56f7RNFwu?;v^s?g<0&#bc6XXdVm$O@Nb0uXwKGI$ zWehC>y9u?$x@?_cL}_&^;GzJleHwD8dZidQaAxSSVX#f;Ay$~+5sx*KJ8c|Jr}s1! zPlU;0xHV;R!D+9lc2`P^gMwhAB|%5Hev}f;k0E{#PmCFlK8GJd%*|>nHHYb$YLq_9 z6w^G?`tfj?^oR`RcuzUhEwABv|C+p~k(9x?pThCaay{<92gypo?XDM#RUT0oPW4P27czoPws8(y7UMF9#Kt&Ec z{Tsh5<;!hV|~waGIYpgh1YbFtCdf-Tiim zRW12K32@u071NUx1hopU>E4oOXGB$jO}TNU0+t=T5@)6&0?TZB-=l^5J}45!g~WLi zQH3R83_nGBj65w$<|8ZNf=7!|+D5w^75VYZ&{xIwE#x+Gb)>retwKdX>z3QrK*Xx=vrvs@R^2dE6c^d>y)~J7*~C z2Cdd%gfXhLi@|5MD&Sa%SuNT={kqbFbUSKYLf=)WxcG>qHs5iW_-x9fGS^HQ;*R}& zO8=`Kaa|_DrY_5Oc^o>J$%yytr|F};Ia29bL>yvvZg&gmWWacw@r77S0sScY6#mK#at;QG6$j-+c0DLO*v%}cq;H~Snv<^h zalPd)R>sz8GSI}jpeA!O;$DOFqIx+f?vl7tJo7@x8D&P-P=9#Sd%hfPh@(TTOy^O| z?#;?y7^leJZiVM&?p$7Ml=_>);(SbI?(kW1`{rI&@@~CBBPggVX$guJimq~awm!p^ zae!&W6Rcrwr{>T-&DpqEE&Li$cjOPG(+Z4ls8yk_lszAr%J+yX&%xO-L$6)oyBKIQ zhWAUysb0pfBGH2SdmIB|_EiWHZOMURi~S_AN*3b6Ub$u}5m#VC0s&Er_%jQy+xZ6a zbU1b9iq#ol%2 z_mQ4U5UX6XP(GagFlNC6iU&y!RfODe@MmuDhxLhYz^=D`X9j%e*%$8-GXvs~O789O z`Bf8PTuXwPz^cV_0xhUp$9AQ8{0Pg2X5}Q*Td$Zrj;o><)1y|1S$*eAA{<95FV+4| z>FSqL+~J*xq(fEB71e~0G1zJ8fa-~{MiY&xdnwcxuDGCi^R$9~2QTXKtq&N9@Am~p zxJ!sx?OvANd>73~M1{VpTgYLWnq_rZ21&u2gZ=AT+0FU^*Yj&7NEuIf@KqY@w7N7S2I_5CO|{Tbpy%%R6D-5JhnFnJy`Wh>W}U1I9U11bO!@EEg$p`q|d5uuWbxGCaFf!( z!PVE$8r_&Vmq{!k{t+J2st;%I1?dUVL(69cP>2;-%};#($d_E2PAIjfB^5WTp^aYL z%XEI9pBTmca4TA%hlVsrK~Z&Zt~P{a-=>Osp5sK|JY-Df2W1KAjw`=BskBH;7W&gU zA)J_*EI_x&_)By0)6LnOmqTYF7}ImEG9cb9fR7EzI9ESvf zAwn=4k;G55JJl>qy@)VsWP~rUsGz?21kxnFE_~QQ2j?2xtkZYGt2Wl5%QQgVfccH$ zz`cC?H|Y$);3nZZhKj#MWpe2YQ33>V^;my=HapZeQ>_bQ%I7S@6EnsWXqgFu)e5iq z%}$t82N%kEuet4X|HhN4nacP3V~CMA+5rsG#b`HQ`WrS*rk(FO8g*EDSN0D3XSK8Y zpDSH0>2$m4$(-{jbS>UPt89z3C40~iEp8?|pU0*+CYO77T>F|Qd+%_$_sUJL$a=+O z>95d(3p>el@}CTV6&{O5ASKPVPS65>;O`jnqVUIBX!ZjU?Qtcn!(Aw3CPG|acp6Iw zO?|6Smfm&l0UxKOo)K+TLx5 zGw}qG76YCKxg=MRv1&9UTe0C%Vd@S1*EC#Xgww=euGX8rkBS^iZ`k#=EI_;?Tk{fN zv7u38^5P6&OWwlP#N?+YZ zSE!!xEt)%E=CEbHUZDdxEjxWNIP9b}qYMXrd#Ywgd4^#+{>rM#E6!1r-Z!}xT8f}8 zhFo~$qQBf>tN4w;xrdI6HZJ4<=OjD%;$4b^&Rr--l?<8C@R8~Lo`~UphP$9{L>>?WD-oxX6cCbN&aPGo&iW9A-=LIJ|28YsH&JtyQ`JM49xn zbRs&9y4}@wF*?w5O~{W#JqD1oZ!*r zx|n`3UXE@%dmR!p)p>93LjML}_mWfX?EBmh&V%j226d5s!L@*%*eU=x2hjJP3ffMH zjH@nnJ(mzM;$lxZ{rxJGD_X2=AogMpKn)Tj6-_)?ycK*wcg8mK6fqS3!~4Mh@$6D# zL#5Lm**;t=$A3phEg44SDuy)tK8~6q2z;}9mF}M!chbbCM-)9Ue7EI!^lqnq`x7u= zZtDAb3*@8&`TF26S_a{;`W{v=#AN@Jq_-=E$(Lbs7yh$ugV$(m01pUct)$sp1mT)U1thHm55E3iQ(ht2bI&WU&n+ebY5AJKDb5`5xoA~Fr^Ff2ZD zOb&^Gp1%~C7YNyH!UC~o%T?FE$E1GCqefk&ihlQBx9IQR2D@XBUHt6f5+_aQCB3rA zsJAzYvRmkpXuO&gW_wdt4Yfg3EAUwsoOJIh`~SKj8#6xOdAI*+t*qi##lI?%FdOCJE2AQWFMd6G{_yM?jhILpbv|Lk^qV*e<}C z9RLLKcxj9F0&r)#9=+ss2M80@ukHt$6dDp5%OQ)?=>{>YDd+F_Dzpq4!|t+jJ95wV zRv_8cV_byrQ2Q1sfwX5yGmK%~_ah}5C)hC$l2EDL0cG5o@{oHaHk&PlND z8Kah7lQ6?3tx4$7ywIJ!+8>E5J?SQXwZHS}yBi^YnQUTqvuvNwCY7uKTWmVom#%i^ zxOCYwJZ|O`Auvp(?1dZyWS5rZ>Eu)&&}mU!lMl=(qo6?V!oRCwtdC7e_Ps%%+1ifU zg2kE_?yP+NVp`0~k(WC+-|}VEu%Wb7`Hw|}{X>_BAp~&~&z!42@Vw)+)2lI4vsleD ztdTL2%>Uu;EIq0xw&oD!mF`i|hh~E6;~ML{>k#l%leoF9N05`KZlYzvOTn~7U)_|; z;1i$@$kZsNw^M`yefXN#4-5lnA;8}GZuUjh0`n-R0K9gT(~0mgk)gnyjfGKP1zuah zwFT$VD_AZZkh6;9!crf!Q;t2I1Zf^6-anMitj>pEUzko6sG&1|>|(iwVv`gUaF;r0HNkD0a19xc01gSx7>{KhO-U0{9s`EW+F z_I3f!TWTgUsjaR8xf5iUws0S4w?}gll)Y!X;-!8K6@}xuW;Yc?G1R7}UF%Q!miV!y ztzDipajlLsn_(X{u#eN_X&wPZaQ?_-*WflZ1}jLGujCt`r`X{PoScl-!T5uOHhdJEC1fg9^0Cm4Kh(ZnI`vou#HlJVNYEI|fa=)iT zBcn^r_EppTTYG_XyYp~)XV?{Y`Agy$^B$2_LLgdoEq0+cT>7B)qZ$n_#!stTHi?g0 zHQWv04`I zoY7M4B(7JOF;~pc-g67S;yrto>fd<`)px!G9_(2%*GTI<;UUf3RM`^W-bC65aJJn} zu@&KcLzG~3M0z*ugP=~}*A?b?+^-3=O+*9soq(ja`5m@h2v>a~e{Tnx+vn`p0iVg6JMF6GK zy-Snc-=P~WhaRCT+fIs9@*z3S6S z*F%(wAH&rDL?r%hgHgn`yi`ST39V81(eV1w0tP7#u}@+s?Zl$CkqW2DyoDI2vJF@f zW8bJuZG6$&K58|jp@x=Wu3Pl5_wCfut7tP-ydx{nDailUW~U${PW(d{MPIWbO%dks zFZq5RU95^MH`ZF)TS4C95SF+{5UcJ3Q^qbgUu9N8GPi54PXd0Mi!>YeDr@MSjZFiY z(GRbhaawLCc^nIVL;&6t^Jr-i^ksLaaa!GquRi&s?!6itfD8@;I<+{UHKTrTJ?&L^ zGB%72E!SL_7ZMxsV&;lp)+3kU%V-J6%a}{neMgBV7Si=lCpt-i71T;S6()e0(P=Mj z*!{u30l@@A;F6zGsM(Sbwi@FRO4h(tpF+nxpF~Q*-0D`C!k1{VXmadf?Nis}hfiI$iu5gFL617U z3hq9+pf){~Z=LJ$Fkorh4SBr*Sqf;PhtQPEz|Ruw?9~iQhsJp@OeX|wao^qvh2rx@ zya0ZAuYxD8m3@pym*l3XJX#uqT6uF_A4~mY%M}(B)t>xh9tz3;rJMLNY7F}A9jF%k z*!2w@h-df1l?tst}N5D{iSK|z}Bum5oZ=YMnf*#lg z&v9Sf;#h1r2q3R;)QXg);lw2B8l9s+^B@blw9$vnOm<0G=J%8!Ra}GUD%>&a&sRC0 zPrjJ@Hz#emI&GLj7;Ni@9e-biZpNxSS*XV)CWHa@er18X-&u;}9-3W0Lq*Wj3Zn|! zT%{*7;X3<00{>#>8O;kV@>9~g?sZ>*x^%BQ&(vNTpZh68Io`q1(6GYE5t%4yOJJ2U z3_H_Nw}44rKoXrZ+|5EzD%EBdA1VIRAdC ztL8jH|C17fqtowX1=bo)AtA@{q$ivx(pm2jQ_$m0ad>9?fr1i%pek**R|XsQ`@@ej z(bwt`;%RveNs9Zme;^CA;tU+QV?NCIPNo*+4D%P(CZlV z(<=B!R!xru>=csEK+E-^ZbSORWBw(>Mw_~k@O^0+$2)?s2<9BFbj^TmfRK^LNsY%I zkgYv($4=Sp4TVVM^f(K$)*_F~{SXl%gvU(qJe}F?bBcJ7f_l00_SvVq=ZRTo{XE1( z{^4;-qawCDn(=yd`<%NwvNPF$Oaf(2x^~#H{vkAT=^~}{*{)rK^_scZUT5!^lyv%;tJp4aWcr*Z=c{ad z5wLB$IdVjG*C*^t(U{WKAHo{Us8v^c+;%|!H#)Xr7P!~n2>^GU#xv1N1}3s}SUVqN z9|G?*W%d%Z|JfdH41n>yf)u|t-t_2m5V7mgMWFm`8=6yd^oBHKL^(tJiaSlquArpU zYAd^EKUTkL0g^gdQ`VvB9D<_9Tsw7jk=Sq1ZL=-3ibUq}IJaBe|F}Z`sYWtHXlRcF zk+@m6f4IGEcT=}PAoWtMV>W;))=f)aBTIHx8`jj85T%lPX z@q5aJ{IucqVN&Vvt_7&o6_D|8xU>s!F$arI@BSLv3kK$f0}Qr@U~=vt^rsT1+cD(e z1};f0r(cW>;pmxlYCbsFg5~T20J}B$v=ce`6dkbJ9r47Zt;jE!^&JlXe|l`V^SziFr05F<)xCVMSKoOKo|BIfx4EA+SuEp&LLHE_nm7B57^}pYPwK+`(IB2A-LoVZl#u&sSo)>hR zFKIbE=P*`3N(k3Fr6BM41EX0ro1HojxdxQUz)VU~=%ZH(xIcp48kt^vc+~A^kX18w zit(Rze+iAS$C?NF{Hqwg>Q;a98zMe8V~;R2wRY0AQFvZ=fDuU2}5$DA;AA)r!?H5 z*#07uVPvyy|0y%-rNg!nl0j3GmeEW)-UA`+3{rlTsb#>}(y4qK56FrE4Cp2vvCzbK zW4yUqJ@+=!)UXVS^#2a@h&6gQi~)2g}=+0nv8lw9+-fR`B$ zE}xHw&$YQ#iHZyR=X3o5pKIPeZQi@91tqXYtoeX_n)5A!m^FYgU~9bSPFUaq3k@q| zG#Y9C_zvA_1wsbx@|1mmxc3yVEA;bVKIDRiiN?L=i}2O~KTO>-`*AH#bJE^rYov}` zAXsblpCCAD?Ie3=XlJPw$*DMDYjyL!16|8Awfimr^*xYW{*&7~GzW};nT&*w362Rhjoa%V;C3`lkp1ROkiPH^Og4ySW<< z-e$d99tL^}G_9ZpR&vctLq4gb+2TDy#r&xUbQenD>;^9~w%o*bu(dU*p&^JIJ#wy3 zDH{+4zEk7+^PjR}_U6nE?(maWn=};8WQ06Nh+K}^g4b~|@a+v?yEM1t~H6%=CF|6nR$kxqIjwHN@gZ%s4&S87hLD%9!C4?>g)QD{1-h^VCdsn@E14zE}oeDYEOw&@{;2y`m5X zd$H=LsmN~p3*35>FkZAqa|U!u&g{F!Nm5e#Tb4TLc*vzOg2`%h-g~+n++K~KhszHD zH4ij(F5jrXI@L}CnWv6CHupnhGdsOF=fd^kH@$np$-G9^`1|SQqU%5V-H2$U`L`=? zz9Z8wQCM(q9^|fOEG{KquIgHR5LFDzl?m+hv;Vz(v1Xv*m{^iI%uHd^-wvlg*<$pT z9)$4Rf!jq#f$%jINmOf~LHiUC7QMd(%|zWL-~U?I{^z$U=|I?IO3}$yFM&w7_JD&u zuT){jrv#@_pBD8O92Z_e8YvG@tBnHSeh)x<96A`wm(t;=Sn>R0ah2_p-TWBaRgEuf z#91c5Sg~!8Qw;QjX7_7~;`w$tK z1ZMj4ALpy;Jj!|4(XDj3LI~)XsgNf|u<2=rj;SpDEZ2&o8~nVFQU4!*UVxR$o9-Pk zf^HW{B+vs^ACrL2)|Y2uZu2RYajv&72JZX8V|Vqz3ysV23~eI=&}-R3jAc1&_=iG| zo{a8G%M|&j(LQNLr2f$P11&Yz0yKSUJ2c$e-`P>xYwzbl+4VQ(`#*oh8U?h`#K;?} zB8sTVKsxx2H$-ME$$hO~Hs%|nE2*FHPzq41sKLp$y?f)Ahc=1K>brN%|9ztW{qZ8= zBC8gft-lCzPI7+{q{bs+C0)e8hN%R zobiNVw|W|8l-IDAMh|yyc#J?)T8YGQESc?J^frTY+mirgmqM?K4C5nrpWXRzejrWu z(4W)k4ySX`AY<;Gk4b`KURKPL7^b)*HQgSDAT%2V%zXo1a6@QO z3SqoIuj?re3`{UJC#BF_SLyChh%Dr00m-ckzqw$+N3E4mchNih?s9C zk{A#~)|m*6_ca(accIyue<2cM-`T9k1<*$}S;0KNRSEn2k@|GrtC&-Fp` ztRl1p!DS5>k=C{8;d1Stt`W58zy>h7c%yv`7O$Su&%LT`qYlfg*6^aGtTKS^Hgn2n zbI}pmQ>1#lKYhDWQ`ueYz_957v|C?*H8$@YxRdJm<@LKRGUi*`kotwWyYtLEBFwK@ zqg{^py@4ck@2UJtM}Y`y9Au|D>mPhHD06fD$Nc|(OArb*E9&+4#O<_*?6+h=Hq{}- z$TUbE-B)ZjhUBLpOe1n-02x|VIV zz}v$E?=d_Aq;W?OGJ1ljqx#({14;`W1MJT)uyk19_O)S0rl*#iX+(ULce4f5SoVl~ zW)E&x5nE&kD`buehiO|wT9~2+Q7nQ=PjBN?&ze-byB1^7KduLEKm5b8@ZE5zU}`W2 zc3+6Y9K`LFAQ%iwPK_A94R@qBE4@*h4p z)ek9H*>Czm2*DkqQ&{t!-!tMr>3?onv1cIunY>0rfoD(X!DF~zbdxRn_b{6pdytGc z>2i%AQ_;;`H_#M}g^T@T(a6$-8XOmssDe_!-3R@T5ooeUqsNy+&OLMgbQOW!sy8ly zeAW}IfRF?SX%!t+kS$@KwW6b?-9W*t^#LRX9v@0Xc6bOIJ$qUNHL)pl`y->oREp(@ z8d|k)h~o;z!5fZ|aikp4ae`!zrbH^F^HqMJ6BiCM@*93)-TAai`25o%z_;}?XfNB{ z&2Sr3f$bgK;L%v_Tw|a#mLom0|7;7~m+#yeT*vMpvc(S<0pR^0gA)-*8r z>nYs+;p~C97KglxbQ}**t9TWhGC7>JuJUxLLkMvTG zum@;zXF-Vp-Be?TBH~n;CXgACebsCKjV~?r+dp|KOtna4lKD)2HlH7Af`1(y$@P)r zr2!q!#CrRhl`KJjIgqQxZuHtJN(g3tjovB>dcju7P3h*jNmyk}mGAD;eAE1Kf)J?{ zMhoPwpsgS2@nnQDr_mt|(@GZ{LIkc>$@6`#Vi25~{JX{>DrL$!=0Yrrc$T$s>63e9 z^h#Io|0CQ?`bZ9>jS_sSaCBYlPc>v0o4dk*@EL}Nan70+xC|Wx!ya;M7NR^%T|C4J zdq}T->5;eH@d(ow_-<2%?OU`0iqt4ALLyY`;e{JC0>Hms>efoJXUX{9?F}p>6OVYH zA#`4o-g6h>O^%4u52lN)C1!2=JOIS2d4#wrp|{`*rHt=N#xEb>3y!$XD5n!8KsMi( z)gSE|3*N#`BQ~(;DMh$d3%MNko5iyH|NmbI?QWC`*bmGDgSNteC;_P6fCY|@Tw6Vf zs)Fjg@SefheJ-zB1&9L$T*Rz@>5p$8k>l&?%T@|bg3R6#$X2~mk!e`8H6Rqwze^%R zR?5rN1>P49KvNGG{KEW;0flU83jm19roB=hrcq8|T?hA-rtR6_o9gRjS#E>YACJ0a zg9156W{=%|IOr17s&O1zTR#Y;@)MY2jQ_Kr_%}PdRprk&=W9zAluL*nYMBQPN_I2` z-f=ac4;ofLw6=3g(``weBr(S)$ePr6=SajYodAYThvEzKI`Dl1e2vKEFZQc(}5~ z`B&1rV-4FUIZ^4BPM{sHgAZ>}7m@lST?f*EWRtN2wacsbXi#XeyR~HC?TMQVlHNYn z&joMCpopu;)+*}=AaZR;wyEN4?RZ23lEK%H;|?kR`=|X+4~zWjvJO(v=1iXwvm!Cj zlCTrftMPQClj+v__*AI!*S0looqWZafJ3$3?cIY*SF;-!^xLe-T5sjOG+^$Xav*HWBYBg5KKI2!Q^U z4%MRsYz7N`)4R7`Nn%ggf;_}m19jHCt&($2|Gc4dacgUfcJk|K#|?v)Msp9${7> zQhv^k`ULsaf0`A*bINUc(#@G9tALSL76Gx^~WC`SbUms*_ch>+Dnv*wejtbpfCMjE3^v3pOb#; zDv3%;LPe^|GM_ElT-oS)-TIELgrh@5cuKLYLwY=~{LAwou+qbXaLHj{pujXqcN6XB8)u&n-vcr+&dcm zA`Mar4*mlf%UFXyOWXaqjvI*P`M*xdpWoVo@XV?u>p~tXQaS`;n}>ii|I@5Gni=Re ztRXD&;m1l4)^dY8E*2q-)ajj?gci3;i%3BLOQet_BZvTVqL0|J|=`He!E2=2rJfKr+6rKYU2)1#hbhMjHbJOhp0f3ND*eyW} z7a&w74gfA>FB||c>LgA?)zV1$uVZi-alBA6w!Zd{=Yj<}7e!gzR}py4Da0@|7aOTm zJL_aUKxsxHPje1wRXA&u&2Gq@2?30^#*XDFZaEaMR^~kR6)OEg^D(?R4!3a*g0cy) zs~ban7qWk|kXb?^T{klTHFVwGYcN6#hRNx6X23tiSBqm+@%978vFF#j(^WDN**v=G zs!WnTYc4VV&=w5jTxZdDwSt$b36Edy0pfy=5gqn7DJAxNkJyfRWC*+64FPEMDvFV= z4p}e&`N_hYkka)F`tHk}w=&totlSwMubho?`G ztBl?b16o-SAeHajd0T1sv!N0AjHT!iD?s)>bWqjPZ)Eux2h7Bki>@4B1D@OW&YR+Y zogynx@{T+H!=Zv#NE_zW*JgYKb1hLhi;(3=5tH`Z)v#tJq!1eBgbpGkMH8VYG8%4@ zhi{0eu-Tdf3Ie-Uq+GwSA9=EQSnEkF*$q$v4?_sJ$Gxhd$K^O~mL6R98#pqy__Y!Q zOXj94N!IGNfPWzSd;cB$;)7w$xzmJ5TOcP$F!SbrpvR-MVLlwu>%7F@Fg#T5nChmv zj;T6tlkw}(y%52t%uLnEuODgwGvDn(spo=WZ=hY44gky*)kX0|ZZPJjr}88f9}Rl+ z;s4s{Lyq9GcF7E23r}Qsf{Y&4%mnoJOQ65Kp2-UEHcUAaxZ!#Us18~eKJ7Djp`?Z% zFsU6~d3GPx0t!?mae+?#xX{9S3uq71#*INuK;wj3k_;hfxd^!JcM><>W}Mo+K!+Vn z+NlO~!!g_7Z@_&(!Rt((cY?Bhz!acST|v`xp?k40ivyKdU{1N@DSYbzaNIfvSoVVk zvu^^&_UBx%(rIy61aivMBuj`>9&rPYCc?eMgrPA=1LzZxI1xV1MknAgMw%)Lt06W| zP<3Ev*$&*(2_KC>VL5n#_K2@Mee|Hxgb6_3w9JTrY=3Qx0rrfaoI31-y?6)ipS`38 zv~o+VU>|$qA)xa#_b5g~D*Ofpj`uif1)#PmLK^27JiHDTY~Wb3^8j#AW!X>3qAG}^ zL_m9^AO4Au#-$zUgrq5;v#?afn+}65)z}J332&D^Jb*K{l7K$#Tzbfaa>m8>m4?beZCWe?VI<{g*0k1539G19e*1UxV)oM|ZVGT4M^ULtE+m4DaXbbe}Cw zF9)V6fyQ6%*S0YxTZyEELJ!4INM->J;+|Rh%mw=(E<@uN0go_-Cv!WybH6-z`Lgj) zq{4(}OtyLXxofRVd_He}@&#hG#vEYmANsk`3};F)@JI-Vg!7@pbL30{&nmSVGi!=khl;n^mjwFVf3r+%~VUmsawibB& zO|S#S)AOhzH5{58+(31F$LTYkh&uiWux0CEcQ681tKVTk3NSNGSz}*~Xd7$H1tr+$ zr4Lu2M?EAH0ZXSxK$|+552wI$U}KLM(7hL@&!3Di2d)}yOprg&C9h(Q`y}8&wcrKl zP%(l7%qmHnG!YhU0Tq2_(-k!Sl;Kkmxq3vwf9;~oh`o_Z&c{yPhC|W;8 zZdQjo4el>sIsy8jQH8U`S)pz+S96Ajz@os~_ou=Z`=zd)_jSI!>9=){=BLe;^LfIF zKP}9_=~02$MK$3N zFg*nQcvScTVF^A~1F-n}V23MukYX34Bq#>x+OBv9K6$j@!@*TxI8+S@UmOY$_IeZo z+Zvj6jFvUHq6pOpymch1QiY?yl)K~y>yr;Sig;Az3_yqMVMp^h4sN4}I52@f5}$Aw zS589H2n=jFgs1VcMgtoyUPc2OJ-v*kY_#kpFj|bD7oVfW$Y?QwUT&b($)m*xW--$E ZpZR#l?b$)~$?gn5;OXk;vd$@?2>=hQE!zM9 literal 99007 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 z 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�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 zɔLCE8~=?y*kk2eOI7c4&JpepQ<8BaiF*zcvPvf%BmX(^%SpP3H+Tw;Oe1wTtQ zX1|XyYV43dqy%Aj4Bnw<&Gtk29~#?{LOy38)oe?1iodf);cj%2nv7EwL#B{2fay!S z9ZK}4ra&!{$-gC8Qg#Na&a&`432KxuB-F$Zf8^>oj+#*J!DY8sF=3ufQwCJ^(Rb?DSeRIPA^mSR1_vQ{ zww$=m`G3x&aeeO40fdRq%>vh7ujC^^4SpR|w2=J6cl=g^RJmfd*#zoh$ieC?a&dX8 z%r*Xy_>*HnIMB6!O8b2kVZtxu)Z7!% z>sZjhR!Z3$Y_pjJI$N6pD9#M*dA;_3FDgo;KK*TxBkzM1z;|F6g8X55{@J4O;Q>#Z z&o}$cE&aC>;6Hv9HUL*!zBf}*@(=gfuW9h_|33$w7M`7D{D%wuKNVX#ZR>%=CprFzyEhO0@Lg*&Koyw981GQRR0!x|L;WI1;xj-6koD> Sm?c<(8`9$Puwqd?-~R)TCnjA0 diff --git a/vignettes/Customize_Balancing_Formulas.qmd b/vignettes/Customize_Balancing_Formulas.qmd index ac514158..e913fea3 100644 --- a/vignettes/Customize_Balancing_Formulas.qmd +++ b/vignettes/Customize_Balancing_Formulas.qmd @@ -22,8 +22,6 @@ This vignette provides guidance on how to customize weights formulas for use in The code contained in this vignette is also available, integrated code from the other vignettes, in the ExampleWorkflow.rmd. -
- ```{r, echo = FALSE, message = FALSE, warning = FALSE} options(repos = c(CRAN = "https://cloud.r-project.org/")) @@ -34,9 +32,6 @@ require(devtools, quietly = TRUE) devtools::install_github("istallworthy/devMSMs", quiet = TRUE) require(devMSMs, quietly = TRUE) -# devtools::install_github("istallworthy/devMSMsHelpers", quiet = TRUE) -# require(devMSMsHelpers, quietly = TRUE) - ``` # Core Inputs @@ -77,7 +72,6 @@ obj <- devMSMs::initMSM( tv_conf = tv_conf, ti_conf = ti_conf ) - ```
@@ -101,7 +95,6 @@ For example, to include 24-month maternal depression in the 24-month weights for We first specify confounders to retain contemporaneously when creating our MSM object. ```{r} - obj <- devMSMs::initMSM( data = sim_data_wide, exposure = exposure, @@ -109,7 +102,6 @@ obj <- devMSMs::initMSM( ti_conf = ti_conf, concur_conf = "B18Raw.24" ) - ``` ```{r} @@ -141,7 +133,7 @@ custom <- list( ) ``` -`customFormulas()` then checks and retains these formulas for further use with the package. +`createFormulas()` then checks and retains these formulas for further use with the package. ```{r} full_formulas <- createFormulas(obj = obj, @@ -162,7 +154,7 @@ When creating short formulas, the user can also specify an optional `keep_conf` For example, to always retain income in all formulas in lagged form, overriding the *t*-1 lag default via `keep_conf`. -As shown below, the `createFormulas` function now retains income at 6 months in all 15-, 24-, 35-, and 58-month formulas, overriding the *t*-1 lag rule for that variable. Without this specification, income at 6 months would have been omitted in formulas for exposure at 24, 35, and 58 months. +As shown below, the `createFormulas()` function now retains income at 6 months in all 15-, 24-, 35-, and 58-month formulas, overriding the *t*-1 lag rule for that variable. Without this specification, income at 6 months would have been omitted in formulas for exposure at 24, 35, and 58 months. ```{r} short_formulas <- createFormulas(obj = obj, @@ -178,3 +170,10 @@ print(short_formulas) The default use of `createFormulas()` with `type` = "update" creates updated weights formulas at each exposure time point. Each formula contains all time invariant confounders; time-varying confounders measured at the time point directly prior (*t*-1 lag) to that exposure time point; as well as any time-varying confounders at greater lags that were not successfully balanced using the short weights formulas. When creating updated formulas, the user can specify the optional `concur_conf`, `keep_conf`, and `custom` arguments detailed above. Of note, `createFormulas()` does not check that formulas in the `custom` field meet criteria for the updated formula or identify any imbalanced confounders, and the user is responsible for ensuring the validity of these formulas.
+ +# References +Burchinal, M., Howes, C., Pianta, R., Bryant, D., Early, D., Clifford, R., & Barbarin, O. (2008). Predicting Child Outcomes at the End of Kindergarten from the Quality of Pre-Kindergarten Teacher–Child Interactions and Instruction. Applied Developmental Science, 12(3), 140–153. https://doi.org/10.1080/10888690802199418 + +Vernon-Feagans, L., Cox, M., Willoughby, M., Burchinal, M., Garrett-Peters, P., Mills-Koonce, R., Garrett-Peiers, P., Conger, R. D., & Bauer, P. J. (2013). The Family Life Project: An Epidemiological and Developmental Study of Young Children Living in Poor Rural Communities. Monographs of the Society for Research in Child Development, 78(5), i–150. + + diff --git a/vignettes/Data_Requirements.qmd b/vignettes/Data_Requirements.qmd index e38c1e2b..3964cf0d 100644 --- a/vignettes/Data_Requirements.qmd +++ b/vignettes/Data_Requirements.qmd @@ -42,9 +42,9 @@ We advise users implement the appropriate preliminary steps, with the goal of as - a list of data imputed in wide format as data frames.
-As shown in Figure 1, for use of the *devMSMs* package, data in any of the above 3 formats, must be wide and contain an “ID” column for subject identifier and exposure, outcome, and all confounders as separate columns (as shown in Figure 1). Column names can include only underscore special characters and time-varying variables should have a suffix that consists of a period followed by the time point (e.g., “variable.6”). All variables should be classed as integer, numeric, or a factor (not character). Auxiliary or nuisance covariates that are not confounders (e.g, assessment version) can be included in the dataset for use and specification in the final modeling step (*Workflow* vignettes Step 5). +As shown in the figure below, for use of the *devMSMs* package, data in any of the above 3 formats, must be wide and contain an “ID” column for subject identifier and exposure, outcome, and all confounders as separate columns (as shown in Figure 1). Column names can include only underscore special characters and time-varying variables should have a suffix that consists of a period followed by the time point (e.g., “variable.6”). All variables should be classed as integer, numeric, or a factor (not character). Auxiliary or nuisance covariates that are not confounders (e.g., assessment version) can be included in the dataset for use and specification in the final modeling step (*Workflow* vignettes Step 5). -

+
@@ -74,7 +74,6 @@ tinytable::tt(example_df) |> tinytable::style_tt(i = 0, j = c("outcome.2"), background = "#a0d8fa") ``` -
# Loading packages @@ -97,7 +96,6 @@ if (!require("devtools")) install.packages("devtools", quiet = TRUE) if (!require("devMSMs")) devtools::install_github("istallworthy/devMSMs", quiet = TRUE) ``` -
# Exploring *devMSMs* Package Data @@ -141,8 +139,6 @@ head(sim_data_imp_list[[1]], n = c(5, 10)) The helper functions (summarized in Table 1) for the following recommended preliminary steps can be found at this
Github. Of note, *devMSMs* must also be installed and loaded to use these helper functions (see Installation). -
- ```{r} #| echo: false #| tbl-cap: "Summary of *devMSMs* helper functions." @@ -176,6 +172,7 @@ helper_functions <- data.frame( tinytable::tt(helper_functions, theme = "striped") |> format(markdown = TRUE) ``` +
We first install the *devMSMs* and *devMSMsHelpers* packages. @@ -197,8 +194,6 @@ library(devMSMs) library(devMSMsHelpers) ``` -
- Preliminary steps P1 (formulate hypotheses) and P2 (create a DAG) are detailed further in the accompanying manuscript. These following recommended preliminary steps are designed to assist the user in preparing and inspecting their data to ensure appropriate use of the package. # P3. Specify Core Inputs @@ -236,7 +231,7 @@ outcome <- "StrDif_Tot.58"
-# P4 Data Preparation & Inspection +# P4. Data Preparation & Inspection Some helper functions have optional arguments to suppress saving output locally (`save.out` = FALSE) and printing it to the console ( `verbose` = FALSE). The defaults to both arguments are TRUE. Users must supply a path to a home directory if `save.out` = TRUE. @@ -246,10 +241,7 @@ save.out <- FALSE verbose <- TRUE ``` -
- -As shown in Figure 2, users have several options for reading in data. They can begin this workflow with the following options:\ -
+As shown in the Figure below, users have several options for reading in data. They can begin this workflow with the following options:\ - (P4.1) long data: complete or with missingness that can be formatted and converted to wide data and (P4.3) imputed as needed - (P4.2) wide data: complete or missingness that can be formatted and (P4.3) imputed as needed\ @@ -257,7 +249,8 @@ As shown in Figure 2, users have several options for reading in data. They can b
-![Figure 2. Schematic of recommended preliminary steps showing the transformation of the 3 different kinds of starting data (enumerated in bold) to the three kinds of data accepted by *devMSMs*.](figures/prelim_steps_overview.png){width="900px"} +![Figure 2. Schematic of recommended preliminary steps showing the transformation of the different kinds of starting data to the three kinds of data accepted by *devMSMs*.](https://raw.githubusercontent.com/istallworthy/devMSMs/main/man/figures/prelim_steps_overview.png){width="900px"} +

diff --git a/vignettes/Specify_Core_Inputs.qmd b/vignettes/Specify_Core_Inputs.qmd index 63001b5c..bc12f3d5 100644 --- a/vignettes/Specify_Core_Inputs.qmd +++ b/vignettes/Specify_Core_Inputs.qmd @@ -21,8 +21,6 @@ options(repos = c(CRAN = "https://cloud.r-project.org/")) ``` -
- This vignette guides users through the specification of the core inputs required by the *deMSMs* functions (and helper functions). Users should first view the Terminology and Data Requirements vignettes. This vignette helps users specify core inputs (e.g., home directory, exposure, time-varying confounders, time invariant confounders, outcome, reference, comparison, high/low cutoff for continuous exposure, and balance threshold) that are used by multiple functions in the *devMSMs* package (see *Workflows* vignettes). Their use and values should be kept consistent throughout the package. Additionally, all functions have two optional inputs allowing the user to override defaults to suppress all messaging to the console (`verbose` = FALSE) and elect not to save out locally any intermediate and final output (`save.out` = FALSE). Following completion of this vignette, the user should complete a *Workflow* vignette to implement *devMSMs* with their longitudinal data. Many of these core inputs will be specified at the beginning of the workflow in the MSM object. @@ -198,7 +196,6 @@ concur_conf <- "B18Raw.6" The user can now proceed to the *Data Requirements* or *Workflows* vignettes. - # References diff --git a/vignettes/Terminology.qmd b/vignettes/Terminology.qmd index cb200eda..70b93cc5 100644 --- a/vignettes/Terminology.qmd +++ b/vignettes/Terminology.qmd @@ -26,13 +26,13 @@ install.packages("tinytable") require(tinytable) require(markdown) ``` -
This vignette contains some key definitions for using the Data Requirements, Specifying Core Inputs, Recommended Preliminary Steps, and *Workflows* vignettes. A more thorough introduction to these concepts can be found in the forthcoming manuscript: *[insert link]*.
Key Terminology + ```{r} #| echo: false #| tbl-cap: "Summary of terminology used in *devMSMs*" @@ -41,7 +41,7 @@ terms = data.frame( Definition = c( "Exposure or experience that constitutes the causal event of interest and is measured at at least two time points, with at least one time point occurring prior to the outcome.", "Any developmental construct measured at least once at a final outcome time point upon which the exposure is theorized to have causal effects.", - "Time points in development when the exposure was measured, at which balancing formulas will be created.", + "Time points in development when the exposure was measured, at which weights formulas will be created.", "*(optional)* Further delineation of exposure time points into meaningful units of developmental time, each of which could encompass multiple exposure time points, that together constitute exposure main effects in the outcome model and exposure histories.", "Sequences of relatively high (`'h'`) or low (`'l'`) levels of exposure at each exposure time point or exposure epoch.", "Total cumulative exposure epochs/time points during which an individual experienced high (or low) levels of exposure, across an entire exposure history.", @@ -57,10 +57,13 @@ tt(terms, theme = "striped") |> ```
-# Balancing Formula +# Weights Formula -Balancing formula are formula created at each exposure time point, regressing exposure on confounders, for the purpose of creating and/or assessing balancing weights. The general form is given by: -