Nothing
## ----setup, include=FALSE-----------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.width = 7,
fig.height = 4.5
)
library(PSpower)
## ----ps-single----------------------------------------------------------------
res <- power_ps(
effect_size = 0.2,
r = 0.5,
phi = 0.9,
estimand = "ATE",
power = 0.80
)
res
## ----ps-r---------------------------------------------------------------------
res_r <- power_ps(
effect_size = 0.2,
r = c(0.30, 0.40, 0.50, 0.60, 0.70),
phi = 0.90,
estimand = c("ATE", "ATT", "ATO"),
power = 0.80
)
plot(res_r)
## ----ps-phi-------------------------------------------------------------------
res_phi <- power_ps(
effect_size = 0.2,
r = 0.5,
phi = c(0.85, 0.90, 0.95),
estimand = c("ATE", "ATT", "ATO"),
power = 0.80
)
plot(res_phi)
## ----ps-phi-summary-----------------------------------------------------------
summary(res_phi)
## ----ps-rho2------------------------------------------------------------------
power_ps(
effect_size = 0.2,
r = 0.5,
phi = 0.90,
rho2 = c(0, 0.01, 0.02, 0.05),
estimand = "ATE",
power = 0.80
)
## ----cox-rct-single-----------------------------------------------------------
res_rct <- power_cox(
effect_size = log(0.75), # HR = 0.75
r = 0.5,
d1 = 0.40,
study_type = "rct",
power = 0.80
)
res_rct
## ----cox-schoenfeld-----------------------------------------------------------
power_cox(
effect_size = log(0.75),
r = 0.5,
d1 = 0.40,
study_type = "rct",
method = "schoenfeld",
power = 0.80
)
## ----cox-rct-multi------------------------------------------------------------
res_rct_grid <- power_cox(
effect_size = c(log(0.65), log(0.75), log(0.85)),
r = c(0.40, 0.50, 0.60),
d1 = 0.40,
study_type = "rct",
power = 0.80
)
plot(res_rct_grid)
## ----cox-rct-summary----------------------------------------------------------
summary(res_rct_grid)
## ----cox-obs-single-----------------------------------------------------------
res_obs <- power_cox(
effect_size = log(0.75),
r = 0.5,
d1 = 0.40,
phi = 0.90,
study_type = "obs",
estimand = "ATE",
power = 0.80
)
res_obs
## ----cox-obs-multi------------------------------------------------------------
res_obs_grid <- power_cox(
effect_size = log(0.75),
r = 0.5,
d1 = 0.40,
phi = c(0.85, 0.90, 0.95),
study_type = "obs",
estimand = c("ATE", "ATO"),
power = 0.80,
n_mc = 5e4 # use the default 1e6 in practice
)
plot(res_obs_grid)
## ----cox-obs-summary----------------------------------------------------------
summary(res_obs_grid)
## ----overlap-empirical--------------------------------------------------------
set.seed(2026)
n <- 500
X <- rnorm(n)
ps <- plogis(0.5 * X) # fitted propensity scores from a PS model
Z <- rbinom(n, 1, ps)
overlap_coef(ps = ps, Z = Z)
## ----overlap-analytical-------------------------------------------------------
overlap_coef(a = 3, b = 2) # r = a/(a+b) = 0.60
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.