# FreesearchR

The [***FreesearchR***](https://app.freesearchr.org) is a simple,
clinical health data exploration and analysis tool to democratise
clinical research by assisting any researcher to easily evaluate and
analyse data and export publication ready results.

[***FreesearchR***](https://app.freesearchr.org) is free and
open-source, and is [accessible in your web browser through this
link](https://app.freesearchr.org). The app can also run locally, please
[see below](#run-locally-on-your-own-machine-sec-run-locally).

All feedback is welcome and can be shared as a GitHub issue. Any
suggestions on collaboration is much welcomed. Please reach out!

![FreesearchR demo](./reference/figures/demo.gif)

FreesearchR demo

## Motivation

This app has the following simple goals:

1.  help the health clinician getting an overview of data in quality
    improvement projects and clinical research

2.  help learners get a good start analysing data and coding in *R*

3.  ease quick data overview and basic visualisations for any clinical
    researcher

Here’s a polished and restructured version of your README section for
clarity, conciseness, and user-friendliness:

## Run Locally on Your Own Machine

The **FreesearchR** app can be run locally on your machine, ensuring no
data is transmitted externally. Below are the available options for
setup and configuration.

### Configuration & Data Loading

The app can be configured either by passing a named list to `run_app()`
or by setting environment variables in a **Docker Compose** file. The
following variables control data access and display behavior. If no
values are provided, the app will use the defaults listed below.

**Configuration Variables**

| Variable             | Description                                                                                                 | Default   |
|----------------------|-------------------------------------------------------------------------------------------------------------|-----------|
| `INCLUDE_GLOBALENV`  | Load datasets already present in the global R environment into the app                                      | `FALSE`   |
| `DATA_LIMIT_DEFAULT` | Default number of observations for previewing or working with a dataset                                     | `10,000`  |
| `DATA_LIMIT_UPPER`   | Maximum number of observations a user can set for the upper limit. If set to 0, no uppper limit is applied. | `100,000` |
| `DATA_LIMIT_LOWER`   | Minimum number of observations a user can set for the lower limit                                           | `1`       |
| `CHECK_APP_VERSION`  | Always print version check results. Checks app version against latest release on GitHub.                    | `FALSE`   |

### Run from R (or RStudio)

If you’re working with data in R, **FreesearchR** is a quick and easy
tool for exploratory analysis.

1.  **Requirement:** Ensure you have [R](https://www.r-project.org/)
    installed, and optionally an editor like
    [RStudio](https://posit.co/download/rstudio-desktop/).

2.  Open the **R console** and run the following code to install the
    [FreesearchR](https://github.com/agdamsbo/FreesearchR) package and
    launch the app:

    ``` r
    if (!require("devtools")) install.packages("devtools")
    devtools::install_github("agdamsbo/FreesearchR")
    library(FreesearchR)
    # Load sample data (e.g., mtcars) to make it available in the app
    data(mtcars)
    launch_FreesearchR(INCLUDE_GLOBALENV=TRUE,CHECK_APP_VERSION=TRUE)
    ```

All the variables specified above can also be passed to the app on
launch from R. Set DATA_LIMIT_UPPER=0 to remove upper data limit. This
limit is set to protect the online app version from choking and crashing
on large data sets.

### Running with Docker Compose

For advanced users, you can deploy **FreesearchR** using Docker. A data
folder can be mounted to `/app/data` to automatically load supported
file types (`.csv`, `.tsv`, `.txt`, `.xls`, `.xlsx`, `.ods`, `.dta`,
`.rds`) at startup.

To mount a local data folder, add a `volumes` entry to your
`docker-compose.yml` file:

``` yaml
services:
  shiny:
    image: ghcr.io/agdamsbo/freesearchr:latest
    volumes:
      - ./data:/app/data:ro
    environment:
      - INCLUDE_GLOBALENV=FALSE
      - DATA_LIMIT_DEFAULT=10000
      - DATA_LIMIT_UPPER=100000
      - DATA_LIMIT_LOWER=1
    ports:
      - '3838:3838'
    restart: on-failure
```

- The `:ro` flag mounts the folder as **read-only**, preventing the app
  from modifying your original data files.

- If no volume is mounted, the app will start without any preloaded
  datasets.

## Code of Conduct

Please note that the ***FreesearchR*** project is published with a
[Contributor Code of
Conduct](https://contributor-covenant.org/version/2/1/CODE_OF_CONDUCT.html).
By contributing to this project, you agree to abide by its terms.

## Translators

Thank you very much to all translators having helped to translate and
validate translation drafts.

## Acknowledgements

Like any other project, this project was never possible without the
great work of others. These are some of the sources and packages I have
used:

- The ***FreesearchR*** app is built with
  [Shiny](https://shiny.posit.co/) and based on
  [*R*](https://www.r-project.org/).

- [gtsummary](https://www.danieldsjoberg.com/gtsummary/): superb and
  flexible way to create publication-ready analytical and summary
  tables.

- [dreamRs](https://github.com/dreamRs): maintainers of a broad
  selection of great extensions and tools for
  [Shiny](https://shiny.posit.co/).

- [easystats](https://easystats.github.io/easystats/): the
  [`performance::check_model()`](https://easystats.github.io/performance/articles/check_model.html)
  function was central in sparking the idea to create a data analysis
  tool.

- [IDEAfilter](https://biogen-inc.github.io/IDEAFilter/): a visually
  appealing data filter function based on the
  [{shinyDataFilter}](https://github.com/dgkf/shinyDataFilter).

This project was all written by a human and not by any AI-based tools.

The online ***FreesearchR*** app contains a tracking script,
transmitting minimal data on usage. No uploaded data is transmitted
anywhere. Have a look at the [tracking data
here](https://analytics.gdamsbo.dk/share/2i4BNpMcDMB9lJvF/agdamsbo.shinyapps.io).
No tracking data is sent running the app locally (see above).

# Package index

## All functions

- [`FreesearchR_palette()`](https://agdamsbo.github.io/FreesearchR/reference/FreesearchR_palette.md)
  : Use the FreesearchR colors

- [`FreesearchR_theme()`](https://agdamsbo.github.io/FreesearchR/reference/FreesearchR_theme.md)
  : Custom theme based on unity

- [`add_class_icon()`](https://agdamsbo.github.io/FreesearchR/reference/add_class_icon.md)
  : Convert class grid column to icon

- [`add_sparkline()`](https://agdamsbo.github.io/FreesearchR/reference/add_sparkline.md)
  : Add sparkline to datagrid

- [`align_axes()`](https://agdamsbo.github.io/FreesearchR/reference/align_axes.md)
  : Aligns axes between plots

- [`all_but()`](https://agdamsbo.github.io/FreesearchR/reference/all_but.md)
  : Select all from vector but

- [`append_column()`](https://agdamsbo.github.io/FreesearchR/reference/append_column.md)
  : Append a column to a data.frame

- [`append_list()`](https://agdamsbo.github.io/FreesearchR/reference/append_list.md)
  : Append list with named index

- [`apply_labels()`](https://agdamsbo.github.io/FreesearchR/reference/apply_labels.md)
  : Apply a named label vector to a data frame

- [`argsstring2list()`](https://agdamsbo.github.io/FreesearchR/reference/argsstring2list.md)
  : Convert string of arguments to list of arguments

- [`baseline_table()`](https://agdamsbo.github.io/FreesearchR/reference/baseline_table.md)
  : Print a flexible baseline characteristics table

- [`check_app_version()`](https://agdamsbo.github.io/FreesearchR/reference/check_app_version.md)
  : Run a startup version check and return a banner UI element

- [`class_icons()`](https://agdamsbo.github.io/FreesearchR/reference/class_icons.md)
  : Get data class icons

- [`clean_common_axis()`](https://agdamsbo.github.io/FreesearchR/reference/clean_common_axis.md)
  : Extract and clean axis ranges

- [`clean_date()`](https://agdamsbo.github.io/FreesearchR/reference/clean_date.md)
  : Attempts at applying uniform date format

- [`clean_sep()`](https://agdamsbo.github.io/FreesearchR/reference/clean_sep.md)
  : gsub wrapper for piping with default values for separator
  substituting

- [`collapse_spaces()`](https://agdamsbo.github.io/FreesearchR/reference/collapse_spaces.md)
  : Substitue spaces/tabs with single space excluding text within quotes

- [`colorSelectInput()`](https://agdamsbo.github.io/FreesearchR/reference/colorSelectInput.md)
  :

  A selectizeInput customized for named vectors of color names supported
  by `generate_colors`

- [`columnSelectInput()`](https://agdamsbo.github.io/FreesearchR/reference/columnSelectInput.md)
  : A selectizeInput customized for data frames with column labels

- [`compare_missings()`](https://agdamsbo.github.io/FreesearchR/reference/compare_missings.md)
  : Pairwise comparison of missings across covariables

- [`continuous_colors()`](https://agdamsbo.github.io/FreesearchR/reference/continuous_colors.md)
  : Create a Continuous Color Function from a Palette

- [`contrast_text()`](https://agdamsbo.github.io/FreesearchR/reference/contrast_text.md)
  : Contrast Text Color

- [`corr_pairs_validate()`](https://agdamsbo.github.io/FreesearchR/reference/corr_pairs_validate.md)
  : Correlation pairs validation

- [`correlation_pairs()`](https://agdamsbo.github.io/FreesearchR/reference/correlation_pairs.md)
  : Determine significant correlations in the data set

- [`create_column_ui()`](https://agdamsbo.github.io/FreesearchR/reference/create-column.md)
  [`create_column_server()`](https://agdamsbo.github.io/FreesearchR/reference/create-column.md)
  [`allowed_operations()`](https://agdamsbo.github.io/FreesearchR/reference/create-column.md)
  [`modal_create_column()`](https://agdamsbo.github.io/FreesearchR/reference/create-column.md)
  [`winbox_create_column()`](https://agdamsbo.github.io/FreesearchR/reference/create-column.md)
  : Create new column

- [`create_baseline()`](https://agdamsbo.github.io/FreesearchR/reference/create_baseline.md)
  : Create a baseline table

- [`create_log_tics()`](https://agdamsbo.github.io/FreesearchR/reference/create_log_tics.md)
  : Create summetric log ticks

- [`create_overview_datagrid()`](https://agdamsbo.github.io/FreesearchR/reference/create_overview_datagrid.md)
  : Create a data overview datagrid

- [`cut_variable_ui()`](https://agdamsbo.github.io/FreesearchR/reference/cut-variable.md)
  [`cut_variable_server()`](https://agdamsbo.github.io/FreesearchR/reference/cut-variable.md)
  [`modal_cut_variable()`](https://agdamsbo.github.io/FreesearchR/reference/cut-variable.md)
  : Module to Convert Numeric to Factor

- [`cut_methods()`](https://agdamsbo.github.io/FreesearchR/reference/cut_methods.md)
  : Library of cut methods with descriptions

- [`cut_var()`](https://agdamsbo.github.io/FreesearchR/reference/cut_var.md)
  : Extended cutting function with fall-back to the native base::cut

- [`data_correlations_ui()`](https://agdamsbo.github.io/FreesearchR/reference/data-correlations.md)
  [`data_correlations_server()`](https://agdamsbo.github.io/FreesearchR/reference/data-correlations.md)
  : Data correlations evaluation module

- [`data_missings_ui()`](https://agdamsbo.github.io/FreesearchR/reference/data-missings.md)
  [`data_missings_server()`](https://agdamsbo.github.io/FreesearchR/reference/data-missings.md)
  : Data correlations evaluation module

- [`data_visuals_ui()`](https://agdamsbo.github.io/FreesearchR/reference/data-plots.md)
  [`data_visuals_server()`](https://agdamsbo.github.io/FreesearchR/reference/data-plots.md)
  [`create_plot()`](https://agdamsbo.github.io/FreesearchR/reference/data-plots.md)
  [`plot_bar_single()`](https://agdamsbo.github.io/FreesearchR/reference/data-plots.md)
  [`plot_box()`](https://agdamsbo.github.io/FreesearchR/reference/data-plots.md)
  [`plot_box_single()`](https://agdamsbo.github.io/FreesearchR/reference/data-plots.md)
  [`plot_hbars()`](https://agdamsbo.github.io/FreesearchR/reference/data-plots.md)
  [`plot_likert()`](https://agdamsbo.github.io/FreesearchR/reference/data-plots.md)
  [`plot_ridge()`](https://agdamsbo.github.io/FreesearchR/reference/data-plots.md)
  [`sankey_ready()`](https://agdamsbo.github.io/FreesearchR/reference/data-plots.md)
  [`plot_sankey()`](https://agdamsbo.github.io/FreesearchR/reference/data-plots.md)
  [`plot_scatter()`](https://agdamsbo.github.io/FreesearchR/reference/data-plots.md)
  [`plot_violin()`](https://agdamsbo.github.io/FreesearchR/reference/data-plots.md)
  : Data correlations evaluation module

- [`data_summary_ui()`](https://agdamsbo.github.io/FreesearchR/reference/data-summary.md)
  [`data_summary_server()`](https://agdamsbo.github.io/FreesearchR/reference/data-summary.md)
  : Data summary module

- [`data_description()`](https://agdamsbo.github.io/FreesearchR/reference/data_description.md)
  : Ultra short data dascription

- [`data_summary_gather()`](https://agdamsbo.github.io/FreesearchR/reference/data_summary_gather.md)
  : Data summary for printing visual summary

- [`data_type()`](https://agdamsbo.github.io/FreesearchR/reference/data_type.md)
  : Data type assessment.

- [`data_type_filter()`](https://agdamsbo.github.io/FreesearchR/reference/data_type_filter.md)
  : Filter function to filter data set by variable type

- [`data_types()`](https://agdamsbo.github.io/FreesearchR/reference/data_types.md)
  : Recognised data types from data_type

- [`default_format_arguments()`](https://agdamsbo.github.io/FreesearchR/reference/default_format_arguments.md)
  : Defaults qmd formats

- [`default_parsing()`](https://agdamsbo.github.io/FreesearchR/reference/default_parsing.md)
  : Default data parsing

- [`detect_delimiter()`](https://agdamsbo.github.io/FreesearchR/reference/detect_delimiter.md)
  : Detect delimiters in string based on allowed delimiters

- [`dim_change_call()`](https://agdamsbo.github.io/FreesearchR/reference/dim_change_call.md)
  : Dimensions validation

- [`.build_version_alert()`](https://agdamsbo.github.io/FreesearchR/reference/dot-build_version_alert.md)
  : Build a shinyWidgets::alert() UI element for the version banner

- [`.get_latest_github_version()`](https://agdamsbo.github.io/FreesearchR/reference/dot-get_latest_github_version.md)
  : Fetch the latest release version from a GitHub repository

- [`.has_internet()`](https://agdamsbo.github.io/FreesearchR/reference/dot-has_internet.md)
  : Check internet connectivity

- [`.resolve_app_version()`](https://agdamsbo.github.io/FreesearchR/reference/dot-resolve_app_version.md)
  : Resolve the current app version

- [`drop_empty_event()`](https://agdamsbo.github.io/FreesearchR/reference/drop_empty_event.md)
  : Drop empty events from REDCap export

- [`expression_string()`](https://agdamsbo.github.io/FreesearchR/reference/expression_string.md)
  : Deparses expression as string, substitutes native pipe and adds
  assign

- [`extract_labels()`](https://agdamsbo.github.io/FreesearchR/reference/extract_labels.md)
  : Extract column labels from a data frame

- [`factor_new_levels_labels()`](https://agdamsbo.github.io/FreesearchR/reference/factor_new_levels_labels.md)
  : Simple function to apply new levels and/or labels to factor

- [`factorize()`](https://agdamsbo.github.io/FreesearchR/reference/factorize.md)
  : Factorize variables in data.frame

- [`file_export()`](https://agdamsbo.github.io/FreesearchR/reference/file_export.md)
  : Title

- [`format_writer()`](https://agdamsbo.github.io/FreesearchR/reference/format_writer.md)
  : Merges list of named arguments for qmd header generation

- [`generate_colors()`](https://agdamsbo.github.io/FreesearchR/reference/generate_colors.md)
  : Generate N Colors from a Specified Color Palette

- [`get_data_packages()`](https://agdamsbo.github.io/FreesearchR/reference/get_data_packages.md)
  : Get packages containing datasets

- [`get_dimensions()`](https://agdamsbo.github.io/FreesearchR/reference/get_dimensions.md)
  : Extension of the helper function from datamods

- [`get_fun_options()`](https://agdamsbo.github.io/FreesearchR/reference/get_fun_options.md)
  : Get the function options based on the selected function description

- [`get_label()`](https://agdamsbo.github.io/FreesearchR/reference/get_label.md)
  : Print label, and if missing print variable name for plots

- [`get_list_elements()`](https://agdamsbo.github.io/FreesearchR/reference/get_list_elements.md)
  : Subset elements from list of lists

- [`get_plot_options()`](https://agdamsbo.github.io/FreesearchR/reference/get_plot_options.md)
  : Get the function options based on the selected function description

- [`get_var_icon()`](https://agdamsbo.github.io/FreesearchR/reference/get_var_icon.md)
  : Easily get variable icon based on data type or class

- [`getfun()`](https://agdamsbo.github.io/FreesearchR/reference/getfun.md)
  : Wrapper function to get function from character vector referring to
  function from namespace. Passed to 'do.call()'

- [`gg_theme_export()`](https://agdamsbo.github.io/FreesearchR/reference/gg_theme_export.md)
  : GGplot default theme for plotting export objects

- [`gg_theme_shiny()`](https://agdamsbo.github.io/FreesearchR/reference/gg_theme_shiny.md)
  : GGplot default theme for plotting in Shiny

- [`ggeulerr()`](https://agdamsbo.github.io/FreesearchR/reference/ggeulerr.md)
  : Area proportional venn diagrams

- [`grepl_fix()`](https://agdamsbo.github.io/FreesearchR/reference/grepl_fix.md)
  : Matches pattern to vector based on match type

- [`if_not_missing()`](https://agdamsbo.github.io/FreesearchR/reference/if_not_missing.md)
  : Return if available

- [`import_delim()`](https://agdamsbo.github.io/FreesearchR/reference/import-file-type.md)
  [`import_xls()`](https://agdamsbo.github.io/FreesearchR/reference/import-file-type.md)
  [`import_ods()`](https://agdamsbo.github.io/FreesearchR/reference/import-file-type.md)
  [`import_dta()`](https://agdamsbo.github.io/FreesearchR/reference/import-file-type.md)
  [`import_rds()`](https://agdamsbo.github.io/FreesearchR/reference/import-file-type.md)
  : Wrapper to ease data file import

- [`import_file_ui()`](https://agdamsbo.github.io/FreesearchR/reference/import-file.md)
  [`import_file_server()`](https://agdamsbo.github.io/FreesearchR/reference/import-file.md)
  : Import data from a file

- [`import_file_demo_app()`](https://agdamsbo.github.io/FreesearchR/reference/import-file_module.md)
  : Test app for the import_file module

- [`import_globalenv_ui()`](https://agdamsbo.github.io/FreesearchR/reference/import-globalenv.md)
  [`import_globalenv_server()`](https://agdamsbo.github.io/FreesearchR/reference/import-globalenv.md)
  : Import data from an Environment

- [`index_embed()`](https://agdamsbo.github.io/FreesearchR/reference/index_embed.md)
  : Split vector by an index and embed addition

- [`is_any_class()`](https://agdamsbo.github.io/FreesearchR/reference/is_any_class.md)
  : Test class

- [`is_consecutive()`](https://agdamsbo.github.io/FreesearchR/reference/is_consecutive.md)
  : Checks if elements in vector are equally spaced as indication of ID

- [`is_datetime()`](https://agdamsbo.github.io/FreesearchR/reference/is_datetime.md)
  : Test is date/datetime/time

- [`is_identical_to_previous()`](https://agdamsbo.github.io/FreesearchR/reference/is_identical_to_previous.md)
  : Test if element is identical to the previous

- [`is_splittable()`](https://agdamsbo.github.io/FreesearchR/reference/is_splittable.md)
  : Determine if any variable in data frame character and contains
  recognized delimiters

- [`is_valid_redcap_url()`](https://agdamsbo.github.io/FreesearchR/reference/is_valid_redcap_url.md)
  : Test if url is valid format for REDCap API

- [`is_valid_token()`](https://agdamsbo.github.io/FreesearchR/reference/is_valid_token.md)
  : Validate REDCap token

- [`label_report()`](https://agdamsbo.github.io/FreesearchR/reference/label_report.md)
  : Print a tidy summary of column labels

- [`landing_page_ui()`](https://agdamsbo.github.io/FreesearchR/reference/landing_page_ui.md)
  : Tag list of elements for the FreesearchR landing page

- [`launch_FreesearchR()`](https://agdamsbo.github.io/FreesearchR/reference/launch_FreesearchR.md)
  : Easily launch the FreesearchR app

- [`limit_data_size()`](https://agdamsbo.github.io/FreesearchR/reference/limit_data_size.md)
  : Limit the allowed data set size by number of cells

- [`limit_log()`](https://agdamsbo.github.io/FreesearchR/reference/limit_log.md)
  : Easily round log scale limits for nice plots

- [`line_break()`](https://agdamsbo.github.io/FreesearchR/reference/line_break.md)
  : Line breaking at given number of characters for nicely plotting
  labels

- [`list_pkg_data()`](https://agdamsbo.github.io/FreesearchR/reference/list_pkg_data.md)
  : List dataset contained in a package

- [`make_validation()`](https://agdamsbo.github.io/FreesearchR/reference/make_validation.md)
  : Create validation data.frame

- [`make_validation_alerts()`](https://agdamsbo.github.io/FreesearchR/reference/make_validation_alerts.md)
  : Create alert from validation data.frame

- [`mcar_validate()`](https://agdamsbo.github.io/FreesearchR/reference/mcar_validate.md)
  : MCAR validation based on a gtsummary table bady

- [`merge_expression()`](https://agdamsbo.github.io/FreesearchR/reference/merge_expression.md)
  : Merge list of expressions

- [`merge_long()`](https://agdamsbo.github.io/FreesearchR/reference/merge_long.md)
  : Wrapper to pivot gtsummary table data to long for plotting

- [`missing_fraction()`](https://agdamsbo.github.io/FreesearchR/reference/missing_fraction.md)
  : Get missingsness fraction

- [`missings_logic_across()`](https://agdamsbo.github.io/FreesearchR/reference/missings_logic_across.md)
  : Converting all variables to logicals by missing status

- [`missings_validate()`](https://agdamsbo.github.io/FreesearchR/reference/missings_validate.md)
  : Validate function of missingness in data

- [`modify_qmd()`](https://agdamsbo.github.io/FreesearchR/reference/modify_qmd.md)
  : Wrapper to modify quarto file to render specific formats

- [`names2val()`](https://agdamsbo.github.io/FreesearchR/reference/names2val.md)
  : Set values as names and names as values

- [`obs_filter_validate()`](https://agdamsbo.github.io/FreesearchR/reference/obs_filter_validate.md)
  : Observations filter test wrapper

- [`overview_vars()`](https://agdamsbo.github.io/FreesearchR/reference/overview_vars.md)
  : Create a data overview data.frame ready for sparklines

- [`pipe_string()`](https://agdamsbo.github.io/FreesearchR/reference/pipe_string.md)
  : Reduce character vector with the native pipe operator or character
  string

- [`plot(`*`<tbl_regression>`*`)`](https://agdamsbo.github.io/FreesearchR/reference/plot.tbl_regression.md)
  : Regression coef plot from gtsummary. Slightly modified to pass on
  arguments

- [`plot_euler()`](https://agdamsbo.github.io/FreesearchR/reference/plot_euler.md)
  : Easily plot euler diagrams

- [`plot_euler_single()`](https://agdamsbo.github.io/FreesearchR/reference/plot_euler_single.md)
  : Easily plot single euler diagrams

- [`plot_sankey_single()`](https://agdamsbo.github.io/FreesearchR/reference/plot_sankey_single.md)
  : Beautiful sankey plot

- [`possible_functions()`](https://agdamsbo.github.io/FreesearchR/reference/possible_functions.md)
  : Get possible regression models

- [`possible_plots()`](https://agdamsbo.github.io/FreesearchR/reference/possible_plots.md)
  : Get possible regression models

- [`read_input()`](https://agdamsbo.github.io/FreesearchR/reference/read_input.md)
  : Flexible file import based on extension

- [`m_redcap_readUI()`](https://agdamsbo.github.io/FreesearchR/reference/redcap_read_shiny_module.md)
  [`m_redcap_readServer()`](https://agdamsbo.github.io/FreesearchR/reference/redcap_read_shiny_module.md)
  [`redcap_demo_app()`](https://agdamsbo.github.io/FreesearchR/reference/redcap_read_shiny_module.md)
  : Shiny module to browser and export REDCap data

- [`regression_model()`](https://agdamsbo.github.io/FreesearchR/reference/regression_model.md)
  [`regression_model_uv()`](https://agdamsbo.github.io/FreesearchR/reference/regression_model.md)
  [`regression_model_list()`](https://agdamsbo.github.io/FreesearchR/reference/regression_model.md)
  [`regression_model_uv_list()`](https://agdamsbo.github.io/FreesearchR/reference/regression_model.md)
  : Create a regression model programatically

- [`regression_table()`](https://agdamsbo.github.io/FreesearchR/reference/regression_table.md)
  : Create table of regression model

- [`regression_table_create()`](https://agdamsbo.github.io/FreesearchR/reference/regression_table_create.md)
  : Create regression summary table

- [`remove_empty_attr()`](https://agdamsbo.github.io/FreesearchR/reference/remove_empty_attr.md)
  : Remove empty/NA attributes

- [`remove_empty_cols()`](https://agdamsbo.github.io/FreesearchR/reference/remove_empty_cols.md)
  : Removes columns with completenes below cutoff

- [`remove_nested_list()`](https://agdamsbo.github.io/FreesearchR/reference/remove_nested_list.md)
  : Very simple function to remove nested lists, like when uploading
  .rds

- [`repeated_instruments()`](https://agdamsbo.github.io/FreesearchR/reference/repeated_instruments.md)
  : Get names of repeated instruments

- [`restore_labels()`](https://agdamsbo.github.io/FreesearchR/reference/restore_labels.md)
  : Restore column labels using a reference data frame

- [`scale_fill_generate()`](https://agdamsbo.github.io/FreesearchR/reference/scale_fill_generate.md)
  [`scale_color_generate()`](https://agdamsbo.github.io/FreesearchR/reference/scale_fill_generate.md)
  : Discrete and Continuous Fill Scale Using generate_colors

- [`selectInputIcon()`](https://agdamsbo.github.io/FreesearchR/reference/selectInputIcon.md)
  : Create a select input control with icon(s)

- [`separate_string()`](https://agdamsbo.github.io/FreesearchR/reference/separate_string.md)
  : Separate string wide or long

- [`set_column_label()`](https://agdamsbo.github.io/FreesearchR/reference/set_column_label.md)
  : (Re)label columns in data.frame

- [`show_data()`](https://agdamsbo.github.io/FreesearchR/reference/show_data.md)
  : Display a table in a window

- [`simple_snake()`](https://agdamsbo.github.io/FreesearchR/reference/simple_snake.md)
  : Simplified version of the snakecase packages to_snake_case

- [`sort_by()`](https://agdamsbo.github.io/FreesearchR/reference/sort_by.md)
  : Drop-in replacement for the base::sort_by with option to remove NAs

- [`specify_qmd_format()`](https://agdamsbo.github.io/FreesearchR/reference/specify_qmd_format.md)
  : Specify format arguments to include in qmd header/frontmatter

- [`string_split_ui()`](https://agdamsbo.github.io/FreesearchR/reference/split-string.md)
  [`string_split_server()`](https://agdamsbo.github.io/FreesearchR/reference/split-string.md)
  [`modal_string_split()`](https://agdamsbo.github.io/FreesearchR/reference/split-string.md)
  : String split module based on tidyr::separate\_

- [`subset_types()`](https://agdamsbo.github.io/FreesearchR/reference/subset_types.md)
  : Easily subset by data type function

- [`supported_functions()`](https://agdamsbo.github.io/FreesearchR/reference/supported_functions.md)
  : Implemented functions

- [`supported_plots()`](https://agdamsbo.github.io/FreesearchR/reference/supported_plots.md)
  : Implemented functions

- [`symmetrical_scale_x_log10()`](https://agdamsbo.github.io/FreesearchR/reference/symmetrical_scale_x_log10.md)
  : Ensure symmetrical plot around 1 on a logarithmic x scale for ratio
  plots

- [`tbl_merge()`](https://agdamsbo.github.io/FreesearchR/reference/tbl_merge.md)
  : A substitue to gtsummary::tbl_merge, that will use list names for
  the tab spanner names.

- [`type_icons()`](https://agdamsbo.github.io/FreesearchR/reference/type_icons.md)
  : Get data type icons

- [`ui_elements()`](https://agdamsbo.github.io/FreesearchR/reference/ui_elements.md)
  : FreesearchR UI elements list

- [`unique_names()`](https://agdamsbo.github.io/FreesearchR/reference/unique_names.md)
  : Make unique variable names

- [`unique_short()`](https://agdamsbo.github.io/FreesearchR/reference/unique_short.md)
  : Create unique short names of character vector items based on index

- [`update_factor_ui()`](https://agdamsbo.github.io/FreesearchR/reference/update-factor.md)
  [`update_factor_server()`](https://agdamsbo.github.io/FreesearchR/reference/update-factor.md)
  [`modal_update_factor()`](https://agdamsbo.github.io/FreesearchR/reference/update-factor.md)
  [`winbox_update_factor()`](https://agdamsbo.github.io/FreesearchR/reference/update-factor.md)
  : Module to Reorder the Levels of a Factor Variable

- [`update_variables_ui()`](https://agdamsbo.github.io/FreesearchR/reference/update-variables.md)
  [`update_variables_server()`](https://agdamsbo.github.io/FreesearchR/reference/update-variables.md)
  : Select, rename and convert variables

- [`update_variables_datagrid()`](https://agdamsbo.github.io/FreesearchR/reference/update_variables_datagrid.md)
  : Modified from the datamods pacakge

- [`validate_redcap_filter()`](https://agdamsbo.github.io/FreesearchR/reference/validate_redcap_filter.md)
  : Validate a REDCap server-side filter string against a data
  dictionary

- [`validation_ui()`](https://agdamsbo.github.io/FreesearchR/reference/validation.md)
  [`validation_server()`](https://agdamsbo.github.io/FreesearchR/reference/validation.md)
  : Validation module

- [`validation_lib()`](https://agdamsbo.github.io/FreesearchR/reference/validation_lib.md)
  : Validation library

- [`vars_filter_validate()`](https://agdamsbo.github.io/FreesearchR/reference/vars_filter_validate.md)
  : Variable filter test wrapper

- [`vectorSelectInput()`](https://agdamsbo.github.io/FreesearchR/reference/vectorSelectInput.md)
  : A selectizeInput customized for named vectors

- [`vertical_stacked_bars()`](https://agdamsbo.github.io/FreesearchR/reference/vertical_stacked_bars.md)
  : Vertical stacked bar plot wrapper

- [`visual_summary_ui()`](https://agdamsbo.github.io/FreesearchR/reference/visual-summary.md)
  [`visual_summary_server()`](https://agdamsbo.github.io/FreesearchR/reference/visual-summary.md)
  [`modal_visual_summary()`](https://agdamsbo.github.io/FreesearchR/reference/visual-summary.md)
  [`missings_apex_plot()`](https://agdamsbo.github.io/FreesearchR/reference/visual-summary.md)
  [`visual_summary()`](https://agdamsbo.github.io/FreesearchR/reference/visual-summary.md)
  : Data correlations evaluation module

- [`wide2long()`](https://agdamsbo.github.io/FreesearchR/reference/wide2long.md)
  : Alternative pivoting method for easily pivoting based on name
  pattern

- [`with_labels()`](https://agdamsbo.github.io/FreesearchR/reference/with_labels.md)
  : Evaluate an expression while preserving column labels

- [`wrap_plot_list()`](https://agdamsbo.github.io/FreesearchR/reference/wrap_plot_list.md)
  : Wrapping

- [`write_quarto()`](https://agdamsbo.github.io/FreesearchR/reference/write_quarto.md)
  : Wrapper to save data in RDS, load into specified qmd and render

# Articles

### All vignettes

- [Data
  types](https://agdamsbo.github.io/FreesearchR/articles/data-types.md):
- [FreesearchR](https://agdamsbo.github.io/FreesearchR/articles/FreesearchR.md):
- [Missingness in
  data](https://agdamsbo.github.io/FreesearchR/articles/missingness.md):
- [Session
  info](https://agdamsbo.github.io/FreesearchR/articles/session.md):
- [On
  visuals](https://agdamsbo.github.io/FreesearchR/articles/visuals.md):
