AEM 6850

Empirical Methods for Applied Economists

Taught by Prof. Ariel Ortiz-Bobea
TAs: Senjie Huang (PhD student) · Samuel Topper (MS student)

Fall 2026 · Tue/Thu 8:40 to 9:55 am · Malott 406 · Bring a laptop
Office hours: TBA in week 1, posted on Canvas
Cornell University

Every empirical project involves data somebody had to find, collect, clean, check, and organize. Methods courses typically teach you techniques that assume such data is ready to go. This course, in contrast, equips you with practical skills and tools on how to acquire, process and verify data with Artificial Intelligence (AI) assistance. We cover a wide range of data types including messy tables, text, documents, images, audio, and maps. Work with AI will emphasize code and output verification, an emerging bottleneck in research workflows. In-class quizzes test mastery of basic concepts. Homeworks are hands-on coding mini-projects that expose students to a variety of data types and test verification skills. Homework assignments follow an investigation of the January 2025 Los Angeles wildfires. There are no prerequisites.

Date Topic
Part I — Foundations
Getting started Tue Aug 25 1 · Overview What the course covers and how it works; installing R and RStudio; creating a GitHub account and making a first commit from the browser.
Thu Aug 27 2 · R essentials I Objects, vectors, types, and data frames; subsetting with conditions; how R converts data types automatically and how to check for it.
Tue Sep 1 3 · R essentials II Matrices and lists — building, indexing, and combining them; running one function over every row, column, group, or file; then reading a real CSV into those shapes. Extra material, not taught: Wrangling: dplyr.
Thu Sep 3 4 · Basic plots I Choosing the plot that matches the question, drawing it in one line, the settings that work on all of them, panels, and writing a figure to disk.
Tue Sep 8 5 · Basic plots II Panels of unequal size, shaded windows and confidence bands, colour scales, hand-built axes, heat maps, maps, and animation.
Coding craft Thu Sep 10 6 · How to code How a project and a script are organized: folders, one script per task, sections, names and named constants. Writing functions instead of copy-pasting. Checking as you go with stopifnot(), and debugging as a strategy rather than a toolbox.
Tue Sep 15 7 · Version control with git What a repository is and what a commit records; cloning your repository into an RStudio project; the three places a change lives; reading a diff before you commit, including one a model wrote; push, pull, and the three undo commands.
AI & verification Thu Sep 17 8 · AI I: chatbots Using AI chatbots and assistants for research tasks — explaining code, drafting text, planning an analysis — and their common failure modes.
Tue Sep 22 9 · AI II: coding agents A workflow for AI-assisted coding: state the goal, delegate the code, predict the output, and verify the result before accepting it.
Thu Sep 24 no class (instructor travel) We will make up this meeting at a later date. Each session from 10 on moved one meeting later.
Tue Sep 29 10 · Verification Checking work you hand to an AI agent: which claims you can recompute, which you look up in a source, and which are judgment calls; a second check by an agent that never saw the work; and testing that check with errors planted on purpose.
Publication ready Thu Oct 1 11 · Reproducible projects Having code write the numbers, tables and figures in a paper, with Quarto or with LaTeX; checking a draft against its code with an AI agent; tables and figures in the form journals ask for; replication packages, their README, and package versions with renv; when to share code, and archiving it with a DOI.
Tue Oct 6 12 · Publication graphics Making figures for readers with ggplot2: aesthetics, geoms, scales, facets, themes, labels, and exporting at exact sizes.
Part II — Applications
Getting data Thu Oct 8 13 · The data economists use For a research question: where the signal shows up, which kind of data records it, what the data must provide, how you get access and on what terms, and what the source misses.
Tue Oct 13 fall break — no class
Thu Oct 15 14 · Channels I: APIs Requesting data and model responses through APIs: endpoints, JSON, storing keys safely, rate limits, saving raw responses, converting UTC timestamps to local time, and sending prompts to a language model from R.
Tue Oct 20 15 · Channels II: scraping When to scrape and where to look first; reading pages with rvest and CSS selectors; terms, robots.txt, personal data and polite fetching; AI agents in R and in Python, with a live run on seven years of marathon finish times; verifying a scraped file; a project someone else can re-run.
Text & documents Thu Oct 22 16 · Text I: regex Working with text using stringr and regular expressions: extracting fields from unstructured text, counting words, and dictionary sentiment, with tests for every pattern.
Tue Oct 27 17 · Text II: LLMs What a label is, and how to get labels from a large language model in R: a fixed output format, agreement with hand labels, and saved responses so the results reproduce.
Thu Oct 29 18 · Documents & scans Extracting tables from PDFs, scans and handwritten records, and reconciling the results with the totals printed in the document.
Audio & photographs Tue Nov 3 19 · Audio I: speech to text Transcribing speech with timestamps and speaker labels into one row per utterance, and measuring transcription errors against an official transcript.
Thu Nov 5 20 · Audio II: tone & emotion Features beyond the words: pauses, pitch, energy, filler words, and emotion, compared with ratings made by ear.
Tue Nov 10 21 · Photographs I: pixels & vision models A photo as a grid of numbers: pixel features computed by hand, then a vision model, both compared with air-quality readings, using a year of daily sky photos.
Thu Nov 12 22 · Photographs II: classifying & counting Classifying images and counting objects with models, street-level imagery, and the ethics of face data, with agreement measured against hand labels.
Spatial Tue Nov 17 23 · Spatial I: vector Vector spatial data with sf: geometries, coordinate reference systems and projections, spatial joins, maps, and distances to a fire perimeter.
Thu Nov 19 24 · Spatial II: rasters Raster data with terra: aggregating gridded weather to counties, choosing weights, finding downwind areas, and a fast method for doing it at scale.
Tue Nov 24 25 · LiDAR & drone imagery Elevation, canopy height, and high-resolution imagery collected from planes and drones. Taught remotely.
Thu Nov 26 Thanksgiving — no class
Tue Dec 1 26 · Satellite I: on your machine What satellite sensors record and at what resolution — visible, near-infrared, thermal, radar, night lights, fluorescence — NDVI and other indices, and processing a scene on your own machine.
Thu Dec 3 27 · Satellite II: Earth Engine When the data is too big to fetch, send the computation instead: the Earth Engine catalog, filtering a collection, and zonal statistics over your own polygons, applied to water use on golf courses.
Close TBA 28 · Moving forward What the tools do not replace, what a measurement instrument cannot see and how to write that into a methods section, reading outside economics, and how to learn a new method on your own.