+
+ temp.df <- copy(df)
+ temp.df <- temp.df[,x:=x.obs]
+ mod.caroll.lik <- measerr_mle(temp.df, outcome_formula=outcome_formula, proxy_formula=proxy_formula, truth_formula=truth_formula)
+
+ ## tryCatch({
+ ## mod.calibrated.mle <- mecor(y ~ MeasError(w_pred, reference = x.obs) + z, df, B=400, method='efficient')
+ ## (mod.calibrated.mle)
+ ## (mecor.ci <- summary(mod.calibrated.mle)$c$ci['x.obs',])
+ ## result <- append(result, list(
+ ## Bxy.est.mecor = mecor.ci['Estimate'],
+ ## Bxy.ci.upper.mecor = mecor.ci['UCI'],
+ ## Bxy.ci.lower.mecor = mecor.ci['LCI'])
+ ## )
+
+
+
+ fischer.info <- NA
+ ci.upper <- NA
+ ci.lower <- NA
+
+ tryCatch({fischer.info <- solve(mod.caroll.lik$hessian)
+ ci.upper <- coef + sqrt(diag(fischer.info)) * 1.96
+ ci.lower <- coef - sqrt(diag(fischer.info)) * 1.96
+ },
+
+ error=function(e) {result[['error']] <- as.character(e)
+ })
+
+ coef <- mod.caroll.lik$par
+
+ result <- append(result,
+ list(Bxy.est.mle = coef['x'],
+ Bxy.ci.upper.mle = ci.upper['x'],
+ Bxy.ci.lower.mle = ci.lower['x'],
+ Bzy.est.mle = coef['z'],
+ Bzy.ci.upper.mle = ci.upper['z'],
+ Bzy.ci.lower.mle = ci.lower['z']))
+
+ mod.zhang.lik <- zhang.mle.iv(df)
+ coef <- coef(mod.zhang.lik)
+ ci <- confint(mod.zhang.lik,method='quad')
+ result <- append(result,
+ list(Bxy.est.zhang = coef['Bxy'],
+ Bxy.ci.upper.zhang = ci['Bxy','97.5 %'],
+ Bxy.ci.lower.zhang = ci['Bxy','2.5 %'],
+ Bzy.est.zhang = coef['Bzy'],
+ Bzy.ci.upper.zhang = ci['Bzy','97.5 %'],
+ Bzy.ci.lower.zhang = ci['Bzy','2.5 %']))
+