Type: Package
Title: Sample Size Calculation for Propensity Score Analysis
Version: 0.1.1
Maintainer: Bo Liu <bl226@duke.edu>
Description: Sample size calculations in causal inference with observational data are increasingly desired. This package is a tool to calculate sample size under prespecified power with minimal summary quantities needed.
Depends: ggplot2
License: MIT + file LICENSE
Encoding: UTF-8
RoxygenNote: 7.3.2
NeedsCompilation: no
Packaged: 2025-04-02 20:45:21 UTC; boliu
Author: Bo Liu [aut, cre], Xiaoxiao Zhou [ctb], Fan Li [ctb]
Repository: CRAN
Date/Publication: 2025-04-02 21:00:02 UTC

Calculate sample size needed to achieve a prespecified power

Description

Calculate sample size needed to achieve a prespecified power

Usage

PSpower(
  tau,
  sig.level = 0.05,
  power = NULL,
  sample.size = NULL,
  r,
  phi,
  rho_sq,
  test = "two-sided",
  estimand = "ATE"
)

Arguments

tau

the anticipated standardized treatment effect

sig.level

the significance level, or the type-I error rate (default 0.05)

power

the desired power to achieve (only specify for sample size calculation)

sample.size

the total sample size (only specify for power calculation)

r

the proportion of treated units

phi

the overlap coefficient (usually between 0.8 and 1); use function plot_overlap(r, phi) for visual aid

rho_sq

the squared correlation between propensity score and outcome; recommend treating as a sensitivity parameter: a grid of values between 0 and the R-squared statistic of predicting the outcomes with covariates.

test

whether one-sided or two-sided test is considered

estimand

the estimand (ATE, ATT, ATC or ATO), or a customized tilting function h(e(x))

Value

an object with the calculated sample size

Examples

PSpower(tau = 1/sqrt(20), sig.level = 0.05, power = 0.956, r = 0.5, phi = 0.99, rho_sq = 0.02)

Plots PSpower object

Description

Plots PSpower object

Usage

## S3 method for class 'PSpower'
plot(x, power = seq(0.6, 0.99, length.out = 100), ...)

Arguments

x

PSpower object

power

a range of powers to plot the power curve

...

ignored

Value

an object (class ggplot) containing a figure

Examples

obj <- PSpower(tau = 1/sqrt(20), sig.level = 0.05, power = 0.956,
               r = 0.5, phi = 0.99, rho_sq = 0.02)
plot(obj)

Plot density of propensity scores given treatment probability and overlap coefficient

Description

Plot density of propensity scores given treatment probability and overlap coefficient

Usage

plot_overlap(r, phi)

Arguments

r

treatment probability

phi

overlap coefficient

Value

a ggplot of the density of propensity scores in two treatment arms

Examples

plot_overlap(0.6, 0.9)

Prints PSpower object

Description

Prints PSpower object

Usage

## S3 method for class 'PSpower'
print(x, ...)

Arguments

x

PSpower object

...

ignored

Value

no return value; called for side effect to output a string

mirror server hosted at Truenetwork, Russian Federation.