]> code.communitydata.science - ml_measurement_error_public.git/blobdiff - simulations/summarize_estimator.R
changes from klone
[ml_measurement_error_public.git] / simulations / summarize_estimator.R
index f416c5b30bbaf9e664499338fc002bdad42686e0..8ddeb7c203328aa2a5bf97501355fc1ef65350fc 100644 (file)
@@ -1,5 +1,6 @@
+library(ggdist)
 
-summarize.estimator <- function(df, suffix='naive', coefname='x'){
+summarize.estimator <- function(sims.df, suffix='naive', coefname='x'){
 
     reported_vars <- c(
                        'Bxy',
@@ -9,14 +10,14 @@ summarize.estimator <- function(df, suffix='naive', coefname='x'){
                        )
 
     
-    grouping_vars <- c('N','m','B0', 'Bxy', 'Bzy', 'Bzx', 'Px', 'y_explained_variance', 'prediction_accuracy','outcome_formula','proxy_formula','truth_formula','z_bias','y_bias')
+    grouping_vars <- c('N','m','B0', 'Bxy', 'Bzy', 'Bzx', 'Px', 'Py','y_explained_variance', 'prediction_accuracy','outcome_formula','proxy_formula','truth_formula','z_bias','y_bias')
 
     grouping_vars <- grouping_vars[grouping_vars %in% names(df)]
 
-    part <- df[,
-               c(reported_vars,
-                 grouping_vars),
-               with=FALSE]
+    part <- sims.df[,
+                    unique(c(reported_vars,
+                             grouping_vars)),
+                    with=FALSE]
 
 
     true.in.ci <- as.integer((part$Bxy >= part[[paste0('B',coefname,'y.ci.lower.',suffix)]]) & (part$Bxy <= part[[paste0('B',coefname,'y.ci.upper.',suffix)]]))
@@ -29,6 +30,7 @@ summarize.estimator <- function(df, suffix='naive', coefname='x'){
                        bias=bias,
                        sign.correct =sign.correct)]
 
+
     part.plot <- part[, .(p.true.in.ci = mean(true.in.ci),
                           mean.bias = mean(bias),
                           mean.est = mean(.SD[[paste0('B',coefname,'y.est.',suffix)]],na.rm=T),
@@ -37,6 +39,8 @@ summarize.estimator <- function(df, suffix='naive', coefname='x'){
                           est.lower.95 = quantile(.SD[[paste0('B',coefname,'y.est.',suffix)]],0.025,na.rm=T),
                           mean.ci.upper = mean(.SD[[paste0('B',coefname,'y.ci.upper.',suffix)]],na.rm=T),
                           mean.ci.lower = mean(.SD[[paste0('B',coefname,'y.ci.lower.',suffix)]],na.rm=T),
+                          median.ci.upper = median(.SD[[paste0('B',coefname,'y.ci.upper.',suffix)]],na.rm=T),
+                          median.ci.lower = median(.SD[[paste0('B',coefname,'y.ci.lower.',suffix)]],na.rm=T),
                           ci.upper.975 = quantile(.SD[[paste0('B',coefname,'y.ci.upper.',suffix)]],0.975,na.rm=T),
                           ci.upper.025 = quantile(.SD[[paste0('B',coefname,'y.ci.upper.',suffix)]],0.025,na.rm=T),
                           ci.lower.975 = quantile(.SD[[paste0('B',coefname,'y.ci.lower.',suffix)]],0.975,na.rm=T),

Community Data Science Collective || Want to submit a patch?