## ---- message=FALSE----------------------------------------------------------- mods <- readRDS("rice_models.rds") m1 <- mods$m1 idx <- agrodata::data_rice("indices") idx$yield <- predict(m1, idx) head(idx) ## ----------------------------------------------------------------------------- z <- readRDS("hh_rice_yield.rds") z <- merge(z, idx[, c("zone", "year", "yield")]) head(z) ## ----------------------------------------------------------------------------- get_payout <- function(y, y_z, trigger, price){ pmax( (trigger * y_z) - y, 0) * price } ## ----------------------------------------------------------------------------- price <- 0.23 premium <- 10 trigger <- 0.9 rho <- 1.5 z$income <- z$y * price z$payout <- get_payout(z$yield, rho, trigger, price) z$income_with_ins <- z$income + z$payout - premium head(z) ## ----ins06-------------------------------------------------------------------- zz <- aggregate(z[, c("income", "income_with_ins")], z[,"zone", drop=FALSE], function(i) agro::ce_income(i, 1.5)) ## ----ins066------------------------------------------------------------------- zz$benefit <- (zz$income_with_ins - zz$income) zz$rel_benefit <- zz$benefit/ zz$income head(zz) mean(zz$benefit) ## ----ins606, out.width = '100%'----------------------------------------------- quantile(zz$benefit) barplot(sort(zz$rel_benefit), ylab="relative benefit", xlab="zone", las=1)