plotGrouper
A shiny app-based GUI wrapper for ggplot2 with built-in statistical analysis.
Science Score: 10.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
○codemeta.json file
-
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
6 of 9 committers (66.7%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.5%) to scientific vocabulary
Keywords
bioconductor
ggplot2
plotting
shiny
Last synced: 6 months ago
·
JSON representation
Repository
A shiny app-based GUI wrapper for ggplot2 with built-in statistical analysis.
Basic Info
- Host: GitHub
- Owner: jdgagnon
- Language: R
- Default Branch: master
- Homepage: https://jdgagnon.github.io/plotGrouper/
- Size: 15 MB
Statistics
- Stars: 6
- Watchers: 1
- Forks: 4
- Open Issues: 2
- Releases: 0
Topics
bioconductor
ggplot2
plotting
shiny
Created over 7 years ago
· Last pushed over 7 years ago
Metadata Files
Readme
README.Rmd
---
output: github_document
---
```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "README-"
)
```
# plotGrouper
_by **John D. Gagnon**_
_University of California, San Francisco_
### Table of Contents
**[Overview](#overview)**
**[Installation](#installation)**
**[Usage](#usage)**
**[Session info](#session-info)**
**[License](#license)**
## Overview
A shiny app-based GUI wrapper for ggplot2 with built-in statistical
analysis. Import data from file and use dropdown menus and checkboxes to
specify the plotting variables, graph type, and look of your plots.
Once created, plots can be saved independently or stored in a report that
can be saved as a pdf. If new data are added to the file, the report can be
refreshed to include new data. Statistical tests can be selected and added to
the graphs.
Analysis of flow cytometry data is especially integrated with plotGrouper.
Count data can be transformed to return the absolute
number of cells in a sample (this feature requires inclusion of the number of
beads per sample and information about any dilution performed).
Examples of some of the types of plots you can create:
{width=100%}
{width=100%}
## Installation
+ If you do not already have R installed, or your version is out of date,
download and install the latest [version](https://cran.r-project.org).
+ Optionally, install the latest version of
[RStudio Desktop](https://www.rstudio.com/products/rstudio/#Desktop).
+ Download the package from Bioconductor.
```{r eval = FALSE}
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("plotGrouper")
```
+ Or install the development version of the package from Bioconductor:
```{r eval = FALSE}
'Bioconductor'
BiocManager::install("plotGrouper", version = "devel")
```
+ Or GitHub:
```{r eval = FALSE}
BiocManager::install("jdgagnon/plotGrouper")
```
## Usage
Load the package into the R session.
`library(plotGrouper)`
To initialize the shiny app, paste the following code in your R console
and run it.
`plotGrouper()`
Once the web app opens, you can access the `iris` dataset by clicking the iris
button to learn how to use the app. After the `iris` data loads, the selection
windows will be automatically populated and a graph should be displayed.
The `Raw Data` tab displays the structure of the data loaded. Your file should
be organized in the following way:
```{r, echo=FALSE, fig.align='center'}
knitr::kable(
matrix(c("***Sample***", "***Species***", "***Sepal.Length***",
"setosa_1", "setosa", 5.1,
"setosa_2", "setosa", 4.9,
"versicolor_1", "versicolor", 7,
"versicolor_2", "versicolor", 6.4,
"virginica_1", "virginica", 6.3,
"virginica_2", "virginica", 5.8,
"etc...", "etc...", "etc..."),
ncol = 3, byrow = T),
col.names = c("Unique identifier", "Comparisons", "Variables"),
align = "c")
```
These columns can be titled anything you want but values in the columns are
important.
* The `Unique identifier` column should contain only unique values that identify
each individual sample (e.g., `Sample` within `iris` `Raw Data`).
* The `Comparisons` column should contain replicated values that identify each
individual as belonging to a group (e.g., `Species` within `iris` `Raw Data`).
* The `Variables` column(s) should created for each variable you wish
to plot. The values in these columns must be numeric (e.g., `Sepal.Length`,
`Sepal.Width`, `Petal.Length`, `Petal.Width` within `iris` `Raw Data`)
After importing a data file, a `Sheet` column will be created and populated
with the sheet name(s) from the file if it came from an excel spreadsheet
or the file name if it came from a csv or tsv file.
* The `Variables to plot` selection window is used to choose which variable(s)
to plot (e.g., `Sepal.Width` from the `iris` data). If multiple are selected,
they will be grouped according to the `Independent variable` selected.
* The `Comparisons` selection window is used to choose which column contains the
information that identifies which condition each sample belongs to (e.g., the
`Species` column within the `iris` data).
* The `Independent variable` selection window is used to select how the plots
should be grouped. If `variable` is selected (the default), the plots will be
grouped by the values in `Variables to plot`.
* Use the `Shapes` selector to change the shape of the points for each
comparison variable.
* Use the `Colors` selector to change the point colors for each
comparison variable.
* Use the `Fills` selector to change the fill color for the other geoms being
plotted for each comparison variable.
To prevent the `Shapes`, `Colors`, or `Fills` from reverting to their defaults,
click the `Lock` checkboxes.
Individual plots can be saved by clicking `Save` on the `Plot` tab or multiple
plots may be arranged on a single page by clicking `Add plot to report`.
Clicking this button will send the current plot to the `Report` tab and assign
it a number in the `Report plot #` dropdown menu. To revisit a plot stored in
the `Report` tab, select the plot you wish to restore and click
`Load plot from report`. Changes can be made to this plot and then updated in
the `Report` by clicking `Update plot in report`.
* The statistics calculated for the current plot being displayed in the `Plot` tab
are stored in the `Statistics` tab. These can be saved by clicking the
`Download` button on the `Statistics` tab.
* The `Plot Data` tab contains the reorganized subset of data being plotted.
* The `Raw Data` tab displays the dataframe that was created upon import of the
file along with the automatically created `Sheet` column.
## Session info
Here is the output of `sessionInfo()` on the system on which this package was
developed:
```{r}
sessionInfo()
```
## License
[GNU GPL-3.0-or-later](https://www.gnu.org/licenses/gpl.txt)
Owner
- Name: John Gagnon
- Login: jdgagnon
- Kind: user
- Repositories: 1
- Profile: https://github.com/jdgagnon
GitHub Events
Total
Last Year
Committers
Last synced: over 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| jdgagnon | j****n@J****l | 175 |
| jdgagnon | j****n@J****u | 53 |
| jdgagnon | j****n@J****l | 41 |
| John Gagnon | j****2@g****m | 39 |
| jdgagnon | j****n@v****u | 11 |
| jdgagnon | j****n@v****u | 1 |
| jdgagnon | j****n@v****u | 1 |
| jdgagnon | j****n@v****u | 1 |
| jdgagnon | j****n@v****u | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 7
- Total pull requests: 64
- Average time to close issues: 19 days
- Average time to close pull requests: less than a minute
- Total issue authors: 2
- Total pull request authors: 1
- Average comments per issue: 0.14
- Average comments per pull request: 0.0
- Merged pull requests: 64
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- jdgagnon (6)
- ajlitterman (1)
Pull Request Authors
- jdgagnon (64)
Top Labels
Issue Labels
enhancement (1)
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- bioconductor 9,975 total
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 5
- Total maintainers: 1
bioconductor.org: plotGrouper
Shiny app GUI wrapper for ggplot with built-in statistical analysis
- Homepage: https://jdgagnon.github.io/plotGrouper/
- Documentation: https://bioconductor.org/packages/release/bioc/vignettes/plotGrouper/inst/doc/plotGrouper.pdf
- License: GPL-3
-
Latest release: 1.26.0
published 9 months ago
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 23.6%
Downloads: 70.9%
Maintainers (1)
Last synced:
6 months ago