Difference between revisions of "Dynamic documents"
(One intermediate revision by the same user not shown) | |||
Line 2: | Line 2: | ||
== Read First == | == Read First == | ||
* Understanding '''dynamic documents''' will require a basic understanding of | * Understanding '''dynamic documents''' will require a basic understanding of programming languages like [https://www.stata.com/ Stata], [https://rmarkdown.rstudio.com/ R], or [https://www.python.org/ Python]. | ||
* There are various tools that allow users to create '''dynamic documents''' for [[Publishing Data|publishing]] data and output. | * There are various tools that allow users to create '''dynamic documents''' for [[Publishing Data|publishing]] data and output, such as [https://www.overleaf.com/ Overleaf] and [http://jupyter.org/ 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. | * '''Dynamic documents''' also make it easier to visualize and document the impact of changes in model parameters - which is particularly useful in development research. | ||
Latest revision as of 17:26, 21 June 2021
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