https://github.com/njlyon0/supportr
Support Functions for Wrangling and Visualization
https://github.com/njlyon0/supportr
data-science r-package
Last synced: 2 months ago
JSON representation
Support Functions for Wrangling and Visualization
- Host: GitHub
- URL: https://github.com/njlyon0/supportr
- Owner: njlyon0
- License: other
- Created: 2022-03-10T18:43:55.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-08-23T15:34:23.000Z (9 months ago)
- Last Synced: 2024-09-23T19:47:30.133Z (8 months ago)
- Topics: data-science, r-package
- Language: R
- Homepage: https://njlyon0.github.io/supportR/
- Size: 6.36 MB
- Stars: 6
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.Rmd
- Changelog: NEWS.md
- License: LICENSE
Awesome Lists containing this project
README
---
output: github_document
---
```{r, include = FALSE}
knitr::opts_chunk$set(collapse = TRUE, comment = "#>", fig.path = "man/figures/README-")
```# `supportR` - Support Functions for Wrangling and Visualization
[](https://github.com/njlyon0/supportR/actions/workflows/R-CMD-check.yaml)
[](https://cran.r-project.org/package=supportR)

`supportR` is an R package where the only unifying theme of the functions is honestly just that I wrote them. That said, there are some useful functions for **data wrangling** and **plotting** in particular, though functions for *other purposes* are also included. I'll add functions to this package as I write more orphan scripts that I hope others might find useful so stay tuned!
## Installation
You can install the development version from [GitHub](https://github.com/) with:
``` r
# install.packages("devtools")
devtools::install_github("njlyon0/supportR")
```### Data Wrangling
- **`summary_table`**: Calculates summary values (mean, standard deviation, sample size, and standard error) of a given response variable within supplied groups
- **`safe_rename`**: Renames columns in a given dataframe by matching 'bad' names with 'good' names
- **`name_vec`**: Creates a named vector of specified contents and names. Useful when creating named vectors that are too long to create manually or when creating the vector and then naming it is cumbersome
- **`crop_tri`**: Removes the specified "triangle" (either upper or lower) of a symmetric data object by replacing with NAs. Also allows user to specify whether to keep or also drop the diagonal
- **`array_melt`**: "Flattens" an array of dimensions X, Y, and Z into a dataframe containing columns `x`, `y`, `z`, and `value` where `value` is whatever was stored in the array at those coordinates
### Quality Control (QC)
- **`diff_check`**: Compares two vectors and identifies what elements are found in the first but not the second (i.e., *lost* components) and what elements are found in the second but not the first (i.e., *gained* components). Extremely useful prior to `join`ing two dataframes to compare index column contents or to ensure no columns are unexpectedly lost during complex wrangling operations
- **`num_check`**: Checks column(s) that _should_ contain only **numeric** values for any entries that would be coerced to NA if `as.numeric` is run
- **`count`**: Counts instances of each unique element in a provided vector
- **`replace_non_ascii`**: Replaces non-ASCII characters with visually comparable ASCII equivalents
- **`date_check`**: Checks column(s) that _should_ contain only **date** values for any entries that would be coerced to NA if `as.Date` is run
- **`date_format_guess`**: Checks a column containing multiple ambiguous date formats and identifies its best guess for the format each date is in (e.g., 'dd/mm/yyyy' versus 'yyyy/dd/mm', etc.)
### Visualization & Graphics
- **`theme_lyon`**: Applies a set of modifications to the non-data aspects of a `ggplot2` plot to ensure a consistent "feel" of a set of plots
- **`ordination`**: Creates an ordination for either the nonmetric multidimensional scaling (NMS) dissimilarity matrix created by `vegan::metaMDS` or for the principal coordinates analysis (PCoA) distance matrix returned by `ape::pcoa`
### Operations Outside of R
- **`github_ls`**: Lists contents of a GitHub repository from its URL and returns a simple dataframe containing the name, type, and file path of identified objects. Supports recursive listing (i.e., listing of contents of subfolders identified in first list of contents)
- **`github_tree`**: Creates a file tree diagram of a GitHub repository from its URL
- **`tabularize_md`**: Converts a markdown file into a table that retains the nested structure of any headings in the file. Accepts either the file name/path locally or a URL connection to a markdown file hosted online (e.g., a GitHub repository README.md, etc.)
- **`rmd_export`**: Allows knitting of a specified R Markdown file locally and simultaneously to a specified Google Drive folder. **NOTE:** you must authorize R to work with Google Drive by using `googldrive::drive_auth()` for this function to work
## Looking Ahead
More functions are likely to be developed and housed within this package so stay tuned! Feel free to post ideas for new functions as [an issue](https://github.com/njlyon0/supportR/issues) on this repository and I'll do my best to build them!