Difference between revisions of "Dynamic documents"

Jump to: navigation, search
Line 1: Line 1:
 +
'''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_Ethics#Transparency|research transparency]] because the code and the output are [[Data Documentation|well-documented]].
 +
 +
== Read First ==
 +
* Understanding '''dynamic documents''' will require a basic understanding of the relevant programming language, such as [https://www.stata.com/ Stata], [[https://rmarkdown.rstudio.com/ R], [https://www.python.org/ Python], [https://www.latex-project.org/ LaTeX] to name a few.
 +
* There are various tools that allow users to create '''dynamic documents''' for [[Publishing Data|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 [https://www.r-project.org/ R], [https://www.stata.com/ Stata], and [https://www.python.org/ Python].
 
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 [https://www.r-project.org/ R], [https://www.stata.com/ Stata], and [https://www.python.org/ Python].
 
* '''R.''' This language has a feature called [https://rmarkdown.rstudio.com/ R Markdown], which allows users to perform [[Data Analysis|analysis]] using different programming languages, and print the results in the final document along with text to explain the results.  
 
* '''R.''' This language has a feature called [https://rmarkdown.rstudio.com/ R Markdown], which allows users to perform [[Data Analysis|analysis]] using different programming languages, and print the results in the final document along with text to explain the results.  
Line 5: Line 13:
 
* '''Overleaf.''' [https://www.overleaf.com/ Overleaf] is a web-based platform that allows users to collaborate on '''LaTeX''', and receive feedback from other researchers.  
 
* '''Overleaf.''' [https://www.overleaf.com/ Overleaf] is a web-based platform that allows users to collaborate on '''LaTeX''', and receive feedback from other researchers.  
 
* '''Jupyter Notebook.''' [http://jupyter.org/ Jupyter Notebook] can create '''dynamic documents''' in various formats like HTML and '''LaTeX'''.
 
* '''Jupyter Notebook.''' [http://jupyter.org/ Jupyter Notebook] can create '''dynamic documents''' in various formats like HTML and '''LaTeX'''.
 +
 
== Additional Resources ==  
 
== Additional Resources ==  
 
* DIME Analytics (World Bank), [https://osf.io/nam2d/ Stata Markdown]
 
* DIME Analytics (World Bank), [https://osf.io/nam2d/ Stata Markdown]

Revision as of 17:21, 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 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 and outreg2 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