Error Handling in R: A Guide for Data Analysts
How to use stop(), warning(), message(), try() and tryCatch() so R functions fail with clear messages and recover when they can.
I'm an agricultural economist and a research analyst at Laterite in Addis Ababa. My work covers the whole life of a survey: designing the questionnaire and the sample, programming it in SurveyCTO, checking data quality while teams are in the field, then cleaning and analysing what comes back. The studies cover agriculture, clean energy, health, nutrition, education and refugee livelihoods, in Ethiopia and elsewhere in Africa.
My own research is about Ethiopian smallholders: how productive they are, whether selling more of their harvest changes that, and how households hold up when prices or conflict hit the whole economy. Outside work I write R and Stata packages that other researchers use to pull, clean and convert survey data.
Read the full CVApplied microeconometrics with field surveys and household panel data from Ethiopia.
Technical efficiency and input adoption on Ethiopian farms, measured with stochastic frontier models.
Whether farmers who sell more of their cereal harvest are more efficient. My Ghent thesis used instrumental variables to answer it, and I am reworking it into a paper on productivity misallocation.
How exposed urban and rural households are when a shock hits the whole economy. A paper on this is in its second round of review at Scientific Reports.
Vulnerability to food insecurity under systemic shocks. Sole author, second round at Scientific Reports.
A data pipeline for SurveyCTO: download form data, attachments and server datasets, with optional tidying into analysis-ready tables.
Converts between Ethiopian and Gregorian dates and works with dplyr and ggplot2. The core is written in C++.