| Title: | Weighted Meta-Analysis with Pseudo-Populations | 
| Version: | 1.2.0 | 
| Description: | Implementation of integrative weighting approaches for multiple observational studies and causal inferences. The package features three weighting approaches, each representing a special case of the unified weighting framework, introduced by Guha and Li (2024) <doi:10.1093/biomtc/ujae070>, which includes an extension of inverse probability weights for data integration settings. | 
| License: | GPL-3 | 
| Encoding: | UTF-8 | 
| RoxygenNote: | 7.3.2 | 
| LazyData: | true | 
| Imports: | pkgcond, ggplot2, zeallot, caret, randomForest, forcats, utils, stats, grDevices | 
| Depends: | R (≥ 3.5.0) | 
| NeedsCompilation: | no | 
| Packaged: | 2025-06-17 02:16:54 UTC; doggydoggy | 
| Author: | Subharup Guha [aut, cre], Mengqi Xu [aut], Kashish Priyam [aut], Yi Li [aut] | 
| Maintainer: | Subharup Guha <s.guha@ufl.edu> | 
| Repository: | CRAN | 
| Date/Publication: | 2025-06-17 04:20:06 UTC | 
Compute balancing weights using FLEXOR or other methods
Description
This function calculates balancing weights based on the specified pseudo-population method.
Usage
balancing.weights(
  S,
  Z,
  X,
  method,
  naturalGroupProp,
  num.random = 40,
  gammaMin = 0.001,
  gammaMax = (1 - 0.001),
  seed = NULL,
  verbose = TRUE
)
Arguments
| S | Vector of factor levels representing the study memberships. Takes values in {1, ..., J}. | 
| Z | Vector of factor levels representing the group memberships. Takes values in {1, ..., K}. | 
| X | Covariate matrix of  | 
| method | Pseudo-population method, i.e., weighting method. Take values in  | 
| naturalGroupProp | Relevant only for FLEXOR method: a fixed user-specified probability vector  | 
| num.random | Relevant only for FLEXOR method: number of random starting points of  | 
| gammaMin | Relevant only for FLEXOR method: Lower bound for each  | 
| gammaMax | Relevant only for FLEXOR method: Upper bound for each  | 
| seed | Seed for random number generation. Default is  | 
| verbose | Logical; Relevant only for FLEXOR method: if  | 
Value
An S3 list object with the following components:
- wt.v
- Nempirically normalized sample weights.
- percentESS
- Percentage sample effective sample size (ESS) for the pseudo-population. 
Examples
data(demo)
balancing.weights(S, Z, X, method = "IC", naturalGroupProp)
Estimate causal effects using FLEXOR or other methods
Description
This function estimates causal effects based on the specified pseudo-population method. The FLEXOR method involves an iterative two-step procedure.
Usage
causal.estimate(
  S,
  Z,
  X,
  Y,
  B = 100,
  method,
  naturalGroupProp = NULL,
  num.random = 40,
  gammaMin = 0.001,
  gammaMax = (1 - 0.001),
  seed = NULL,
  verbose = TRUE
)
Arguments
| S | Vector of factor levels representing the study memberships. Takes values in {1, ..., J}. | 
| Z | Vector of factor levels representing the group memberships. Takes values in {1, ..., K}. | 
| X | Covariate matrix of  | 
| Y | Matrix of  | 
| B | Number of bootstrap samples for variance estimation. Default is 100. | 
| method | Pseudo-population method, i.e., weighting method. Take values in  | 
| naturalGroupProp | Relevant only for FLEXOR method: a fixed user-specified probability vector  | 
| num.random | Relevant only for FLEXOR method: number of random starting points of  | 
| gammaMin | Relevant only for FLEXOR method: Lower bound for each  | 
| gammaMax | Relevant only for FLEXOR method: Upper bound for each  | 
| seed | Seed for random number generation. Default is  | 
| verbose | Logical; if  | 
Value
An S3 list object with the following components:
- percentESS
- Percentage sample effective sample size (ESS) of the pseudo-population. 
- moments.ar
- An array of dimension - 3 \times K \times L, containing:- Estimated means, standard deviations (SDs), and medians (dimension 1), 
- For - Kgroups (dimension 2),
- And - Lcounterfactual outcomes (dimension 3).
 
- otherFeatures.v
- Estimated mean group differences for - Loutcomes.
- collatedMoments.ar
- An array of dimension - 3 \times K \times L \times B, containing:-  moments.arof thebth bootstrap sample (dimensions 1–3),
- For - Bbootstrap samples (dimension 4).
 
-  
- collatedOtherFeatures.mt
- A matrix of dimension - L \times Bcontaining:-  otherFeatures.vof thebth bootstrap sample (dimension 1),
- For - Bbootstrap samples (dimension 2).
 
-  
- collatedESS
- A vector of length - B
 containing percentage sample ESS for B bootstrap samples.
- method
- Pseudo-population method, i.e., weighting method. 
Examples
data(demo)
set.seed(1)
causal.estimate(S, Z, X, Y, B = 5, method = "IC", naturalGroupProp)
Demo Dataset
Description
A dataset containing example data for demonstration purposes.
Usage
data(demo)
Format
An rda object, with 450 observations and the following variables:
- S
- A vector of factor levels, representing the study memberships. 
- Z
- A vector of factor levels, representing the group memberships. 
- X
- A covariate matrix. 
- Y
- An outcome matrix. 
- naturalGroupProp
- The relative group prevalences of the larger natural population. Necessary only for FLEXOR weights; it should be skipped for IC and IGO weights. 
- groupNames
- Disease subtype names "IDC" or "ILC" 
Details
Demo Dataset
Examples
data(demo)
Plot method for objects of class 'causal_estimates'
Description
Plot method for objects of class 'causal_estimates'
Usage
## S3 method for class 'causal_estimates'
plot(x, ...)
Arguments
| x | An object of class 'causal_estimates'. | 
| ... | Additional arguments including: 
 | 
Value
A boxplot of percent sample ESS for a specific weighting method (FLEXOR, IC, or IGO)
Summary method for objects of class 'balancing_weights'
Description
Summary method for objects of class 'balancing_weights'
Usage
## S3 method for class 'balancing_weights'
summary(object, ...)
Arguments
| object | An object of class 'balancing_weights' | 
| ... | Additional arguments affecting the summary produced (so far no additional arguments are needed, so leave blank). | 
Value
Printed summary of the 'balancing_weights' object, including:
- Weight length
- The total number of weights. 
- Weight distribution
- Statistical summary of weight values. 
- percentESS
- Percentage sample effective sample size (ESS) for the pseudo-population. 
Examples
data(demo)
output1 <- balancing.weights(S, Z, X, method = "IC", naturalGroupProp)
summary(output1)
Summary method for objects of class 'causal_estimates'
Description
Summary method for objects of class 'causal_estimates'
Usage
## S3 method for class 'causal_estimates'
summary(object, ...)
Arguments
| object | An object of class 'causal_estimates' | 
| ... | Additional arguments affecting the summary produced (so far no additional arguments are needed, so leave blank). | 
Value
Printed summary of the 'causal_estimates' object, including:
- Percentage sample ESS
- Percentage sample effective sample size (ESS) for the pseudo-population. 
- Mean differences with 95% CI
- The mean differences between two groups with their corresponding 95% confidence intervals. 
- Sigma ratios with 95% CI
- The ratios of standard deviations between two groups with their corresponding 95% confidence intervals. 
Examples
data(demo)
set.seed(1)
output2 <- causal.estimate(S, Z, X, Y, B = 5, method = "IC", naturalGroupProp)
summary(output2)