Nothing
test_that("test method equivalence, no fixed effects", {
#
library(summclust)
library(fixest)
set.seed(98765)
# few large clusters (around 10000 obs)
N <- 1000
N_G1 <- 10
data1 <<- summclust:::create_data(
N = N,
N_G1 = N_G1,
icc1 = 0.8,
N_G2 = 10,
icc2 = 0.8,
numb_fe1 = 10,
numb_fe2 = 10,
seed = 12
)
#
feols_fit <- feols(
proposition_vote ~ treatment + log_income,
cluster = ~group_id1,
data = data1
)
#
lm_fit <- lm(
proposition_vote ~ treatment + log_income,
data = data1
)
#
summclust_feols <- summclust(
obj = feols_fit,
cluster = ~group_id1,
params = c("treatment")
)
#
summclust_lm <- summclust(
obj = lm_fit,
cluster = ~group_id1,
params = c("treatment")
)
#
expect_equal(
summclust_feols$vcov,
summclust_lm$vcov
)
#
expect_equal(
summclust_feols$leverage_g,
summclust_lm$leverage_g
)
#
expect_equal(
summclust_feols$leverage_avg,
summclust_lm$leverage_avg
)
#
expect_equal(
summclust_feols$beta_jack,
summclust_lm$beta_jack
)
#
expect_equal(
summclust_feols$cluster,
summclust_lm$cluster
)
expect_equal(
summclust_feols$partial_leverage,
summclust_lm$partial_leverage
)
expect_equal(
summclust_feols$coef_var_leverage_g,
summclust_lm$coef_var_leverage_g
)
expect_equal(
summclust_feols$coef_var_N_g,
summclust_lm$coef_var_N_g
)
expect_equal(
summclust_feols$coef_var_partial_leverage,
summclust_lm$coef_var_partial_leverage
)
expect_equal(
summclust_feols$coef_var_beta_jack,
summclust_lm$coef_var_beta_jack
)
})
test_that("test method equivalence, with fixed effects", {
library(summclust)
library(fixest)
set.seed(765)
N <- 1000
N_G1 <- 23
data <- summclust:::create_data(
N = N,
N_G1 = N_G1,
icc1 = 0.8,
N_G2 = 10,
icc2 = 0.8,
numb_fe1 = 10,
numb_fe2 = 10,
seed = 123123
)
#
feols_fit <- feols(
proposition_vote ~ treatment + log_income | group_id1 + group_id2,
cluster = ~group_id1,
data = data1
)
#
lm_fit <- lm(
proposition_vote ~ treatment + log_income + as.factor(group_id1)
+ as.factor(group_id2),
data = data1
)
#
# Test 1: absorb_cluster_fixef == FALSE
summclust_feols <- summclust(
obj = feols_fit,
cluster = ~group_id1,
params = c("treatment", "log_income"),
absorb_cluster_fixef = FALSE
)
#
summclust_lm <- summclust(
obj = lm_fit,
cluster = ~group_id1,
params = c("treatment", "log_income")
)
#
params <- c("treatment", "log_income")
expect_equal(
summclust_feols$vcov[params, params],
summclust_lm$vcov[params, params]
)
#
expect_equal(
unlist(summclust_feols$leverage_g),
unlist(summclust_lm$leverage_g)
)
#
expect_equal(
summclust_feols$leverage_avg,
summclust_lm$leverage_avg
)
#
expect_equal(
summclust_feols$beta_jack[params,],
summclust_lm$beta_jack[params, ]
)
#
expect_equal(
summclust_feols$cluster,
summclust_lm$cluster
)
expect_equal(
summclust_feols$coef_var_leverage_g,
summclust_lm$coef_var_leverage_g
)
expect_equal(
summclust_feols$coef_var_N_g,
summclust_lm$coef_var_N_g
)
expect_equal(
summclust_feols$coef_var_partial_leverage,
summclust_lm$coef_var_partial_leverage
)
expect_equal(
summclust_feols$coef_var_beta_jack,
summclust_lm$coef_var_beta_jack
)
# expect_equal(
# summclust_feols$partial_leverage,
# summclust_lm$partial_leverage[names(coef(feols_fit)),])
# Test 2: absorb_cluster_fixef == TRUE
summclust_feols <- summclust(
obj = feols_fit,
cluster = ~group_id1,
params = c("treatment", "log_income"),
absorb_cluster_fixef = TRUE
)
#
summclust_lm <- summclust(
obj = lm_fit,
cluster = ~group_id1,
params = c("treatment", "log_income")
)
#
expect_equal(
summclust_feols$vcov[params, params],
summclust_lm$vcov[params, params]
)
expect_equal(
unlist(summclust_feols$leverage_g) + 1,
# +1 because k2 = G less param estimated
unlist(summclust_lm$leverage_g)
)
expect_equal(
summclust_feols$leverage_avg + 1,
summclust_lm$leverage_avg
)
# #
expect_equal(
summclust_feols$beta_jack[params,],
summclust_lm$beta_jack[params, ]
)
#
expect_equal(
summclust_feols$cluster,
summclust_lm$cluster
)
# expect_equal(
# summclust_feols$coef_var_leverage_g + 1,
# summclust_lm$coef_var_leverage_g
# )
expect_equal(
summclust_feols$coef_var_N_g,
summclust_lm$coef_var_N_g
)
expect_equal(
summclust_feols$coef_var_partial_leverage,
summclust_lm$coef_var_partial_leverage
)
expect_equal(
summclust_feols$coef_var_beta_jack,
summclust_lm$coef_var_beta_jack
)
})
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.