Dynamic documents
Dynamic documents are document that contain both text and output from a programming language in a format where the output gets updated automatically every time the code is run. Using dynamic documents supports research transparency because the code and the output are well-documented.
Read First
- Understanding dynamic documents will require a basic understanding of the relevant programming language, such as Stata, [R, Python, LaTeX to name a few.
- There are various tools that allow users to create dynamic documents for publishing data and output.
- Dynamic documents also make it easier to visualize and document the impact of changes in model parameters - which is particularly useful in development research.
Tools
There are a wide range of tools that are available for output publication. Each of them allows users to create dynamic documents and edit the reports using various programming languages like R, Stata, and Python.
- R. This language has a feature called R Markdown, which allows users to perform analysis using different programming languages, and print the results in the final document along with text to explain the results.
- Stata. New versions of Stata (version 15 onwards) allow users to create dynamic documents. The output is usually a PDF file, which contains text, tables and graphs. Whenever there are changes to raw data or in the analysis, the research team only needs to execute one do-file to create a new document. This improves reproducibility since users do not have to make changes manually every time.
- LaTeX. LaTeX is a widely used publication tool. It is a typesetting system that allows users to reference lines of code and outputs such as tables and graphs, and easily update them in a text document. Users can export the results into .tex format after analyzing the data in their preferred software – using stargazer in R, and packages like
esttab
andoutreg2
in Stata. Whenever there are new graphs and tables in the analysis, simply recompile the LaTeX document with the press of a button in order to include the new graphs and tables. - Overleaf. Overleaf is a web-based platform that allows users to collaborate on LaTeX, and receive feedback from other researchers.
- Jupyter Notebook. Jupyter Notebook can create dynamic documents in various formats like HTML and LaTeX.
Additional Resources
- DIME Analytics (World Bank), Stata Markdown
- Yihui et. al., R Markdown: The Definitive Guide
- R Studio, R Markdown Cheat Sheet
- R Studio, R Markdown Guide