Difference between revisions of "Dynamic documents"

Jump to: navigation, search
(Created blank page)
 
 
(9 intermediate revisions by the same user not shown)
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''' goes a long way in promoting [[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 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, 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.
== 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 [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.
* '''Stata.''' New versions of Stata ([https://www.stata.com/stata15/ version 15] onwards) allow users to [https://www.stata.com/manuals/pdyndoc.pdf 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.'''  [https://www.latex-project.org/ 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 [https://cran.r-project.org/web/packages/stargazer/vignettes/stargazer.pdf stargazer] in '''R''', and packages like <code>[http://repec.org/bocode/e/estout/esttab.html esttab]</code> and <code>[http://repec.org/bocode/o/outreg2.html outreg2]</code> 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.''' [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'''.
== Related Pages ==
[[Special:WhatLinksHere/Dynamic_documents|Click here for pages that link to this topic.]]
== Additional Resources ==
* DIME Analytics (World Bank), [https://osf.io/nam2d/ Stata Markdown]
* Yihui et. al., [https://bookdown.org/yihui/rmarkdown/ R Markdown: The Definitive Guide]
* R Studio, [https://www.rstudio.com/wp-content/uploads/2015/02/rmarkdown-cheatsheet.pdf R Markdown Cheat Sheet]
* R Studio, [https://rmarkdown.rstudio.com/lesson-1.html R Markdown Guide]

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 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.

Related Pages

Click here for pages that link to this topic.

Additional Resources