Difference between revisions of "Dynamic documents"

Jump to: navigation, search
 
(5 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''' supports [[Research_Ethics#Transparency|research transparency]] because the code and the output are [[Data Documentation|well-documented]].
'''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 ==
== 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.
* 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.


== Tools ==  
== 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 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.  
* '''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.
* '''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.
Line 13: 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'''.
== Related Pages ==
[[Special:WhatLinksHere/Dynamic_documents|Click here for pages that link to this topic.]]


== Additional Resources ==  
== Additional Resources ==  

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