Skip to content

Instantly share code, notes, and snippets.

@apoorvalal
Created June 25, 2020 22:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save apoorvalal/abeef727ba84baf56d03e52597e30989 to your computer and use it in GitHub Desktop.
Save apoorvalal/abeef727ba84baf56d03e52597e30989 to your computer and use it in GitHub Desktop.
####################################################
# %%
library(rdrobust)
library(magrittr)
library(data.table)
library(glue)
library(kableExtra)
data(rdrobust_RDsenate)
df = rdrobust_RDsenate
rdro = rdrobust(df$vote, df$margin, all = T)
#%%
rdr_export <- function(rdr_out, prec = 4){
outrows = c('coef', 'se', 'z', 'ci', 'bws', 'N_h', 'N_b')
out = rdr_out[outrows]
# convential local-linear results
ids = 1
CI = paste0('(', as.numeric(round(out$ci[ids, ][1], prec)), ',',
as.numeric(round(out$ci[ids, ][2], prec)), ')')
conventional = rbind('Coef' = round(out$coef[ids], prec),
'SE' = round(out$se[ids], prec),
't-stat' = round(out$z[ids], prec), CI)
# robust rows
ids = 3
CI = paste0('(', as.numeric(round(out$ci[ids, ][1], prec)), ',',
as.numeric(round(out$ci[ids, ][2], prec)), ')')
robust = rbind('Coef' = round(out$coef[ids], prec),
'SE' = round(out$se[ids], prec),
't-stat' = round(out$z[ids], prec), CI)
# common rows
common_rows = rbind(
'bw' = paste0('(', round(out$bws[1, 1], prec), ',',
round(out$bws[1, 2], prec), ')'),
'Nobs' = paste0('(', out$N_h[1], ',', out$N_h[2], ')'),
'poly_order' = rdr_out$p)
res = rbind(conventional, robust, common_rows)
res2 = data.table(res, keep.rownames = TRUE)
res2[1:4, est := "Local-Linear"]
res2[5:8, est := "Robust"]
res2[9:11,est := "--"]
res2[rn == "poly_order", rn := "Polynomial Order"]
res2[rn == "bw", rn := "Bandwidth"]
res2[rn == "Nobs", rn := "Number of Observations"]
setcolorder(res2, c("est", "rn", "V1"))
return(res2)
}
#%%
rdro %>% rdr_export %>% print
ext %>% kable(, format = "latex", booktabs = T) %>%
collapse_rows(columns = 1, latex_hline = "major", valign = "middle") %>%
cat(., file = "test.tex")
#%%
kable(mtcars, "latex", booktabs = T) %>%
kable_styling(latex_options = c("striped", "scale_down")) %>%
row_spec(1, color = "red") %>%
as_image()
# %%
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment