# install.packages("remotes")
::install_github("surveydown-dev/surveydown") remotes
The surveydown R package
A flexible, open-source platform for making surveys with R, Quarto, Shiny, and Supabase.
About
The {surveydown} R package is a flexible, open-source platform for making surveys with R, Quarto, Shiny, and Supabase.
Overview
This project is led by Prof John Helveston. For more details, see our About page.
The basic concept is:
- Design your survey as a Quarto document using markdown and R code.
- Convert your survey into a Shiny app that can be hosted online and sent to respondents.
- Store your survey responses in a Supabase database (or any Postgres database).
The {surveydown} R package provides functions to bring this all together.
See the documentation to get started making your own surveydown survey!
See the demo surveys and use them as your survey templates!
Background & Motivation
Most survey platforms (e.g., Google forms, Qualtrics, etc.) use drag-and-drop interfaces to design surveys, making version control and collaboration with others difficult. They’re also not reproducible (others cannot easily reproduce a survey made on these platforms), and many require a paid subscription or license to use.
The surveydown package was designed to address these problems. As an open-source, markdown-based platform, all survey content is defined with plain text (markdown and R code) in a survey.qmd
file and an app.R
file that renders your survey into a Shiny app that can be hosted online. This makes your survey easy to reproduce, share, and version control with common tools like Git. The survey data collected is also owned by the survey designer in a separate Postgres database (we recommend Supabase as a free and open-source database provider).
If you’re curious where this whole idea came from, check out this blog post, which outlines more on the general idea and the motivation for it. The post is now outdated in terms of the overall package design, but it provides something of an origin story and some of the motivation for developing this project.
Installation
1. Install R & Quarto
We also recommend working with an IDE that has good support for R, Quarto, and Shiny. RStudio is great, and we also like VSCode and Positron.
2. Install the {surveydown} R package
The {surveydown} R package is not yet on CRAN, but you can install the development version from GitHub with the following command in your R console:
Version Control
We made some functions to make it easier to keep your R package up to date.
To check which version of the {surveydown} package you have installed, run:
::sd_version() surveydown
To update to the latest version of the {surveydown} package, run:
::sd_update() surveydown
License Information
See the license information here.
Citation Information
If you use this package for in a publication, please cite it! You can get the citation by typing citation("surveydown")
into R:
citation("surveydown")