Title: | Causally Interpretable Meta-Analysis |
---|---|
Description: | Provides robust and efficient methods for estimating causal effects in a target population using a multi-source dataset, including those of Dahabreh et al. (2019) <doi:10.1111/biom.13716>, Robertson et al. (2021) <doi:10.48550/arXiv.2104.05905>, and Wang et al. (2024) <doi:10.48550/arXiv.2402.02684>. The multi-source data can be a collection of trials, observational studies, or a combination of both, which have the same data structure (outcome, treatment, and covariates). The target population can be based on an internal dataset or an external dataset where only covariate information is available. The causal estimands available are average treatment effects and subgroup treatment effects. See Wang et al. (2024) <doi:10.48550/arXiv.2402.04341> for a detailed guide on using the package. |
Authors: | Yi Lian [aut], Guanbo Wang [aut], Sean McGrath [aut, cre] , Issa Dahabreh [aut] |
Maintainer: | Sean McGrath <[email protected]> |
License: | GPL (>=3) |
Version: | 0.1.2 |
Built: | 2024-10-31 04:35:31 UTC |
Source: | https://github.com/ly129/causalmetar |
Doubly-robust and efficient estimator for the ATE in an external target population using multi-source data.
ATE_external( X, X_external, Y, S, A, cross_fitting = FALSE, replications = 10L, source_model = "MN.glmnet", source_model_args = list(), treatment_model_type = "separate", treatment_model_args = list(), external_model_args = list(), outcome_model_args = list(), show_progress = TRUE )
ATE_external( X, X_external, Y, S, A, cross_fitting = FALSE, replications = 10L, source_model = "MN.glmnet", source_model_args = list(), treatment_model_type = "separate", treatment_model_args = list(), external_model_args = list(), outcome_model_args = list(), show_progress = TRUE )
X |
Data frame (or matrix) containing the covariate data in the multi-source data. It should have |
X_external |
Data frame (or matrix) containing the covariate data in the external target population. It should have |
Y |
Vector of length |
S |
Vector of length |
A |
Vector of length |
cross_fitting |
Logical specifying whether sample splitting and cross fitting should be used. |
replications |
Integer specifying the number of sample splitting and cross fitting replications to perform, if |
source_model |
Character string specifying the (penalized) multinomial logistic regression for estimating the source model. It has two options: " |
source_model_args |
List specifying the arguments for the source model (in glmnet or nnet). |
treatment_model_type |
Character string specifying how the treatment model is estimated. Options include " |
treatment_model_args |
List specifying the arguments for the treatment model (in SuperLearner). |
external_model_args |
List specifying the arguments for the external model (in SuperLearner). |
outcome_model_args |
List specifying the arguments for the outcome model (in SuperLearner). |
show_progress |
Logical specifying whether to print a progress bar for the cross-fit replicates completed, if |
Data structure:
The multi-source dataset consists the outcome Y
, source S
, treatment A
, and covariates X
() in the internal populations. The data sources can be trials, observational studies, or a combination of both.
The external dataset contains only covariates X_external
().
Estimation of nuissance parameters:
The following models are fit:
External model: , where
takes value 1 if the subject belongs to any of the internal dataset and 0 if the subject belongs to the external dataset
Propensity score model: . We perform the decomposition
and estimate
(i.e., the treatment model) and
(i.e., the source model).
Outcome model:
The models are estimated by SuperLearner with the exception of the source model which is estimated by glmnet or nnet.
ATE estimation:
The ATE estimator is
where , and
.
This estimator is doubly robust and non-parametrically efficient.
To achieve non-parametric efficiency and asymptotic normality, it requires that .
In addition, sample splitting and cross-fitting can be performed to avoid the Donsker class assumption.
When a data source is a randomized trial, it is still recommended to estimate the propensity score for optimal efficiency.
An object of class "ATE_external". This object is a list with the following elements:
df_dif |
A data frame containing the treatment effect (mean difference) estimates for the extenal data. |
df_A0 |
A data frame containing the potential outcome mean estimates under A = 0 for the extenal data. |
df_A1 |
A data frame containing the potential outcome mean estimates under A = 1 for the extenal data. |
fit_outcome |
Fitted outcome model. |
fit_source |
Fitted source model. |
fit_treatment |
Fitted treatment model(s). |
fit_external |
Fitted external model. |
Dahabreh, I.J., Robertson, S.E., Petito, L.C., Hernán, M.A. and Steingrimsson, J.A. (2019) Efficient and robust methods for causally interpretable meta‐analysis: Transporting inferences from multiple randomized trials to a target population, Biometrics.
Wang, G., McGrath, S., Lian, Y. and Dahabreh, I. (2024) CausalMetaR: An R package for performing causally interpretable meta-analyses, arXiv preprint arXiv:2402.04341.
ae <- ATE_external( X = dat_multisource[, 1:10], Y = dat_multisource$Y, S = dat_multisource$S, A = dat_multisource$A, X_external = dat_external[, 1:10], source_model = "MN.glmnet", source_model_args = list(), treatment_model_type = "separate", treatment_model_args = list( family = binomial(), SL.library = c("SL.glmnet", "SL.nnet", "SL.glm"), cvControl = list(V = 5L) ), external_model_args = list( family = binomial(), SL.library = c("SL.glmnet", "SL.nnet", "SL.glm"), cvControl = list(V = 5L) ), outcome_model_args = list( family = gaussian(), SL.library = c("SL.glmnet", "SL.nnet", "SL.glm"), cvControl = list(V = 5L) ) )
ae <- ATE_external( X = dat_multisource[, 1:10], Y = dat_multisource$Y, S = dat_multisource$S, A = dat_multisource$A, X_external = dat_external[, 1:10], source_model = "MN.glmnet", source_model_args = list(), treatment_model_type = "separate", treatment_model_args = list( family = binomial(), SL.library = c("SL.glmnet", "SL.nnet", "SL.glm"), cvControl = list(V = 5L) ), external_model_args = list( family = binomial(), SL.library = c("SL.glmnet", "SL.nnet", "SL.glm"), cvControl = list(V = 5L) ), outcome_model_args = list( family = gaussian(), SL.library = c("SL.glmnet", "SL.nnet", "SL.glm"), cvControl = list(V = 5L) ) )
Doubly-robust and efficient estimator for the ATE in each internal target population using multi-source data.
ATE_internal( X, Y, S, A, cross_fitting = FALSE, replications = 10L, source_model = "MN.glmnet", source_model_args = list(), treatment_model_type = "separate", treatment_model_args = list(), outcome_model_args = list(), show_progress = TRUE )
ATE_internal( X, Y, S, A, cross_fitting = FALSE, replications = 10L, source_model = "MN.glmnet", source_model_args = list(), treatment_model_type = "separate", treatment_model_args = list(), outcome_model_args = list(), show_progress = TRUE )
X |
Data frame (or matrix) containing the covariate data in the multi-source data. It should have |
Y |
Vector of length |
S |
Vector of length |
A |
Vector of length |
cross_fitting |
Logical specifying whether sample splitting and cross fitting should be used. |
replications |
Integer specifying the number of sample splitting and cross fitting replications to perform, if |
source_model |
Character string specifying the (penalized) multinomial logistic regression for estimating the source model. It has two options: " |
source_model_args |
List specifying the arguments for the source model (in glmnet or nnet). |
treatment_model_type |
Character string specifying how the treatment model is estimated. Options include " |
treatment_model_args |
List specifying the arguments for the treatment model (in SuperLearner). |
outcome_model_args |
List specifying the arguments for the outcome model (in SuperLearner). |
show_progress |
Logical specifying whether to print a progress bar for the cross-fit replicates completed, if |
Data structure:
The multi-source dataset consists the outcome Y
, source S
, treatment A
, and covariates X
() in the internal populations. The data sources can be trials, observational studies, or a combination of both.
Estimation of nuissance parameters:
The following models are fit:
Propensity score model: . We perform the decomposition
and estimate
(i.e., the treatment model) and
(i.e., the source model).
Outcome model:
The models are estimated by SuperLearner with the exception of the source model which is estimated by glmnet or nnet.
ATE estimation:
The ATE estimator is
where . The estimator is doubly robust and non-parametrically efficient.
To achieve non-parametric efficiency and asymptotic normality, it requires that .
In addition, sample splitting and cross-fitting can be performed to avoid the Donsker class assumption.
When a data source is a randomized trial, it is still recommended to estimate the propensity score for optimal efficiency.
An object of class "ATE_internal". This object is a list with the following elements:
df_dif |
A data frame containing the treatment effect (mean difference) estimates for the internal populations. |
df_A0 |
A data frame containing the potential outcome mean estimates under A = 0 for the internal populations. |
df_A1 |
A data frame containing the potential outcome mean estimates under A = 1 for the internal populations. |
fit_outcome |
Fitted outcome model. |
fit_source |
Fitted source model. |
fit_treatment |
Fitted treatment model(s). |
Robertson, S.E., Steingrimsson, J.A., Joyce, N.R., Stuart, E.A. and Dahabreh, I.J. (2021). Center-specific causal inference with multicenter trials: Reinterpreting trial evidence in the context of each participating center. arXiv preprint arXiv:2104.05905.
Wang, G., McGrath, S., Lian, Y. and Dahabreh, I. (2024) CausalMetaR: An R package for performing causally interpretable meta-analyses, arXiv preprint arXiv:2402.04341.
ai <- ATE_internal( X = dat_multisource[, 1:10], Y = dat_multisource$Y, S = dat_multisource$S, A = dat_multisource$A, source_model = "MN.glmnet", source_model_args = list(), treatment_model_type = "separate", treatment_model_args = list( family = binomial(), SL.library = c("SL.glmnet", "SL.nnet", "SL.glm"), cvControl = list(V = 5L) ), outcome_model_args = list( family = gaussian(), SL.library = c("SL.glmnet", "SL.nnet", "SL.glm"), cvControl = list(V = 5L) ) )
ai <- ATE_internal( X = dat_multisource[, 1:10], Y = dat_multisource$Y, S = dat_multisource$S, A = dat_multisource$A, source_model = "MN.glmnet", source_model_args = list(), treatment_model_type = "separate", treatment_model_args = list( family = binomial(), SL.library = c("SL.glmnet", "SL.nnet", "SL.glm"), cvControl = list(V = 5L) ), outcome_model_args = list( family = gaussian(), SL.library = c("SL.glmnet", "SL.nnet", "SL.glm"), cvControl = list(V = 5L) ) )
Simulated external dataset.
dat_external
dat_external
A data frame with 10,083 rows and 13 columns. The columns are:
EM |
Effect modifier. |
X2 , ..., X10 |
Covariates. |
S |
Source indicator. |
A |
Treatment (1 for treated and 0 for untreated). |
Y |
Outcome. |
Simulated multi-source dataset consisting of 3 sources.
dat_multisource
dat_multisource
A data frame with 3,917 rows and 13 columns. The columns are:
EM |
Effect modifier. |
X2 , ..., X10 |
Covariates. |
S |
Source indicator. |
A |
Treatment (1 for treated and 0 for untreated). |
Y |
Outcome. |
This function creates forest plots of objects of class "ATE_internal".
## S3 method for class 'ATE_internal' plot(x, source_names, ...)
## S3 method for class 'ATE_internal' plot(x, source_names, ...)
x |
Object of class "ATE_internal". |
source_names |
optional, vector of character strings specifying the names of the sources. Defaults are the values in |
... |
Other arguments, which are passed to |
No value is returned.
ai <- ATE_internal( X = dat_multisource[, 1:10], Y = dat_multisource$Y, S = dat_multisource$S, A = dat_multisource$A, source_model = "MN.glmnet", source_model_args = list(), treatment_model_type = "separate", treatment_model_args = list( family = binomial(), SL.library = c("SL.glmnet", "SL.nnet", "SL.glm"), cvControl = list(V = 5L) ), outcome_model_args = list( family = gaussian(), SL.library = c("SL.glmnet", "SL.nnet", "SL.glm"), cvControl = list(V = 5L) ) ) plot(ai)
ai <- ATE_internal( X = dat_multisource[, 1:10], Y = dat_multisource$Y, S = dat_multisource$S, A = dat_multisource$A, source_model = "MN.glmnet", source_model_args = list(), treatment_model_type = "separate", treatment_model_args = list( family = binomial(), SL.library = c("SL.glmnet", "SL.nnet", "SL.glm"), cvControl = list(V = 5L) ), outcome_model_args = list( family = gaussian(), SL.library = c("SL.glmnet", "SL.nnet", "SL.glm"), cvControl = list(V = 5L) ) ) plot(ai)
This function creates forest plots of objects of class "STE_internal".
## S3 method for class 'STE_internal' plot( x, use_scb = FALSE, header = c("Source", "Subgroup", ifelse(use_scb, "Estimate [95% SCB]", "Estimate [95% CI]")), source_names, subgroup_names, ... )
## S3 method for class 'STE_internal' plot( x, use_scb = FALSE, header = c("Source", "Subgroup", ifelse(use_scb, "Estimate [95% SCB]", "Estimate [95% CI]")), source_names, subgroup_names, ... )
x |
Object of class "STE_internal". |
use_scb |
logical scalar specifying whether the intervals in the forest plot should be simultaneous confidence bands (rather than confidence intervals). The default is |
header |
optional, vector of character strings of length 3, headers for the source, effect modifier subgroup and the estimates in the forest plot. |
source_names |
optional, vector of character strings specifying the names of the sources. Defaults are the values in |
subgroup_names |
optional, vector of character strings specifying the names of the effect modifier subgroups. Defaults are the values in |
... |
Other arguments, which are passed to |
Note that users may need to custom set the argument ilab.xpos
which specifies the position (along the x-axis) of the effect modifier header and subgroup labels. See forest.rma
for further details.
No value is returned.
si <- STE_internal( X = dat_multisource[, 2:10], Y = dat_multisource$Y, EM = dat_multisource$EM, S = dat_multisource$S, A = dat_multisource$A, cross_fitting = FALSE, source_model = "MN.nnet", source_model_args = list(), treatment_model_type = "separate", treatment_model_args = list( family = binomial(), SL.library = c("SL.glmnet", "SL.nnet", "SL.glm"), cvControl = list(V = 5L) ), outcome_model_args = list( family = gaussian(), SL.library = c("SL.glmnet", "SL.nnet", "SL.glm"), cvControl = list(V = 5L) ) ) plot(si)
si <- STE_internal( X = dat_multisource[, 2:10], Y = dat_multisource$Y, EM = dat_multisource$EM, S = dat_multisource$S, A = dat_multisource$A, cross_fitting = FALSE, source_model = "MN.nnet", source_model_args = list(), treatment_model_type = "separate", treatment_model_args = list( family = binomial(), SL.library = c("SL.glmnet", "SL.nnet", "SL.glm"), cvControl = list(V = 5L) ), outcome_model_args = list( family = gaussian(), SL.library = c("SL.glmnet", "SL.nnet", "SL.glm"), cvControl = list(V = 5L) ) ) plot(si)
Print method for objects of class "ATE_internal", "ATE_external", "STE_internal", or "STE_external"
## S3 method for class 'STE_internal' print(x, digits = 4, ...) ## S3 method for class 'ATE_internal' print(x, digits = 4, ...) ## S3 method for class 'STE_external' print(x, digits = 4, ...) ## S3 method for class 'ATE_external' print(x, digits = 4, ...)
## S3 method for class 'STE_internal' print(x, digits = 4, ...) ## S3 method for class 'ATE_internal' print(x, digits = 4, ...) ## S3 method for class 'STE_external' print(x, digits = 4, ...) ## S3 method for class 'ATE_external' print(x, digits = 4, ...)
x |
Object of class "ATE_internal", "ATE_external", "STE_internal", or "STE_external". |
digits |
Integer specifying the number of decimal places to display. |
... |
Other arguments (ignored). |
No value is returned.
ATE_internal
, ATE_external
, STE_internal
, STE_external
si <- STE_internal( X = dat_multisource[, 2:10], Y = dat_multisource$Y, EM = dat_multisource$EM, S = dat_multisource$S, A = dat_multisource$A, cross_fitting = FALSE, source_model = "MN.nnet", source_model_args = list(), treatment_model_type = "separate", treatment_model_args = list( family = binomial(), SL.library = c("SL.glmnet", "SL.nnet", "SL.glm"), cvControl = list(V = 5L) ), outcome_model_args = list( family = gaussian(), SL.library = c("SL.glmnet", "SL.nnet", "SL.glm"), cvControl = list(V = 5L) ) ) print(si)
si <- STE_internal( X = dat_multisource[, 2:10], Y = dat_multisource$Y, EM = dat_multisource$EM, S = dat_multisource$S, A = dat_multisource$A, cross_fitting = FALSE, source_model = "MN.nnet", source_model_args = list(), treatment_model_type = "separate", treatment_model_args = list( family = binomial(), SL.library = c("SL.glmnet", "SL.nnet", "SL.glm"), cvControl = list(V = 5L) ), outcome_model_args = list( family = gaussian(), SL.library = c("SL.glmnet", "SL.nnet", "SL.glm"), cvControl = list(V = 5L) ) ) print(si)
Doubly-robust and efficient estimator for the STE in an external target population using multi-source data.
STE_external( X, X_external, EM, EM_external, Y, S, A, cross_fitting = FALSE, replications = 10L, source_model = "MN.glmnet", source_model_args = list(), treatment_model_type = "separate", treatment_model_args = list(), external_model_args = list(), outcome_model_args = list(), show_progress = TRUE )
STE_external( X, X_external, EM, EM_external, Y, S, A, cross_fitting = FALSE, replications = 10L, source_model = "MN.glmnet", source_model_args = list(), treatment_model_type = "separate", treatment_model_args = list(), external_model_args = list(), outcome_model_args = list(), show_progress = TRUE )
X |
Data frame (or matrix) containing the covariate data in the multi-source data. It should have |
X_external |
Data frame (or matrix) containing the covariate data in the external target population. It should have |
EM |
Vector of length |
EM_external |
Vector of length |
Y |
Vector of length |
S |
Vector of length |
A |
Vector of length |
cross_fitting |
Logical specifying whether sample splitting and cross fitting should be used. |
replications |
Integer specifying the number of sample splitting and cross fitting replications to perform, if |
source_model |
Character string specifying the (penalized) multinomial logistic regression for estimating the source model. It has two options: " |
source_model_args |
List specifying the arguments for the source model (in glmnet or nnet). |
treatment_model_type |
Character string specifying how the treatment model is estimated. Options include " |
treatment_model_args |
List specifying the arguments for the treatment model (in SuperLearner). |
external_model_args |
List specifying the arguments for the external model (in SuperLearner). |
outcome_model_args |
List specifying the arguments for the outcome model (in SuperLearner). |
show_progress |
Logical specifying whether to print a progress bar for the cross-fit replicates completed, if |
Data structure:
The multi-source dataset consists the outcome Y
, source S
, treatment A
, covariates X
(), and effect modifier
EM
in the internal populations. The data sources can be trials, observational studies, or a combination of both.
The external dataset contains only covariates X_external
() and the effect modifier
EM_external
.
Estimation of nuissance parameters:
The following models are fit:
External model: , where
takes value 1 if the subject belongs to any of the internal dataset and 0 if the subject belongs to the external dataset
Propensity score model: . We perform the decomposition
and estimate
(i.e., the treatment model) and
(i.e., the source model).
Outcome model:
The models are estimated by SuperLearner with the exception of the source model which is estimated by glmnet or nnet.
STE estimation:
The estimator is
where ,
, and and
denotes the effect modifier.
The estimator is doubly robust and non-parametrically efficient. To achieve non-parametric efficiency and asymptotic normality, it requires that .
In addition, sample splitting and cross-fitting can be performed to avoid the Donsker class assumption.
When a data source is a randomized trial, it is still recommended to estimate the propensity score for optimal efficiency.
An object of class "STE_external". This object is a list with the following elements:
df_dif |
A data frame containing the subgroup treatment effect (mean difference) estimates for the extenal data. |
df_A0 |
A data frame containing the subgroup potential outcome mean estimates under A = 0 for the extenal data. |
df_A1 |
A data frame containing the subgroup potential outcome mean estimates under A = 1 for the extenal data. |
fit_outcome |
Fitted outcome model. |
fit_source |
Fitted source model. |
fit_treatment |
Fitted treatment model(s). |
fit_external |
Fitted external model. |
Wang, G., Levis, A., Steingrimsson, J. and Dahabreh, I. (2024) Efficient estimation of subgroup treatment effects using multi-source data, arXiv preprint arXiv:2402.02684.
Wang, G., McGrath, S., Lian, Y. and Dahabreh, I. (2024) CausalMetaR: An R package for performing causally interpretable meta-analyses, arXiv preprint arXiv:2402.04341.
se <- STE_external( X = dat_multisource[, 2:10], Y = dat_multisource$Y, EM = dat_multisource$EM, S = dat_multisource$S, A = dat_multisource$A, X_external = dat_external[, 2:10], EM_external = dat_external$EM, cross_fitting = FALSE, source_model = "MN.nnet", source_model_args = list(), treatment_model_type = "separate", treatment_model_args = list( family = binomial(), SL.library = c("SL.glmnet", "SL.nnet", "SL.glm"), cvControl = list(V = 5L) ), external_model_args = list( family = binomial(), SL.library = c("SL.glmnet", "SL.nnet", "SL.glm"), cvControl = list(V = 5L) ), outcome_model_args = list( family = gaussian(), SL.library = c("SL.glmnet", "SL.nnet", "SL.glm"), cvControl = list(V = 5L) ) )
se <- STE_external( X = dat_multisource[, 2:10], Y = dat_multisource$Y, EM = dat_multisource$EM, S = dat_multisource$S, A = dat_multisource$A, X_external = dat_external[, 2:10], EM_external = dat_external$EM, cross_fitting = FALSE, source_model = "MN.nnet", source_model_args = list(), treatment_model_type = "separate", treatment_model_args = list( family = binomial(), SL.library = c("SL.glmnet", "SL.nnet", "SL.glm"), cvControl = list(V = 5L) ), external_model_args = list( family = binomial(), SL.library = c("SL.glmnet", "SL.nnet", "SL.glm"), cvControl = list(V = 5L) ), outcome_model_args = list( family = gaussian(), SL.library = c("SL.glmnet", "SL.nnet", "SL.glm"), cvControl = list(V = 5L) ) )
Doubly-robust and efficient estimator for the STE in each internal target population using multi-source data.
STE_internal( X, Y, EM, S, A, cross_fitting = FALSE, replications = 10L, source_model = "MN.glmnet", source_model_args = list(), treatment_model_type = "separate", treatment_model_args = list(), outcome_model_args = list(), show_progress = TRUE )
STE_internal( X, Y, EM, S, A, cross_fitting = FALSE, replications = 10L, source_model = "MN.glmnet", source_model_args = list(), treatment_model_type = "separate", treatment_model_args = list(), outcome_model_args = list(), show_progress = TRUE )
X |
Data frame (or matrix) containing the covariate data in the multi-source data. It should have |
Y |
Vector of length |
EM |
Vector of length |
S |
Vector of length |
A |
Vector of length |
cross_fitting |
Logical specifying whether sample splitting and cross fitting should be used. |
replications |
Integer specifying the number of sample splitting and cross fitting replications to perform, if |
source_model |
Character string specifying the (penalized) multinomial logistic regression for estimating the source model. It has two options: " |
source_model_args |
List specifying the arguments for the source model (in glmnet or nnet). |
treatment_model_type |
Character string specifying how the treatment model is estimated. Options include " |
treatment_model_args |
List specifying the arguments for the treatment model (in SuperLearner). |
outcome_model_args |
List specifying the arguments for the outcome model (in SuperLearner). |
show_progress |
Logical specifying whether to print a progress bar for the cross-fit replicates completed, if |
Data structure:
The multi-source dataset consists the outcome Y
, source S
, treatment A
, covariates X
(), and effect modifier
EM
in the internal populations. The data sources can be trials, observational studies, or a combination of both.
Estimation of nuissance parameters:
The following models are fit:
Propensity score model: . We perform the decomposition
and estimate
(i.e., the treatment model) and
(i.e., the source model).
Outcome model:
The models are estimated by SuperLearner with the exception of the source model which is estimated by glmnet or nnet.
STE estimation:
The estimator is
where and
denotes the effect modifier.
The estimator is doubly robust and non-parametrically efficient. To achieve non-parametric efficiency and asymptotic normality, it requires that .
In addition, sample splitting and cross-fitting can be performed to avoid the Donsker class assumption.
When a data source is a randomized trial, it is still recommended to estimate the propensity score for optimal efficiency.
An object of class "STE_internal". This object is a list with the following elements:
df_dif |
A data frame containing the subgroup treatment effect (mean difference) estimates for the internal populations. |
df_A0 |
A data frame containing the subgroup potential outcome mean estimates under A = 0 for the internal populations. |
df_A1 |
A data frame containing the subgroup potential outcome mean estimates under A = 1 for the internal populations. |
fit_outcome |
Fitted outcome model. |
fit_source |
Fitted source model. |
fit_treatment |
Fitted treatment model(s). |
... |
Some additional elements. |
Wang, G., Levis, A., Steingrimsson, J. and Dahabreh, I. (2024) Efficient estimation of subgroup treatment effects using multi-source data, arXiv preprint arXiv:2402.02684.
Wang, G., McGrath, S., Lian, Y. and Dahabreh, I. (2024) CausalMetaR: An R package for performing causally interpretable meta-analyses, arXiv preprint arXiv:2402.04341.
si <- STE_internal( X = dat_multisource[, 2:10], Y = dat_multisource$Y, EM = dat_multisource$EM, S = dat_multisource$S, A = dat_multisource$A, cross_fitting = FALSE, source_model = "MN.nnet", source_model_args = list(), treatment_model_type = "separate", treatment_model_args = list( family = binomial(), SL.library = c("SL.glmnet", "SL.nnet", "SL.glm"), cvControl = list(V = 5L) ), outcome_model_args = list( family = gaussian(), SL.library = c("SL.glmnet", "SL.nnet", "SL.glm"), cvControl = list(V = 5L) ) )
si <- STE_internal( X = dat_multisource[, 2:10], Y = dat_multisource$Y, EM = dat_multisource$EM, S = dat_multisource$S, A = dat_multisource$A, cross_fitting = FALSE, source_model = "MN.nnet", source_model_args = list(), treatment_model_type = "separate", treatment_model_args = list( family = binomial(), SL.library = c("SL.glmnet", "SL.nnet", "SL.glm"), cvControl = list(V = 5L) ), outcome_model_args = list( family = gaussian(), SL.library = c("SL.glmnet", "SL.nnet", "SL.glm"), cvControl = list(V = 5L) ) )
Summary method for objects of class "ATE_internal", "ATE_external", "STE_internal", or "STE_external"
## S3 method for class 'STE_internal' summary(object, digits = 4, ...) ## S3 method for class 'STE_external' summary(object, digits = 4, ...) ## S3 method for class 'ATE_external' summary(object, digits = 4, ...) ## S3 method for class 'ATE_internal' summary(object, digits = 4, ...)
## S3 method for class 'STE_internal' summary(object, digits = 4, ...) ## S3 method for class 'STE_external' summary(object, digits = 4, ...) ## S3 method for class 'ATE_external' summary(object, digits = 4, ...) ## S3 method for class 'ATE_internal' summary(object, digits = 4, ...)
object |
Object of class "ATE_internal", "ATE_external", "STE_internal", or "STE_external". |
digits |
Integer specifying the number of decimal places to display. |
... |
Other arguments. |
No value is returned.
ATE_internal
, ATE_external
, STE_internal
, STE_external
si <- STE_internal( X = dat_multisource[, 2:10], Y = dat_multisource$Y, EM = dat_multisource$EM, S = dat_multisource$S, A = dat_multisource$A, cross_fitting = FALSE, source_model = "MN.nnet", source_model_args = list(), treatment_model_type = "separate", treatment_model_args = list( family = binomial(), SL.library = c("SL.glmnet", "SL.nnet", "SL.glm"), cvControl = list(V = 5L) ), outcome_model_args = list( family = gaussian(), SL.library = c("SL.glmnet", "SL.nnet", "SL.glm"), cvControl = list(V = 5L) ) ) summary(si)
si <- STE_internal( X = dat_multisource[, 2:10], Y = dat_multisource$Y, EM = dat_multisource$EM, S = dat_multisource$S, A = dat_multisource$A, cross_fitting = FALSE, source_model = "MN.nnet", source_model_args = list(), treatment_model_type = "separate", treatment_model_args = list( family = binomial(), SL.library = c("SL.glmnet", "SL.nnet", "SL.glm"), cvControl = list(V = 5L) ), outcome_model_args = list( family = gaussian(), SL.library = c("SL.glmnet", "SL.nnet", "SL.glm"), cvControl = list(V = 5L) ) ) summary(si)