`R/two_arm_attrition_designer.R`

`two_arm_attrition_designer.Rd`

Creates a two-arm design with application for when estimand of interest is conditional on a post-treatment outcome (the effect on Y given R) or data is conditionally observed (Y given R). See `Details` for more information on the data generating process.

two_arm_attrition_designer( N = 100, a_R = 0, b_R = 1, a_Y = 0, b_Y = 1, rho = 0, args_to_fix = NULL )

N | An integer. Size of sample. |
---|---|

a_R | A number. Constant in equation relating treatment to responses. |

b_R | A number. Slope coefficient in equation relating treatment to responses. |

a_Y | A number. Constant in equation relating treatment to outcome. |

b_Y | A number. Slope coefficient in equation relating treatment to outcome. |

rho | A number in [0,1]. Correlation between shocks in equations for R and Y. |

args_to_fix | A character vector. Names of arguments to be args_to_fix in design. |

A post-treatment design.

The data generating process is of the form:

`R ~ (a_R + b_R*Z > u_R)`

`Y ~ (a_Y + b_Y*Z > u_Y)`

where `u_R`

and `u_Y`

are joint normally distributed with correlation `rho`

.

# To make a design using default argument (missing completely at random): two_arm_attrition_design <- two_arm_attrition_designer() if (FALSE) { diagnose_design(two_arm_attrition_design) } # Attrition can produce bias even for unconditional ATE even when not # associated with treatment if (FALSE) { diagnose_design(two_arm_attrition_designer(b_R = 0, rho = .3)) } # Here the linear estimate using R=1 data is unbiased for # "ATE on Y (Given R)" with b_R = 0 but not when b_R = 1 if (FALSE) { diagnose_design(redesign(two_arm_attrition_design, b_R = 0:1, rho = .2)) }