Git Product home page Git Product logo

nuest / reproducible-research-and-giscience Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 7.0 1.19 MB

Ready to use R Markdown notebook for the paper "Reproducible research and GIScience: an evaluation using AGILE conference papers"

Home Page: https://doi.org/10.7717/peerj.5072

License: Other

R 46.44% Dockerfile 53.56%
research-compendium binder reproducible-research reproducible-science reproducible-paper giscience

reproducible-research-and-giscience's Introduction

Reproducible research and GIScience: Computational Environment

Ready to use R Markdown notebook for the paper "Reproducible research and GIScience: an evaluation using AGILE conference papers".

Article DOI

Preprint

Zenodo DOI

Reproduce Online

Click the "Binder" button below to open the notebook on binder.org.

Binder

On the Jupyter page that opens, select "New > RStudio".

In RStudio, open the file agile-rr-paper-corpus.Rmd, the main analysis file.

Then select "Knit > Knit to HTML" to render the document, which includes the complete analysis workflow, and display it in your browser. You may use other output formats, like PDF, which is needed to create the figures for the original article.

For all analysis code to work you have to complete two prerequisite steps as described in the main analysis file:

  • Configure a Springer API key
  • Upload data to the workspace (alternatively: download sample data, see main analysis file section "Data")

Without data and API key, not all some figures can be reproduced.

Reproduce locally

Open the main analysis file agile-rr-paper-corpus.Rmd with RStudio. Then select "Knit > Knit to PDF" to render the document. If you have errors rendering the whole PDF, try running each chunk to locate the problem or use "Knit to HTML".

The document does not include code to install required packages. Run the code in the file install.R to install all dependencies. You can skip the installation of tinytex and the LaTeX packages if you knit to HTML or run the chunks directly from RStudio.

Reproduce locally with Docker

Install Docker CE or a compatible tool for building an image based on a Dockerfile and running a container based on the image. Download the project files, open a command line in the root directory (where this file is), and run the following commands:

# build the image
docker build --tag rr-giscience .
# run the image
docker run -it -p 8888:8888 rr-giscience

Open a browser at http://localhost:8888 or click on the login link shown in the console. It will show the Jupyter start page as shown in the first screenshot of the instructions in Reproduce online, which you can use as described in that section.

Reproduce locally with repo2docker

Install jupyter-repo2docker and run the following command:

repo2docker --ref 6 https://github.com/nuest/reproducible-research-and-giscience

You may also provide a Springer API key as an environment variable:

repo2docker --ref 6 -e SPRINGER_API_KEY=<your key> https://github.com/nuest/reproducible-research-and-giscience

Files in this repository

  • Paper_Evaluation.csv: Results of manual paper evaluation.
  • Reproducibility_Survey.csv: Anonymised responses of author survey.
  • agile-rr-paper-corpus.Rmd: R Markdown document with the code to conduct the analysis and create the figures of the paper.
  • agile-rr-paper-corpus.pdf: A PDF rendering or he analysis document for viewing.
  • Dockerfile: A recipe for the computational environment using Docker.
  • install.R: R script file executed during creation of the Docker image to install required dependencies.
  • agile-rr-yearly-textanalysis.Rmd: R Markdown notebook for text analysis of all AGILE submissions, online available at https://rpubs.com/nuest/reproducible-agile-text-analysis

Deposition on Zenodo

This repository is archived on Zenodo: https://doi.org/10.5281/zenodo.1227260

The Zenodo repository includes the complete git repository so that readers may investigate the history of the analysis starting with the supplemental information of the PeerJ preprint.

The deposited archive was created based on the tag 6 (matching the Zenodo version number) with the following commands:

git clone https://github.com/nuest/reproducible-research-and-giscience.git
cd reproducible-research-and-giscience
git checkout 6
zip -r reproducible-reserach-and-giscience.zip .

The only discrepancy in Zenodo versions and tags is the tag 6 which maps to version 6-fixed on Zenodo, and the tag 6-unfixed which maps to Zenodo version 6, see #7 for changes.

License

The documents in this repository are licensed under a Creative Commons Attribution 4.0 International License.

All contained code is licensed under the Apache License 2.0.

The data used is licensed under a Open Data Commons Attribution License.

reproducible-research-and-giscience's People

Contributors

khinsen avatar nuest avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

reproducible-research-and-giscience's Issues

Use word stems for word cloud/table of common words

The list of top 20 terms currently has "map" on 4th place and "maps" on 20th. That's not ideal.

Also, (pre)process. apparently has over 400 hits, but not one matching word (processing, process, preprocessing) is in the top 20 words list.

Room for improvement! I think at least word stems should be possible (preprocess != process should be kept).

R library missing in Docker image

I built and ran the Docker image on my own computer, then started the RStudio session and did Knit->PDF. R stops with an error on line 36, saying there is no package called "gridBase". Unfortunately I cannot copy-paste the full message from the RStudio Web app.

LaTeX error message

Using Binder, and following the instructions step by step (after applying #2), I end up getting the following LaTeX error that prevents the generation of the PDF:

! LaTeX Error: File `tabu.sty' not found.

Tinytex install fails in docker build

When trying to build with docker I run into the following error:

#11 101.2 > tinytex::install_tinytex(force = TRUE)
#11 101.2 trying URL 'https://github.com/yihui/tinytex/raw/master/tools/install-unx.sh'
#11 101.6 Error in download.file("https://github.com/yihui/tinytex/raw/master/tools/install-unx.sh",  :
#11 101.6   cannot open URL 'https://github.com/yihui/tinytex/raw/master/tools/install-unx.sh'
#11 101.6 Calls: <Anonymous> -> download.file
#11 101.6 In addition: Warning message:
#11 101.6 In download.file("https://github.com/yihui/tinytex/raw/master/tools/install-unx.sh",  :
#11 101.6   cannot open URL 'https://github.com/yihui/tinytex/raw/master/tools/install-unx.sh': HTTP status was '404 Not Found'

This seems to be related to: rstudio/tinytex#336, tinytex had the master branch changed to main branch.

Improve instructions for data path

The current sentence "Add the PDFs to a directory called r data_path next to this file." might be confusing when read in the Rmd file, as data_path is only replaced with the actual value during rending.
Maybe add a comment/link about inline statements to clarify.

Also, rephase the sentence to not say "this file" but more explicit "the file agile-rr-paper-corpus.Rmd".

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.