This GitHub repo provides source code associated with the NCME group demonstration showcasing novel uses of GitHub for promoting research in educational assessment. Specifically, we present a series of public GitHub repositories that researchers can easily customize for their own uses.
These repositories are structured such that researchers with a basic understanding of GitHub and R can either (a) modify a set of parameters and efficiently run a comprehensive analysis, or (b) leverage the basic repository structure to develop and disseminate their own suite of analytic tools. Across all demonstrations, we expand beyond the basics of GitHub repositories to highlight unique applications of the platform to educational assessment data.
The four demonstrations are described below linking to their individual repos and presentations:
Using GitHub to building and distribute R packages @dbetebenner
Perhaps the greatest strength of R is its extensibility. The ability to create packages with R has led to the development of tens of thousands of speciality software packages that expand base R in innumerable ways. Although building your first R package can be a daunting task, doing so is well worth the effort: An R package adds fidelity to any data-related task and greatly tames analytic complexity. In this demonstration, Damian Betebenner presents how to quickly build your first R package from a package skeleton on GitHub. Coupling R package development with a GitHub repository has many advantages, including
- better code maintenance,
- easy distribution of the package to other users, and
- online documentation via GitHub Pages
The repo containing the package skeleton is located here.
The presentation for the session is located here
Web-Based Distribution of Research using GitHub @alliecooperman
GitHub allows users to collate their analyses into a user-friendly, distribution-ready website. In this demonstration we show how to researchers can leverage Github Pages and author-written R packages (also available through GitHub), to host vignettes, source code for statistical analyses, presentations, and project updates. Furthermore, researchers can easily customize the website layout to match a desired style. Additionally, being web-hosted, all content is immediately available with source code. In the demonstration, we present an example website created during a summer internship program. We then walk through the basic set-up of a skeleton website within RStudio, including how to incorporate new pages and structure the webpage navigation. We also discuss the benefits of developing a project website for promoting collaboration and reproducible research practices.
Using GitHub and RMarkdown for report generation and dissemination @adamvi
Data analysts are often tasked with writing reports that describe data, analyses, and results associated with a project. Depending upon the nature of the project, such reports are either completely customized or borrow heavily from other reports (e.g., annual reports). GitHub repositories and associated GitHub actions can be used to coordinate the writing as well as the production of final reports for dissemination. The process we demonstrate utilizes R, R Markdown, and several associated R packages as the base tools to construct these reports.
Using GitHub to consolodate the analysis and dissemination of research @ndadey
Prior presentations have focused on creating a series of vignettes or write ups via R individual R markdown files linked through a webpage. This demonstration illustrates how researchers can use the r bookdown package to house more complex analyses. This approach may work well for projects that involve a number of interconnected analyses that need to be run regularly. For example, state educational agencies could use this approach to house a series of analyses that are run and expanded on annually. Similarly, this approach could be used to house regular psychometric analyses conducted on annual test data.
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.