Skip to contents

Composite IV diagnostics

Usage

morie_iv_diagnostics(data, outcome, endogenous, instruments, exogenous = NULL)

Arguments

data

A data.frame (or tibble) holding the outcome, endogenous regressors, instruments, and any exogenous controls.

outcome

Character; column name of the response variable.

endogenous

Character vector; column names of the endogenous regressors.

instruments

Character vector; column names of the instrumental variables.

exogenous

Optional character vector of additional exogenous regressors included in both the structural equation and the first stage. NULL (default) for a just-identified design.

Value

A named list with elements first_stage, cragg_donald, sargan, hausman, n_obs.

Examples

set.seed(1); n <- 400
z <- rbinom(n, 1, 0.5); u <- rnorm(n)
d <- rbinom(n, 1, plogis(0.8 * z + 0.3 * u))
y <- 0.5 * d + 0.4 * u + rnorm(n, sd = 0.5)
df <- data.frame(y, d, z)
morie_iv_diagnostics(df, "y", "d", "z")
#> $first_stage
#>   endogenous        F partial_R2 n_instruments
#> 1          d 19.81515 0.04742563             1
#> 
#> $cragg_donald
#> $cragg_donald$statistic
#> [1] 19.81515
#> 
#> $cragg_donald$p_value
#> [1] 1.109202e-05
#> 
#> $cragg_donald$name
#> [1] "Cragg-Donald (first-stage F)"
#> 
#> $cragg_donald$details
#> $cragg_donald$details$first_stage
#>   endogenous        F partial_R2 n_instruments
#> 1          d 19.81515 0.04742563             1
#> 
#> $cragg_donald$details$df1
#> [1] 1
#> 
#> $cragg_donald$details$df2
#> [1] 398
#> 
#> $cragg_donald$details$k_endogenous
#> [1] 1
#> 
#> $cragg_donald$details$k_instruments
#> [1] 1
#> 
#> $cragg_donald$details$k_exogenous
#> [1] 0
#> 
#> $cragg_donald$details$outcome_used
#> [1] NA
#> 
#> 
#> 
#> $sargan
#> $sargan$statistic
#> [1] NA
#> 
#> $sargan$p_value
#> [1] NA
#> 
#> $sargan$name
#> [1] "Sargan (just-identified)"
#> 
#> $sargan$df
#> [1] 0
#> 
#> 
#> $hausman
#> $hausman$statistic
#> [1] -0.05312963
#> 
#> $hausman$p_value
#> [1] 1
#> 
#> $hausman$name
#> [1] "Hausman"
#> 
#> 
#> $n_obs
#> [1] 400
#>