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 goes a long way in promoting research transparency because the code and the output are well-documented.
Read First
- Understanding dynamic documents will require a basic understanding of programming languages like Stata, R, or Python.
- There are various tools that allow users to create dynamic documents for publishing data and output, such as Overleaf and Jupyter Notebook.
- 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 creating dynamic documents. Each of them allows users create 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.
Related Pages
Click here for pages that link to this topic.
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