Facilitating Replication and Reproducibility in Team Science: The ‘projects’ R Package

The contemporary scientific community places a growing emphasis on the reproducibility of research. The projects R package is a free, open-source endeavor created in the interest of facilitating reproducible research workflows. It adds to existing software tools for reproducible research and introduces several practical features that are helpful for scientists and their collaborative research teams. For each individual project, it supplies an intuitive framework for storing raw and cleaned study data sets, and provides script templates for protocol creation, data cleaning, data analysis and manuscript development. Internal databases of project and author information are generated and displayed, and manuscript title pages containing author lists and their affiliations are automatically generated from the internal database. File management tools allow teams to organize multiple projects. When used on a shared file system, multiple researchers can harmoniously contribute to the same project in a less punctuated manner, reducing the frequency of misunderstandings and the need for status updates.

84 At its outset, the projects package creates a folder called /projects in a user-specified 85 location. This directory will contain all research projects created and maintained by the 86 user. The /projects folder will also contain a relational database of the research projects 87 and the persons who contribute to them. The database allows for users to input important 88 metadata about the projects and authors, including stage of research and contact 89 information. Once this higher-level folder is created, users run R functions to create 90 projects, each of which is given its own folder. New project folders automatically include 91 aptly named subfolders and templates in order to guide the project workflow (e.g., a "data" 92 subfolder; a "datawork" R Markdown template). Henceforth, users can begin working on 93 the research project and edit as needed the metadata of the project itself and its authors.   The title of the project. A nonambiguous substring of title (i.e., a substring that does not match any other project) can be used whenever needing to identify this project within projects package functions. This value is also printed in the YAML header of the "protocol" and "report" .Rmd templates that are automatically generated upon project creation.
short_title An optional, unique nickname for the project. A nonambiguous substring of short_title (i.e., a substring that does not match any other project) can be used whenever needing to identify this project within projects package functions. This is useful if users cannot remember the long, formal project title nor the project id.
current_owner The id of the author who is responsible for taking action in order that work on the project may proceed further. A date indicating some kind of deadline whose meaning is described in the previous field, deadline_type.

path
The full file path where the project folder is located.

corresp_auth
The id of the author who should be contacted for any correspondence relating to the project. This author's name will be specially marked on automatically generated title pages for this project, and his or her contact information will be specially displayed there as well in a "Corresponding Author" section.  The last name or names of the author. A nonambiguous substring of last_name (i.e., a substring that does not match any other author) can be used whenever needing to identify this author within projects package functions. This is included after given_names in the automatically generated title pages of the projects associated with this author. title The job title of the author.

degree
The abbreviation(s) of the author's academic degree(s). This is included after last_name in the automatically generated title pages of the projects associated with this author.

email
The email address of the author. This is included in the "Corresponding Author" section of the automatically generated title pages of projects whose corresp_auth field contains this author.
phone The phone number of the author. This is included in the "Corresponding Author" section of the automatically generated title pages of projects whose corresp_auth field contains this author.
166  170 affiliations. Each has two columns, id1 and id2, that contain the id numbers of these items. 212 Upon installation, the projects package must be set up using setup_projects(). The user 213 is to input the file path of the directory wherein the /projects folder is desired to be located.  58 In creating associations between Scott Bug and his affiliations, we were able to enter both 259 the id number of one of them (2) and a substring of the department_name of the other 260 ("Physics"). The email address was coerced to lowercase.
261 Now we will add more authors (output not included).  89 Now we will showcase project creation:    452 We also notice that the default behavior when adding elements is to place them before the 453 last author (unless there was only one author). This occurs after elements are removed, as 454 specified by any minus signs (-) in the formula.
455 Another function that affects author order and whose default behavior reprints project title edit_affiliation(affiliation = "Impossibles",