Review changes to the app over time:

- v2.3.5 (2022/11/21)
- New Features
- Added the option for adding a rug plot to kernel density plot in histograms. This adds tick marks for where the actual data points are. This helps with smaller data sets to see what the kernel density is using, and with larget data sets to see how the data are concentrated. The ticks have transparency to make it easier to see when there are a lot of points in the same area as they overlap and darken the rug fringes.
- Added an option for kernel density plots to extend the density plot until it meets the x-axis. This can take some time on larger data sets
- Angled x-labels on histograms to reduce overlap
- Added the ability to scale histogram plots and save them as seen on the screen
- Revamped the normal distribution using ggplot. You can now download that graph
- Revamped the F distribution using ggplot. You can now download that graph
- Revamped the critical values graphs using ggplot. You can now download that graph
- You can now download the binomial graph
- You can now download the Poisson graph
- Added run charts using either mean and median to the SPC section

- Bug fixes
- Made the density plots explicitly using the bandwidth type "SJ"
- Fixed a bug that caused the one-sample z test with data to calculate the wrong standard deviation for the default

- Known issues:
- Long pause once ROIstat loads, disabled blog links to help
- Font Awesome errors at startup is due to shinywidgets
- Lin-Mudholkar test fails due to breaking the function when the correlation is 1 (lolcat issue)
- Reported problem with use data one and two sample tests, object x2 not found (can't replicate)
- No button on MVP(E) test to stop early - may be added in the future
- The density plot x-axis for the exponential will start at zero even if the minimum is above that

- New Features
- v2.3.4 (2022/10/24)
- Improved the Shapiro-Wilk test for exponentiality by using a modified function from the exptest package, which uses a Monte Carlo simulation to calculate the p-value instead of using a lookup table. This package does not need to be installed.
- Improved the histograms in EDA. New features:
- Exploration where multiple groups are being compared (e.g. different columns or different factors) are now plotted on a single grid graph. You can have the data all on the same axis or let the axis adjust for each graph.
- Sample sizes are now included on the histogram
- The graphs can be downloaded in a variety of publish-ready formats
- A lot less code making it easier to maintain

- Improved the boxplots in EDA. New features:
- The graphs can be downloaded in a variety of publish-ready formats

- Bug Fixes
- Fixed typo on popup for A-D exponential test
- The A-D test for exponentiality used in the app fails if there is a zero in the data or if the origin is greater than zero. We now exclude zeroes from the data set for this test and give a checkbox option to make the minimum the minimum in the dataset.
- Fixed "object 'd' not found" in EDA when using factor with names as levels
- Additional spurious messages were taken out
- Refined to avoid console warning messages from ggplot about deprecating aes_string

- Known issues:
- Long pause once ROIstat loads, disabled blog links to help
- Font Awesome errors at startup is due to shinywidgets
- Lin-Mudholkar test fails due to breaking the function when the correlation is 1 (lolcat issue)
- Reported problem with use data one and two sample tests, object x2 not found (can't replicate)
- No button on MVP(E) test to stop early - may be added in the future
- The density plot x-axis for the exponential will start at zero even if the minimum is above that

- v2.3.3 (2022/10/05
- Maintaining the app
- RStudio has a new version and can be upgraded (ROIstat should work with either version)
- Some packages need updating or to be added to ROIstat
- lolcat has been updated so this needs to be updated for ROIstat
- install.packages("remotes")
- remotes::install_github("burrm/lolcat")

- shinyWidgets has been updated so this needs to be updated for ROIstat
- install.packages("shinyWidgets")

- datamods has been updated so this needs to be updated for ROIstat
- install.packages("datamods")

- Due to new dependencies (?) you need to make sure svglite is installed if you are going to save svg graphics
- install.packages("svglite")

- Need to add the package agop for the A-D test for exponentiality
- install.packages("agop")

- Need to add the package ggh4x to get some convienence functions for ggplot
- install.packages("ggh4x")

- lolcat has been updated so this needs to be updated for ROIstat

- Maintaining the app
- New Feature
- Added distribution testing under Distributions. This allows you to test to see if your data follows a Poisson, Normal, or Exponential distribution along with a plot.
- Poisson uses the Poisson Dispersion Test. You can plot the histogram with the theoretical distribution or the cumulative density function with the observed data and the theoretical distribution.
- Normal can test with the Anderson-Darling, Shapiro-Wilk, Lin-Mudholkar, or Skewness and Kurtosis tests. You can plot the density of the data along with the theoretical normal distribution or a Q-Q plot.
- Exponential can test with the Shapiro-Wilk test (only good for 3<=n<=100) the Anderson-Darling test (only good for when the origin parameter is 0), and the MVP test. The latter is a modification of the Shapiro-Wilk test that uses a Monte Carlo simulation to generate p-values. Accordingly, the MVP test has a button to start the simulation since it can take some time for larger sample sizes. You can plot the density of the data along with the theoretical exponential distribution or a Q-Q plot.
- All plots can be downloaded in a variety of formats
- You can get more information on each test by clicking a check box

- Bug Fixes
- Fixed bug in kappa 2x2 due to change in lolcat output
- Fixed a bug in some correlation and association selections to more gracefully handle incorrect entry (like trying to enter 1.2 for r)
- Fixed an error that would be generated with text data useful for discrete analysis if you enter MSA on continuous analysis
- Fixed a limitation with DT::datatable so that the oneway posthoc will show all combos in the summary table
- Also added a features with the posthoc table to use group names rather than just numbers
- Fixed bug in EDA confidence intervals - this was caused from a change in lolcat
- Fixed spelling error - kernel not kernal
- Fixed a bug in attributes charts that was preventing them from drawing and downloading
- Fixed a bug in Mean and Dispersion with data two-sample independent t-test
- Fixed a bug in nonparametrics with data that prefvented a UI element from being drawn
- There were a number of console errors due to calculations being done before the UI had drawn an element that was needed for the calculations. Eventually the UI element was drawn and the results would appear, but it cluttered up the console. Fixed:
- sample size calcuations
- correlation calcuations
- in nonparametrics calcuations
- in oneway ANOVA calcuations
- in control charts calcuations
- in one and two sample test calcuations
- scatter plot

- Added pop-up descriptions for various tests
- Nonparametric
- Correlation

- Known issues:
- ggplot now deprecates aes_string. Eventually I'll change those over to plain aes.
- Reported "object 'd' not found" in EDA when using factor with a lot of factors and data (can't replicate)
- Reported boxplot for factors crashes sometimes (can't replicate)
- Long pause once ROIstat loads, disabled blog links to help
- Font Awesome errors at startup is due to shinywidgets
- Lin-Mudholkar test fails due to breaking the function when the correlation is 1 (lolcat issue)
- Reported problem with use data one and two sample tests, object x2 not found (can't replicate)
- No button on MVP(E) test to stop early - may be added in the future
- Need ability to set bins on EDA histograms - will be added in the future
- The density plot for the exponential will start at zero even if the minimum is above that
- A-D exponential test will fail if xmin>>0, subtracting xmin does not work, added warning

- v2.3.2 (Unreleased)
- Fixed typo on MSA chart "for" for "four" on dispersion within part graph
- Measurement error, parts, and specifications chart
- Fixed a bug that kept the spec range from showing up when normalizing output
- Increased thickness of lines
- Standardized big dot color

- Uniformity of dispersion chart
- Got rid of extra "Appraiser" on significance tests
- Changed note about sample size to account for the total number of points used in calculating the limits rather than the number of parts

- v2.3.1 2022/05/16
- Fixed bug in MSA when appraisers are identified by number
- Fixed bug that was not checking all out of control conditions on long-term individual charts
- Fixed bug that was not saving the updated version of a plot if that plot had been saved before
- Added feature in MSA to use whatever identifier is used for appraiser, number or text, as a factor name. Jack and Jill now have names on the charts!
- Gave the long-term MSA plots of parts larger vertical dimensions
- Sped up MSA plot generation when changing inputs and when first loading into MSA tab
- Known Issues:
- ANOVA approach only does 6 sigma calculations

- v2.3 2022/04/28
- Added measurement system analysis for continuous data
- Can select three different types of analysis
- Potential study, a.k.a. GRR - a short study to see if your measurement system has even a hope of being useful
- Short-term study - A more detailed study that measures more parts and gives a better estimate of gauge variability
- Long-term study - An ongoing study of a measurement system that is in use to ensure it remains stable and trusted through time

- Each study can be conducted using one of three ways to calculate the measurement error
- The range (good for subsets of less than 8)
- The standard deviation (good for subsets of 8 or more)
- ANOVA (gives more information at the expense of robustness)

- You can select the AIAG standard of 5.15 measurement errors or the statistical standard of 6 measurement errors (known bug - for now ANOVA only calculates the 6 sigma estimates)
- If true values are known for samples, bias and linearity can be analyzed
- UNIQUE to ROIstat - if the process being measured is known, estimates of misclassification (out of spec called in and in spec called out) can be used as part of your decision around acceptability.
- Calculates repeatability, reproducibility, and total gauge error
- ANOVA also calculates the part x appraiser interaction
- Automatically generates all of the suitable charts and graphs to help in your analysis:
- For long-term charts, each part is tracked on an individuals charts with out-of-control conditions marked. Charts are generated for each appraiser.

For long-term charts, the parts average and standard deviation charts are generated, with correct moving range limits. Charts are generated for each appraiser. - Within part dispersion is shown on a range chart. Charts are generated for each appraiser.
- The bias and linearity analysis plots the magnitude vs the bias and tests for significance for the overall bias as well as linearity. If linearity is significant, a linear equation is generated to correct readings to zero bias on average. The user can select to jitter the data or draw density-based "violins" to aid in reading the chart. Charts are generated for each appraiser.
- Uniformity of dispersion plots the magnitude versus the dispersion metric selected and tests for significance. Lines and regressions are generated for each appraiser.
- Individual readings per part are plotted along with the average per part. This chart can be normalized so that all the averages are equal (normalized) and the user can add jitter and violins to aid in interpretation. Charts are generated for each appraiser.
- Boxplots for each part for each appraiser are plotted. These can also be normalized.
- A graph of the components of variation shows the contribution of repeatability and reproducibility to the overall measurement error variance. For ANOVA models the reproducibility is further broken down into Appraiser and the Appraiser x Part interaction.
- A plot that is unique to ROIstat shows an estimate of the underlying process variation compared to the specifications, with a gradient around the specs indicating the "danger zone" related to misclassifying conforming product and nonconforming and nonconforming product as conforming. It also calculates the number of discrete categories the measurement system can measure within the process variability and the discrimination ratio.
- Should the user wish to investigate the measurement system in depth, additional tests are displayed showing tests for mean and dispersion within and between appraisers.
- All charts can be downloaded in a variety of publication-ready formats"
- eps
- ps
- tex
- jpeg
- tiff
- png
- bmp
- svg
- wmf

- For long-term charts, each part is tracked on an individuals charts with out-of-control conditions marked. Charts are generated for each appraiser.

- v2.0 2022/02/18
- In order to fix an irrelevant console error in one of the packages, load a fresh RStudio instance and type:

install.packages("devtools")- require(devtools)
- remotes::install_github("dreamRs/shinyWidgets")

- Fixed error with oneway ANOVA post-hoc that could cause test to fail if factors were defined as factors
- Fixed unlikely but possible error in random-effects ANOVA (if the between sample MS is less than the within-sample MS the sample to sample variance and ICC would be negative)
- Fixed a bug that would break parts of the EDA section, the Oneway ANOVA, and scatterplots if the column titles were not syntactically valid (e.g. had a space)
- Fixed a bug in calculating the natural tolerance for exponential distributions
- Added the ability to download scatterplots in a variety of publication-ready formats
- Added the ability to hover over a point on a scatterplot to get its x and y location
- Moved the scatterplot equation model to a title on the graph so that it downloads with the graph. This is the actual model used in the non-linear regression and plotted, not the transformed data model used in the correlation analysis below it
- Added option in EDA Natural Tolerance for exponential with 0 low
- Added SPC charts
- Added SPC for variables data
- Data can be column or row format
- A column can be used to designate "sets" of data that should be analyzed together. Sets do not have to be contiguous.
- You can select either 2 or 3 standard errors for charts, with the default being 3
- You can select X-bar charts and use various limit calculations and use the mean or median as a centerline. The limits below are similar across the variables charts:
- Average Range - Good at robustly estimating the underlying process
- Median Range - Good at robustly estimating the underlying process if the range has some unexplained out of control points
- Average Standard Deviation Within Samples - Good if you are really sure that your process is in control
- Median Standard Deviation Within Samples - Good if you are really sure that your process is in control but a few samples are unusually variable
- Average Variance - Good if you are really sure that your process is in control and you are a statistician
- Average Moving Range of the X-bars - Good for when the within-sample variability does not predict the between-sample variability. For example, stratified processes or setup-dependent processes.
- Median Moving Range of the X-bars - Good for when the within-sample variability does not predict the between-sample variability but there are unexplained jumps in the means. For example, stratified processes or setup-dependent processes.
- Standard Deviation of the X-bars - Good for when the within-sample variability does not predict the between-sample variability and you are really sure that the between-sample variability is in control.
- Known s - Good for when you have a lot of data and evidence that the process produces normally distributed data that is in control and you know the true standard deviation. Mostly present to show why it is a bad idea to do this in a real process.
- Custom limits - Good for when you have known limits from previous data. Also how to enter limits from distribution fits.

- Range with various limit and variance estimate calculations and use the mean or median as a centerline.
- Standard deviation with various limit and variance estimate calculations and use the mean or median as a centerline.
- Variance with various limit and variance estimate calculations and use the mean or median as a centerline.
- Selecting a method for the dispersion calculation will automatically suggest matching centerlines and matching limit calculations. These defaults can be changed.
- All variables charts can generate a brief analysis that shows how the limits were calculated, what the total standard deviation of all the individuals is, what the standard deviation of individuals within each set is, and what the estimated standard deviation is for the process based on the dispersion method selected. The correlation between the location and dispersion chart is tested for significance. If you enter specifications, you will also get capability measures (Cp, Cpk, Cpm) based on the estimated standard deviation, process performance measures (Pp, Ppk, Ppm) based on the observed standard deviation, and predicted and actual parts non-conforming. For means, a oneway random-effects analysis is also performed to see if there are additional sources of variation present between samples beyond the within variability. For individuals, autocorrelation is tested.

- Added SPC charts for attributes data. Data where each observation is a row.
- p charts. The limits below are similar across the attributes charts.
- Exact binomial for p and np charts (exact Poisson for c and u charts)
- Normal approximation
- Average moving range
- Median moving range
- Standard deviation
- Custom limits

- np charts
- c charts
- u charts

- p charts. The limits below are similar across the attributes charts.

- Added SPC for variables data
- All SPC charts can be downloaded in a variety of publication-ready formats
- All SPC chart data can be displayed should you wish to save it, including the results of the various out of control rules
- All SPC charts allow you to get information about each point by hovering the mouse near the point
- All SPC charts can select from various out-of-control rules including zone rules. The run rule can be 8 or 9 points. Mean and dispersion charts can use different rule sets.
- All SPC charts can display control zones
- All SPC charts can be modified by showing or hiding
- Lines connecting points
- Control limits
- Centerlines
- Labels indicating the type of control violation for a point

- In order to fix an irrelevant console error in one of the packages, load a fresh RStudio instance and type:

- v1.2 2021/12/08
- In order to fix a bug with single-column data not working with dynamic filtering, load a fresh RStudio instance and type:
- remotes::install_github("dreamRs/datamods")

- Fixed a bug with Mean and Dispersion Tests, Enter Statistics where it would not allow the user to choose between the Welch and Fisher t-tests
- Fixed a bug with Mean and Dispersion Tests, Use Data, data in columns where it would not allow the user to choose between the Welch and Fisher t-tests
- Also added some additional confidence intervals for the latter

- Added control chart limit calculations using various statistics for
- X-bar
- X
- Range
- Standard deviation
- Variance
- p (exact binomial and approximate)
- np (exact binomial and approximate)
- c (exact Poisson and approximate)
- u (exact Poisson and approximate)

- In order to fix a bug with single-column data not working with dynamic filtering, load a fresh RStudio instance and type:

- v1.1.1 2021/11/17
- Fixed a bug in oneway post-hocs that broke the output if there were multiple columns beyond the factor and data. The new code should be robust to this.

- v1.1 2021/11/12
- Added ability to draw one or two tails on binomial, Poisson, and exponential and get the area inside or outside of those tails
- Added some color to oneway ANOVA post-hoc graphs
- Added note on oneway ANOVA post-hoc graphs for fixed and Kruskal-Wallis to indicate that the points are means and medians respectively
- Added exact one-sample Poisson sample size and power calculations
- Added approximate two-sample Poisson sample size and power calculations
- Changed bandwidth on violin plots for ANOVA to type SJ to match EDA density plots
- Cleaned up the output tables for distributions, added an option to show or hide the table for Poisson and Binomial

- v1.0 2021/11/02
- First full public release
- Added skewness and kurtosis in EDA descriptive statistics
- Fixed a bug in the Natural Tolerance calculations when using data
- Reworked UI in mean and dispersion tests to be more consistent with other UI elements in the app
- Fixed a bug that caused some people to experience "argument is missing with no default" error
- Fixed a bug with oneway random effects plot not using the selected color palette and non-rounded data
- Added the ability to either auto select normality tests or manually select them
- When doing a two-sample independent t-test, added the ability to select Welch (recommended), Fisher, or auto select based on variance test
- Added McNemar's Test of Change to Two-Sample Dependent tests
- Added Cohen's kappa to Correlation and Association - Enter Statistics for a quick way to get κ

- v0.85 2021/10/28
- Added post-hoc analysis for fixed effect ANOVA
- Plot of levels with points for the means, connecting lines, violin or boxplot
- Tukey's HSD results table along with detailed results for each test

- Added post-hoc analysis for random effect ANOVA
- Plot of the random effect magnitude compared to the population so you can see what might be possible by reducing the random effect
- Includes a confidence interval for the interclass-correlation coefficient

- Added post-hoc analysis for Kruskal-Wallis rank order ANOVA
- Plot of levels with points for the means, connecting lines, violin or boxplot
- All-pairwise comparisons using the Mann-Whitney U test, error controlled by Bonferroni-Dunn
- Each U test p-value is multiplied by the number of tests (with a maximum of 1), so compare the p-value as reported to the desired family-wise alpha

- Various bug fixes

- Added post-hoc analysis for fixed effect ANOVA

- v0.84 2021/10/22
- Added a oneway ANOVA for fixed and random effects including dispersion test and correct importance calculations
- Added Kruskal-Wallace oneway ANOVA by ranks
- Fixed bug in sample sizes that led to incorrect calculations when "less than" was selected
- That fix cascaded multiple bugs that led to incorrect beta calculations and labeling when "less than" was selected, fixed

- Fixed minor formatting issue with sample size output
- Fixed a bug with reference type data in nonparametrics that resulted in an error "object x2 not found"

- v0.83 2021/10/13
- Fixed bug in sample size calculations - now allows you to test for the alternative being equal, lesser, or greater than the null
- Added confidence intervals and natural tolerances for column and factor data
- Added many selectable descriptive statistics for column and factor data
- Added common and custom quantiles for column and factor data
- Added scatterplots with various regression models, including confidence intervals and significance test
- Added new requirement - ggplot2
- Added new requirement - propagate (forked)
- Need to update
- lolcat
- datamods

- v0.82 2021/09/28
- Added the ability to choose different color palettes. These palettes have similar luminance and are to one degree or another colorblind-safe
- Added histograms, frequency polygons, and density plots for column and reference data with normal curves and spec limit options. Column data can be overlayed on the same axis.
- Added boxplots for column and reference data
- Adjusted CSS for output tables to make them more compact
- Added variable name for normality tests for factor type data
- Various minor bugfixes
- Fixed bug that broke the UI for factors used in the two-way independent t-test where there were more than two categories for the factor
- KNOWN ISSUE
- If the imported data has NA for one of the vectors and you try to use that column and one without NAs in the normality tests, you will get an error.

- WORKAROUND
- You can assess the normality of the data with NAs by itself

- v0.81 2021/09/09
- Added the ability to use one or more columns as factors for normality testing
- Added the two-sample independent z-test for data via calculations
- Normality test p-values are now highlighted in grey if p > α and in yellow if p < α
- Added the ability to choose a factor and data column for:
- Normality testing
- Independent two-sample mean and dispersion tests
- Independent two-sample nonparametric tests

- Various minor bugfixes
- Fixed "data labels don't change if updated and then new data loaded" bug
- Fixed the "correlations don't show until one with a crosstab is selected"

- v0.71 (unreleased)
- Moved "one sample test for variance" checkbox for the data and non-data mean and dispersion tabs

- v0.7 2021/08/25
- First public alpha release