Changes in version 4.5.5 Updates showPalettes(): Updated. The old hcl option changed to sequential but now just with sequential palettes. Now, the hues palette is its own option, showing the qualitative scale of different hues across many combinations of chroma and luminance. X() and XY(): Can now call fill=getColors(...) to customize the fill colors and not explicitly specify n= for the number of generated colors. Bug Fixes getColors() now properly balances l (luminosity) and c (chroma) when one is set as a range given by a vector of two values, beginning and ending value interact(): Save button now works for the three input interactive visualizations. style(): "lightbronze" style now works. XY(): y-axis title (label) now plotted more consistently. Many more miscellaneous bug fixes. Changes in version 4.5.4 (2026-04-27) Updates Chart(): For type="dot", parameter facet now implemented. XY(): The new argument for type is "hexbin" for a hexbin plot from the package of the same name. Bug Fixes Chart(): Numerous issues, such as: - bar chart scaling now works properly for aggregation over a y variable - icicle chart title is now centered over the chart - bar chart title now displayed as the argument for main - bar chart labels now correctly display on the plotly bar chart bars (though a refresh of the viewer window may be needed). Regression(): No regular output to the console bug fixed. X(): Setting type to freq_poly now only produces a frequency polygon in the Plots window, not also the histogram. The interactive Plotly version still renders in the Viewer window. Changes in version 4.5.3 (2026-03-26) Updates Chart(), X(), XY(): If accessing variables in the global environment instead of the data frame, now specify data=NULL. Chart(): For hierarchical charts - sunburst, treemap, and icicle - when rendered with a sequential scale, with any theme other than the default such as with style("gray") or setting fill="grays", the dominance of each plotted slice or rectangle is scaled according to the value of the corresponding numerical entry. Chart(): For type="dot", data no longer need be pre-aggregated. XY(): Time series forecasting added to the plotly interactive visualization that appears in the RStudio Viewer window. XY(): Old parameter name size changed to the more descriptive pt_size, also to be consistent with Chart(). Bug Fixes Major bug evaluation was done across the lessR functions. This evaluation included evaluating the lessR functions with Anthropic's Claude 4.6 Extended on multiple passes with many suggested fixes. Most suggestions and fixes were implemented. Changes in version 4.5.2 (2026-03-05) Updates Chart(): If there is a stat transformation of the y variable, then the label on each bar defaults to "input", that is, as it exists in the data without further transformation. Logit(): Added parameters pt_size and transparency to customize plotted points for the combined sigmoid/scatterplot, and xlab and ylab for the axes labels. XY(): When forecasting from ts_ahead parameter, dependent packages are no longer attached, no longer cluttering the output with distracting messages. XY(): When forecasting from ts_ahead parameter, more robust inference of the time unit by which the data are organized, particularly with missing data. Bug Fixes Chart(): Numerous low-level errors corrected. Chart(): If quiet is set to TRUE, suggestions are no longer displayed, and the frequency table is also not displayed. Chart(): Fixed rendering issues for Plotly interactive visualizations when knitting from R Markdown and Quarto. Multiple interactive charts now render correctly in sequence. (Do need to p <- Chart(...), followed by p to print.) Chart(): Weighted mean now correctly computed in place of the unweighted mean when calculating deviations to plot instead of the original data. X(): Fixed rendering issues for the histogram when knitting from R Markdown and Quarto. XY(): Forecasting legend no longer sometimes is placed too high vertically, sometimes even outside the plotting region. XY(): If forecasting from a time series, the only plot is to the RStudio Plots window as the forecast does not apply yet to the interactive plot in the Viewer window. XY(): When a by variable is present for forecasting, date misalignment could occur. Now fixed. Changes in version 4.5.1 (2026-01-22) Updates - Chart(), X(), XY(): If all numerical axis values are less than 10,000, then by default do not insert a comma, such as years as integers instead of dates, display 2025 instead of 2,025. If any axis value is larger than 1 billion, use scientific notation. - Chart(): For computing a statistic of a numerical variable from which to construct a hierarchical chart -- pie and sunburst, treemap, and icicle -- now the statistic weighted by sample size is displayed, such as the weighted mean according to the sample size of each group, instead of just the unweighted average of the available group means. - Chart(): For a hierarchical chart -- pie and sunburst, treemap, and icicle -- now the hover over each cell or slice indicates the corresponding sample size for any statistic other than the count. - Chart(): For a Cleveland dot plot, set type="dot" and specify the categorical $x$-variable with unique values and specify a continuous variable for $y$. The reserved keyword row_names is available for the argument to $x$. Bug Fixes Chart(), X(), and XY(): If quiet is TRUE, the citation to Plotly is not displayed. Chart(): For data aggregated by the function, the hover title does not list the statistic type twice, and the hover value is reported to two more decimal digits than the data to account for the computation of the mean, etc. style(): Works more consistently. X(): For type="vbs", point size now responds to parameter pt_size`. X(): For type="freq_poly", parameter stat now works. XY(): Parameter ts_area_fill is now working. XY(): When there is missing data for a time series, now properly plotted as missing, that is, blank space, with the corresponding dates showing. XY(): For an interactive plotly time series: - size=0 for the point size now works. - Hover now has an x-value variable name and shows the corresponding numeric value as a number instead a formatted as a date. - digits_d now works XY(): For a time series plot, misleading suggestions removed. XY(): For a time series plot from an R time series object, the $y$-axis label is now correct. XY(): For the interactive time series plot, the size variable for the size of points beyond the default of zero now active. XY(): For the paired dot plot (not yet moved to Chart() where it belongs under the recent reorganization), the unique character values such as row names are now properly aligned with the plotted points, and sorted properly. Future XY(): Allow for a bubble chart when $x$ and $y$ are both categorical. XY(): Allow for forecasts in the interactive plotly display (RStudio Viewer), not only to the static (RStudio Plots) display. Chart(), X(), and XY(): For the plotly charts, allow for specifying the font sizes of different displays. Logit(): Add parameters xlab and ylab. Add parameter size for the plotted points. Changes in version 4.5 (2025-12-11) Major Updates - Chart(): New general function for visualizing one or two categorical variables in which each level or joint level corresponds to a numerical value. Supports the standard bar chart plus interactive Plotly visualizations according to the type parameter: . - Chart(): Parameter type determines the visualization form. Values include "bar", "pie", "radar", "treemap", and "icicle". "sunburst" is also available, but pie charts with a by variable automatically operate as sunburst charts. - X(): New general function for visualizing the distribution of a continuous variable, optionally grouped by a categorical variable. Implements the standard histogram plus additional distribution displays according to the new type parameter. - XY(): New general function for visualizing the joint distribution of two continuous variables or one continuous and one categorical variable, with optional subgrouping. Incorporates the standard scatterplot as the default plus additional visualizations selected via the new type parameter. - BarChart() and PieChart(): These established lessR functions now serve as aliases to the unified Chart() function, preserving existing user scripts while providing access to the expanded visualization framework. - Chart(), X(), and XY(): New parameter use_plotly generates an interactive Plotly visualization in the RStudio Viewer window (sometimes in addition to the static plot in the Plots window). A core subset of Plotly features is supported, including grouping via by, optional fit lines (fit), confidence ellipses, bubble plots with a size variable, and full color customization. - savePlotly(): New function for saving the most recent Plotly visualization to an HTML file. Complements the RStudio Export interface and works for any Plotly visualization created during the session. - Flows(): New function for visualizing quantities flowing across two- or three-node structures as an interactive Plotly Sankey diagram. This name reflects the broader “data views” perspective adopted throughout lessR. Updates - PieChart(): When used through the unified Chart() functionality, now supports the by parameter to generate grouped pie charts in interactive Plotly mode where results appear in the Viewer window. - X(): For univariate density estimation, the type="density" naming conflict with the new type parameter is resolved. The density form is now selected with kind="general" or also values of "normal" or "both". - XY(): For bubble plots, default level of transparency now set at 0.7 to better detect bubble overlap. - XY(): Default size of plotted points made a little larger. - facet1 and facet2 parameters: Now become facet as a scalar or as a two variable vector. Bug Fixes style(): When applying a color theme, default point transparency, 0.1, is now correctly retained. PieChart(): Parameter label_colors now works. Plot(): For type="contour", fit line now works. Plot(): For facet (lattice) scatterplots, fit line now works. Regression(): ANCOVA Rsq_Press was not being computed. Now it is. Changes in version 4.4.5 (2025-08-22) Major Update - Plot(): Time series forecasting from ts_ahead set to a value larger than zero is now upgraded to fable functions ETS() for exponential smoothing forecasting and TSLM() time series linear regression forecasting along with other functions from the fpp3 ecosystem as documented at https://otexts.com/fpp3. - New parameter ts_source defaults to "fable" but can assume the value of "classic" for standard HoltWinters() exponential smoothing or linear regression with seasonality first removed and then added back in. - Parameters ts_trend, ts_seasons, and ts_error redefined to accept values of "A" for additive effect, "M" for multiplicative effect for ETS(), and "N" for no effect, as well as "Ad" and "Md" for ETS(). Enter ?Plot` to view the manual for the details. Updates - sort_by(): Deprecated function removed, replaced by order_by to avoid name conflict with Base R which recently took over that name. - order_by(): Allow to process the alternative data frames called tibbles from the tidyverse. - PieChart(): Add a blank line after the title of the pie chart to provide more separation from the title and the chart itself. - Plot(): Changed parameter names so that all parameter names applicable to time series analysis begin with ts_. - ts_stack instead of stack. - ts_area_fill instead of area_fill. - ts_area_split instead of area_split. - ts_n_x_tics instead of n_date_tics. - Plot(): For the time series unit parameter, ts_unit, submitted value is now checked to make sure it is valid, for example, "days" instead of "daily". - Plot(): For the time series unit parameter, ts_fitted, now the y data value is also displayed along with the x-date value, and the fitted value, and the level. - Plot(): For a forecast from a time series plot, with parameter ts_ahead, plotted forecast colors follow the style theme, with a default of red for the default colors theme. - Plot(): For a forecast from a time series plot, with parameter ts_ahead, more vertical spacing between the legend elements: data, model fit, and forecast. - Plot(): For a time series analysis with a by variable, the data are now sorted by that variable implicitly instead of requiring sorting before the analysis. - Plot(): For trellis (faceted) plots, if a date variable, now the name of the date variable is displayed because converting it to NULL, as with the previous procedure, just leaves a blank space without compressing the space. - STL(): Saving the output visualization to a PDF file is now possible with new parameters pdf_file, width, and height. - STL(): Output object data frame now includes the data as well as the trend, seasonal, and error components. - STL(): Output object data frame now includes the formatted dates according to their unit, e.g., "2020 Q1" instead of 2020-01-01 for quarterly data. Bug Fixes - When writing a data frame to a data file, if the file specification includes a path name, the result displayed at the console now correctly reflects that specification. - interact("BarChart"): Selecting a numeric variable from which to compute statistics such as the mean as the y variable for the bar chart now works after previous change to BarChart() parameters. - interact("Histogram"): Density plots now work again after previous change to Histogram() parameters. - Plot(): Parameter n_axis_y_skip now works for time series trellis or faceted plots. - Plot(): For the now classic time series forecasting with the regression, if seasonality is specified without trend, the fitted and forecasted values are now properly adjusted for the overall level of the time series. - train_test(): Data frames now can be processed with any valid name, not just d. Changes in version 4.4.4 (2025-06-16) Updates - Density(): Old, deprecated function deleted. Use Histogram() with stat set to "density". - Histogram(): Parameter stat_x changed to stat. - Histogram(): Parameter density dropped and is now a value of parameter stat. Specify stat="density" in place of density=TRUE. - Histogram(): When stat is density, the density curve is plotted from the first value of the estimated density until the last value without extending the $x$-axis further. - Histogram(): When stat is density, the line_width parameter added. - Histogram(): When stat is density, parameter x.pt changed to x_pt. - Plot(): For bubble plots, where the size of the plotted points varies according to the values of a specified variable, legend is now displayed. - Plot(): Two new parameters for Trellis (facet) plots: n_axis_x_skip and n_axis_y_skip. Trellis or facet plots are based on functions from the lattice package where the axis tick labels are prone to overlapping and becoming unreadable, nor does lattice automatically delete overlapping labels. The default value of 0 directs to include all the axis tick labels. A value of 1 indicate to skip every other label. A value of 2 indicates to skip every second label, and so forth. - Plot(): For Trellis (facet) plots, any combination of variables for parameters by, facet, and facet2, result in the corresponding pivot or summary table displayed at the R console. If the output is saved into an R object, the name of the pivot table is out_ pivot for later reference. Also, the pivot tables for the levels of each source separately are also provided, named out_by, out_facet1, and out_facet2 if present in the analysis. - Plot(): For the generated pivot table from Trellis (facet) plots, the new parameter n_min_pivot specifies the minimum sample size for a group for the corresponding row to be displayed. The default value is zero for all rows to be displayed. - Plot(): For Trellis (facet) plots with a by variable plotting points with multiple colors in the same box, the box color now is automatically modified with transparency. - Plot(): Parameters fill, color, and shape can now be named vectors. That is, specify the categorical value from the by variable that is assigned to the specific visual aesthetic. For example, for by=Gender, `fill=c(M="plum", W="green"). - Plot(): New parameter contour_points. If TRUE, then plot the points in the scatterplot, the data from which the contour curves are estimated. - Plot(): Parameter name vbs_size changed to vbs_ratio to be more descriptive of its meaning. - Plot(): For type="smooth", the parameter name smooth_exp is changed to smooth_power to more accurately described the underlying transformation. - Plot(): For type="smooth", the smoothed scatterplot now starts with a darker center. - Plot(): For two-variable Cleveland dot plot of differences, the legend is now written in the right margin. - Plot(): For Trellis (facet) plots, when there is a by variable, the outliers are now displayed in their regular color for the by variable. Otherwise, displayed them and red obscures their group. - Plot(): For box plots, unless grayscale, to provide more emphasis fences are now drawn in darkred instead of gray with a line width of 2 instead of 1. Bug Fixes - Histogram(): When density is TRUE, type is "normal" and theme is gray, then the normal curve is now filled with a transparent light gray instead of not having to fill color. - Plot(): For Trellis (facet) plots, when there is a by variable, the outliers now plot with a fill color. - Plot(): For Trellis (facet) plots, when there is a by variable, the legend title and legend text now respond appropriately to adjustments to style() parameter axis_cex. - Plot(): For box plots, including embedded in VBS plots and Trellis (facet) plots, outlier labels now work when out_cut is specified was a value greater than zero. Only outlier points are labeled. - Plot(): For VBS plots as a single panel (not Trellis or facet), statistical output at the console is now restored. - Plot(): For Trellis (facet) plots that are not VBS plots with a by variable, the legend title and text now are the correct sizes. - Plot(): For Trellis (facet) plots or VBS plots, that is, use of the lattice package functions, saving PDFs now happens directly instead of first needing the application to close. Changes in version 4.4.3 (2025-05-09) Major Update - Plot(): Contour plots now available. Older logical parameter smooth for smoothed scatterplots now replaced with parameter type, now can set to "smooth" or "contour". Fit line and ellipse are also available. - Plot(): Two new parameters: - contour_n specifies the number of levels or contours for a specific contour plot. The default value is 10. - contour_nbins: Specifies the number of bins constructed for the \code{x} and \code{y} variables from which to form the 2D grid of estimated densities. Updates - BarChart(), Histogram(), Plot(): New parameters for formatting axis values, which can be combined. - axis_fmt: default is K, which rounds 100000 to 100K, also can specify , for standard USA format of numbers or . for the format used in many other parts of the world. - axis_x_pre: specify a prefix to add to each displayed number on the x-axis, such as $. - axis_y_pre: specify a prefix to add to each displayed number on the y-axis, such as $. - BarChart(), Histogram(), Plot(): Parameter filter now works, in addition to the existing logical selection, by specifying a vector of integers that correspond to the row numbers of the input data frame to be retained. - BarChart(): New parameter fill_scaled by default sets the luminous (lightness) of each bar along a sequential scale scaled according to the value of numerical y. Larger values of y lead to darker colors. Only applies if noby variable. Or, specify the color of the sequential scale with parameter fill set to a single R color name, or a divergent scale with parameter fill set to two R color names. - BarChart(): New parameter fill_chroma sets the saturation level of fill colors for parameter fill_scaled. Default is full saturation 100. Values closer to 0 lose saturation to he come closer to grayscale. - Correlation(): Parameter show_n dropped and replaced with parameter show, which has a different meaning. For a data frame, the default value is cor to compute correlations. The other possible value is missing to compute the missing data matrix for pair wise deletion or general information for the other forms of deletion. No longer extract the correlation matrix or the missing matrix from the output as a list value, e.g., R <- mycor$R. - Correlation(): To be consistent with other lessR functions, logical parameter pdf changed to pdf_file, where the name of the PDF file is specified. - corPrint(): New function to display a correlation matrix in readable, compact form. Drop the 0. characters of each correlation coefficient. For example, display 0.42 as 42. Parameter min_value specifies the minimal magnitude for which to display a correlation. - corReorder(): Do not write the output correlation matrix to the console if new parameter quiet is TRUE. - reshape_long(): New parameter shape that when set to square transforms a symmetric, square matrix such as a correlation or covariance matrix into a long-form data frame. - reshape_wide(): No longer use quotes around the variable names. - reshape_wide(): Change parameter name group to the more descriptive widen, the categorical variable for which the levels are displayed as columns. - Histogram(): When a density rug in specified with parameter rug, the tick marks that define the rug are now longer with the entire density curved moved upwards to accommodate. - pivot(): All categorical variables to define groups over which to aggregate now should be specified as part of parameter by. For example: pivot(d, table, by=Dept). - pivot(): Parameter table_long now defaults to TRUE. - Plot(): Parameters scale_x and scale_y can now be specified with just two values, the respective minimum and maximum values of the corresponding axis. If the third value, the number of intervals on the axis, is not specified, the default value is accepted. - Plot(): Parameter sort_yx renamed sort, though the old name still works. - ttest(): Parameter pt_size added to specify the size of plotted points for the dependent-groups t-test of paired differences Cleveland dot plot. Bug Fixes - BarChart(), Histogram(), Plot(): Setting x as row_names now works with parameter filter. - Histogram(): Vertical grid lines restored to the histogram plot. - Plot(): Violin plot fill color now appropriately reflects the underlying style from style(). - Plot(): For facet plots with a by variable, the legend text now scales according to the size of the text of the axis values. - Plot(): add="labels" now working to use row names by default to label the points in a scatter plot. - Plot(): Run chart, indicated by .Index for the x-variable, now properly responds to the color parameter set for the line color and point border. - Plot(): ID parameter now working correctly to identify the variable from which to label plotted points. - ttest(): Visualization for the resulting density plots now responsive to changes in axis and labels text per style() function. Changes in version 4.4.2 (2025-03-16) Updates - BarChart(): Parameter legend_abbrev changed from default of no abbreviation to 10 characters for each line of the legend. - BarChart(): The size of the legend title font is now 10% larger than the font for the legend items. - BarChart(): Parameter legend_abbrev changed from default of no abbreviation to 10 characters for each line of the legend. - BarChart(), PieChart(): Parameter labels_decimal standardized across the two charting functions, now defaults to 0 if only integer labels are to be displayed or percentages, 0 if input values are to be displayed, and 2 for proportions. - Read(): Added the .prn format for "print", a space-delimited text file, with each data value separated from adjacent data values by one or more spaces. - Read(): Default missing value parameter missing, which applies to text files, changed from "" to a blank space, " " for .csv and .tsv files and NA for .prn files. - Read(): Reading data files in feather or parquet format now returns an R data frame instead of a tibble. - Plot(): For facet plots of a time series, the label for the x-axis is deliberately not displayed, consistent with the non-facet time series plots. The label is not needed with the descriptive access labels provided, such as Aug 2024. - Plot(): Scale the bubble size according to the power of 0.55 by default for BPFM, bubble plot frequency matrix, which yields a bubble plot of counts for one to the specified number of categorical variables. - Plot(): For a BPFM, and a bit more space between the axis-value labels and each axis. - Plot(): When plotting two x-variables for individual rows of the data table, the differences between the corresponding values row-by-row are now displayed. - Plot(): Parameter lab_adjust for overwriting the default position of an axis label is now named the more descriptive label_adjust. - Write(): Added parameters: - missing added to specify missing data value, with default a blank space for .csv and .tsv files and NA for .prn files. - dec added to specify the character for the decimal point, defaults to a period. - sep added to define the character that separates adjacent data values, which defaults to the character consistent with the corresponding file type. - quote added to specify if character data values should be quoted. Extending the Base R function write.table(), the default value is if_needed so that character strings that consist of a single word with no spaces, tabs, and related are not quoted because the quotes are not needed, simplifying the output file. - existing readNames parameter added to write_ods internal call for ODS files. - Write(): Added formats: - .prn "print" or space-delimited text file - .tsv tab delimited text files. - .txt the new default, permits the user to specify the sep parameter (as well as dec) to provide a more flexible write format, which respectively default to " and ".", that is, standard North American csv format. - Write(): Required to specify either the file type or the format. The following two statements are equivalent: Write(d, "GoodData.xlsx") and Write(d, "GoodData", format="Excel"). Write(d, "GoodData") defaults to GoodData.csv and Write(d) defaults to d.csv. - Write(): For consistency with Read(), parameter rowNames change to row_names. - Write(): Row names are now preserved for .feather, parquet, and .sav files where otherwise these formats loose the row names when the data file is written. The strategy is to move the real names into a variable in the first column named RowName. Also, when read back into R with Read(), if the first column has that name, then it is shifted into the row names. Bug Fixes - Plot(): A minor issue, but when plotting a line chart for multiple levels of a categorical variable, the legend displayed the levels as points instead of lines. Now lines are displayed. - Plot(): With a by variable, the shape specification shape="vary" to automatically vary the shape of the point for each group did not display the additional shapes in the legend. Now all shapes are properly displayed. - Plot(): For some two-dimensional scatter plots with a fit line, the axes did not accommodate the full fit line. Now they are expanded to do so. - Plot(): When plotting a BPFM, bubble plot frequency matrix, which yields a bubble plot of counts for one to the specified number of categorical variables, the text plotted in each bubble could not be changed in size. Now the labels_size properly provides that control. - Plot(): When the x-axis variable was sorted with equal intervals between adjacent points, sometimes neither points nor connecting line segments plotted by default, so needed to manually set the size parameter for the size of the plotted points or line_width for the width of the plot line segments. Now fixed. Changes in version 4.4.1 (2025-02-03) Updates - BarChart(), Histogram(), Plot() for facet plots: Axis tick lengths are now smaller, to match the lengths for non-facet Plot() visualizations. - Plot(): Parameter lwd renamed line_width. Parameter ts_PIlevel renamed ts_PI. - PieChart(): Parameter lwd renamed line_width. Parameter lty renamed line_type. - Plot(): To jitter either axis coordinate, set to a specific value of jitter_x and/or jitter_y or have the value set by Plot(), indicated by setting the corresponding jitter parameter to NULL. Applying jitter to both the x-axis and y-axis was by design occurring by default for all analyses, probably too aggressive. Now, the default values for a scatterplot of continuous variables is 0. For discrete variables or a VBS plot (violin-box-scatter plot), different formulas provide default jitter values greater than 0, easily overridden by providing specific values. - Plot(): For non-linear values of parameter fit, now provide the MSE of the model fit to the original, non-linear data. Can compare this MSE to that of the linear model by running another analysis, setting fit to "lm". - Plot(): New parameter fit_new to provide values of the x-variable from which to compute (predict) values of the y-variable for linear and non-linear forms specified by the fit parameter, except for "loess". - Plot(): As with origin_y from the previous lessR version, the default value of origin_x favors 0 if there is not too much resulting blank space in the corresponding visualization. Or, manually specify the desired parameter value. - Plot(): For Trellis (facet) plots, axis values in the even hundred thousands are now expressed in K notation, such as 100K instead of 100000, a feature previously added to non-facet plots. - Regression(): The criteria for plotting points as bubbles for a single predictor model was deemed too encompassing. The new criteria are to plot as bubbles by default only when the single predictive variable and the target variable have less than or equal to 12 unique values. Boolean parameter bubble_plot added to override default for displaying the scatterplot of the one predictor variable with the target variable as a bubble plot. - Regression(): Parameter size added to override default for the size of plotted points. Bug Fixes Histogram(): Axis labels were written too far from the corresponding tick marks. Plot(): A one-variable categorical variable coded as a factor can now be plotted as a bubble plot. If the categorical variable is numerical, add a value of the radius parameter to force as a bubble plot instead of a VBS plot. style(): Transparency now properly recognized with add_fill colors with specified transparency from add_trans parameter. style(): Default fill for a superimposed rectangle on a visualization with style(add="rect") changed to light gray with light transparency to allow content within the rectangle to be viewed, "#D9D9D920". Changes in version 4.4.0 (2025-01-12) Major Update - Plot(): New parameter ts_method to specify the estimation method for generating a forecast. The default is "es" for exponential smoothing, the only available previous method. Can now also implement "lm" for least squares linear regression model with seasonality, which de-seasonalizes the data and then adds seasonality back to the estimated regression line. Updates - Plot(): To generalize parameter names for multiple estimation methods, all parameters that began with time_ and es_ now begin with ts_. For example, time_unit is now ts_unit, and es_seasons becomes ts_seasons. - Plot(): New parameter value days7 for ts_unit. All other time units are based on the 365 or 366 day year, the interval over which seasons are assessed. Seasonality for days is not generally meaningful assessed over the entire year but can be for days of the week. The time unit of days7 assesses seasonality of days over the 7-day week, such as, for example, more sales on Monday than on Sunday. - Plot(): New parameter origin_y to set the minimum value of the y axis, though the data will not be truncated if the value is larger than the smallest y value, instead triggering an error. This parameter compliments existing parameters origin_x, and also scale_y, which sets the minimum, maximum, and interval for scaling the y axis. Its value is set to 0 by default in relevant situations. - Plot(): New parameter ts_NA to specify treatment of missing values for the y-variable. By default, y missing values, those with value NA, do not plot, leaving a blank space. Or, specify a value such as 0 to replace the NA to plot that y-value for the corresponding date on the x-axis. - STL(): Output data structure provided that consists of four variables: date according to the named date variable and the extracted trend, season, and error components. Example: s <- STL(Qtr, Sales) outputs to the data frame s. Bug Fixes - pivot(): When computing a cross-tab table, if the first variable was a factor the analysis would crash. Now fixed. - Plot(): When plotting a time series, x-axis tic lengths and the margin for value labels is refined. - Plot(): Refined the extraction of the date variable and the y variable from a time series used in internal processing, such as identifying leap years to provide more generally accurate dates. - Plot(): When plotting a time series with multiple y values, the y-axis label now properly displays. - Plot(): When plotting a stacked time series, the vertical legend now displays with the proper colors and in the same order as the display of the stacked variables. - Plot(): If plotting daily data with a time unit of "weeks", then dates are plotted as individual dates by days instead of months. - Plot(): If plotting a y categorical variable and an x continuous variable, the number of decimal digits for the displayed statistics is now based on the decimal digits inherent in the continuous variable instead of set at 1. Changes in version 4.3.9 (2024-12-08) Updates - Plot(): For a time series exponential smoothing forecast, now display SSE and MSE fit indices, the linear trend and seasonal coefficients, and the obtained smoothing parameter values. - Plot(): Improved conversion of character string numeric dates to R type Date. - Plot(): Read dates entered as character strings formatted as: - "year quarter" where quarter is "Q1" through "Q4", e.g., "2024 Q3" - "year month" where "month" is a three-letter abbreviation, e.g., "2024 Apr". - Plot(): Forecasting output now written to an output list object such as p <- Plot(...) with names out_frcst, out_fitted, out_coefs, and out_params. This output is accessible for showing just part of the output, such as p$out_frcst when writing R Markdown documents from the results. - STL(): Set parameter show_range to TRUE to show the range of each component. Before TRUE was the default. - STL(): Parameter quiet added to suppress text output and parameter do_plot added to suppress the visualization. Bug Fixes - Plot(): Exponential smoothing of multiplicative models now working, indicated by es_type="multiplicative". - Plot(): Can set style(suggest=FALSE) for a time series plot. - Plot(): If missing data for a run chart, a proper error message is now displayed if attempting to show the runs, for which missing data does not work. - Plot(): Turn off the plot with do_plot=FALSE, leaving only text output, now works. - Plot(): If plotting a run chart with multiple y variables, adjacent points are now connected with line segments for each of the y variables. Example: Plot(.Index, c(y1,y2,y3)). Changes in version 4.3.8 (2024-10-07) Major Updates - Plot(): Exponential smoothing forecasting implemented with accompanying visualization. New parameters include time_ahead for the number of time_units to forecast into the future, and time_format to provide a specific format for the date variable if not detected correctly by default. Control aspects of the exponential smoothing estimation and prediction algorithms with parameters es_level (alpha), es_trend (beta), es_seasons (gamma), es_type for additive or multiplicative seasonality, and es_PIlevel for the level of the prediction intervals. - Plot(): Character string versions of a date as in a variety of forms as digits, such as "08/18/2024", are now by default converted to variable type of Date. However, this conversion is inherently ambiguous, so the time_format parameter is provided as a means to provide the precise format if needed, including other formats such as "August 18, 2024". Also, a sequence of four-digit integers within the usual range of dates will also convert automatically to a variable of type `Dates. - STL(): A wrapper for Base R stl() that provides additional information and utility: - allows input data as two columns, a variable of type Date as the x-variable and the time series values as the y-variable instead of an R time series. - If the dates are character string digits (see above), they are automatically converted to a variable of type Date. - The function also assists in comparing the magnitude of each extracted effect by showing the proportion of variance explained for the trend, seasonal effect, and error. Updates - BarChart(), Histogram(), Plot(): If the x- or y- axis values in the resulting plots all end in 000, then the 000 is replaced with a K, such as 120000 plotted as an axis value of 120K. - LineChart(): Deprecated for years, now removed as its functionality has been incorporated into Plot() and extended with the x-variable of type Date. - Plot(): Parameter run dropped. Instead, to maintain the position of the variable of interest to be plotted, as the y-variable, indicate a run chart by specifying .Index as the x-variable, that is, the first variable listed. That name, beginning with a period, ., indicates data values for the variable Will be created automatically. - Plot(): Increase the default size of the dot in the Cleveland dot plot and related. Bug Fixes - Plot(): When parameter time_unit is explicitly set, proper dates are now displayed on the x-axis when there is a by variable. - Plot(): Suggestions are working. To turn off: style(suggest=FALSE). Changes in version 4.3.7 (2024-08-22) Updates - BarChart(), Histogram(), Plot(): Parameter names by1 and, where applicable, by2, deprecated, replaced with more descriptive new names facet1 and facet2. - Plot(): Using functions from the xts package, when plotting a time series dates are now formatted according to their natural unit. For example, when plotting by years, just years are listed without the month and the day. - Plot(): When plotting a times series and requesting a level of time aggregation with the time_unit parameter that is more detailed than the available data, the analysis appropriately terminates with an error message. For example, if the time series data is monthly and an aggregation of weeks is requested, no analysis is done. - Plot(): For plotting time series data, new parameter n_date_ticks added to override the default number of ticks on the x axis, the date axis. Bug Fixes - Plot(): For Trellis (facet or lattice) plots of bar charts and histograms, each panel is labeled with the proper size of text in the corresponding panel strip. Changes in version 4.3.6 (2024-06-22) Updates - vignettes: These extensive examples are moved to the web to save space as the installed lessR was exceeding the accepted maximum limit. The web address is given from library(lessR). - BarChart(): When doing a composite plot, if calling fill=getColors(...) for a divergent palette, such as for one bar for all items on an attitude survey, no longer need to explicitly add n= for the number of levels. - getColors(): Added three pre-defined palettes from the colorpace package: rainbow_hcl, terrain_hcl, and heat_hcl, e.g., getColors("rainbow_hcl"). - getColors(): Adjusted the margins to better fit the plot window when the color wheel or rectangle is displayed. - getColors(): Default Tableau qualitative palette added as a name to recognize and translate to the colors, also for visualization functions, such as fill="Tableau". - Plot(): New parameter time_unit for when the x-variable is a Date variable and a time series is plotted with automatic aggregation of the time unit according to the specified value, such as "years" plotted from daily dates. - Plot(): New parameter time_agg for when the x-variable is a Date variable and a time series is plotted with automatic aggregation to specify the type of aggregation with "sum" the default. - Plot(): Pearson correlation analysis no longer displayed if the x-variable is a date, that is, if a time series is plotted. Bug Fixes - all visualizations: Grid lines not affected in some plots that would add some unintended transparency to the visualizations. - PieChart(): User now warned that the values family of parameters is changed to labels, though the old reference still will work. - Read(): If quiet=TRUE, automatically modified variable names to legal R names are not reported. Changes in version 4.3.3 (2024-05-09) Updates - all visualizations: Default colors softened a bit with default transparency level moved from 0 to 0.10. - ANOVA(), BarChart(), Histogram(), PieChart(), pivot(), Plot(), Regression(), ttest(): Parameter rows, for subsetting data, deprecated, now named filter to be more consistent with other systems, although rows parameter removed entirely for ANOVA(), pivot(), Regression(), and ttest()to avoid needing therowsparameter as part of the function definition in addition tofilter`. - BarChart(), Histogram(), PieChart(), Plot(): Parameter filter (formerly rows), now reports the number of rows of data before and after the filtering along with the logical statement that defines the filter. - BarChart(): Default family of values parameters now called labels, such as labels_color, to be more consistent with other systems. - BarChart(): values_digits now labels_decimals though old value still works. - BarChart(): Default labels (formerly values) that are labeled on each bar now set at input except when aggregating counts, where it remains at %. - BarChart(): When labels is set to input, default decimal digits is now 2, which can be customized with labels_digits. - BarChart(): Default labels (formerly values) that are labeled on each bar now set at input except when aggregating counts, where it remains at %. - Plot(): Parameter area_fill on time series plots now extends down to the level of the y-variable specified with scale_y instead of the minimum value of y. - Plot(): Binning large data sets now results in larger bubbles. - dataStockPrice: Data table updated with stock prices through May 2024, and trading volume added as the fourth variable. Bug Fixes - BarChart(): For an unstacked or grouped bar chart, beside=TRUE, if there is missing data for the by variable, the color distribution across the bars is now consistent across levels and with the legend. - BarChart(): For two categorical variables, x and by, evaluation if input data is a summary (pivot) table of a prior aggregation is now correctly computed. - interact(): User-written functions are able to again use BarChart(), Histogram(), PieChart(), and Plot(). - pivot(): Output variable names now consistently labeled: variable_stat, e.g., Salary_mean. - Plot(): Shapes now properly plot with a by parameter stratifying according to the specified categorical variable. - Plot(): by1 parameter for Trellis (facet) plot with fit line specified now properly does not display text output when quiet=TRUE. - reshape_wide(): After the transformation, all other variables except those specified as the group, response, or ID are deleted as their values are not evenly distributed over the new wide format variables. Changes in version 4.3.2 (2024-04-07) Updates Bug Fixes - pivot(): Fixed a bug on the output. The results were correct but not formatted correctly. Changes in version 4.3.1 (2024-03-26) Updates - BarChart(): Parameter stat_x added to specify how to plot the y-axis if there is no y variable specified, with default value of counts and option proportion or %. These values are separated from the stat parameter which now exclusively pertains to the transformation of a specified y numerical variable. - BarChart(), Histogram(), Plot(): Parameters lab_adj, margin_adj, and legend_adj renamed for clarity to lab_adjust, margin_adjust, and legend_adjust. - pivot(): When pivot table is of counts, using function table, the values of n and na are now listed last in the resulting pivot table. - Plot(): shape parameter default for multiple groups according to parameter by returns to "circle" with the new shape value "vary" if desired to retain a sequence of default shapes across the different groups. - Plot(): fit parameter now set only to the values that it can analyze such as lm, so no longer can be set to TRUE or FALSE. - Read() and Write(): Support the modern, fast, and efficient data file formats from the arrow package, feather and parquet. - details(): Shows the proportion of all missing data values in addition to the total, and displays each row of data with missing data, also obtained with Read() when brief=FALSE. - details(): miss_zero parameter removed. - rename(): Parameter to can now specify a vector of names to change, with the corresponding from vector of new names. Bug Fixes - BarChart(): If a numerical y variable is specified for analysis of the original,raw data, then if a value of the stat parameter is not specified its value now defaults to "mean". - Plot(): If a time series is plotted from a x-axis variable that is not of type Date, then, setting segments=TRUE connects the points (which can vanish if size=0), but the line width parameter lwd was previously not responsive in this context. Changes in version 4.3.0 (2023-11-11) Updates - Logit(), Regression(): For categorical predictor variables, the conversion to indicator variables now happens before the analysis. All analyses are now only of numeric variables so that the correlation matrix, scatterplot matrix, tolerance, and best subset analyses are now conducted for categorical predictor variables. - Logit(), Regression(): Redundant predictor variables that lead to a singularity is now detected and noted instead of the function crashing. Bug Fixes - Logit(): For sigmoid function plot for a single predictor model, right-hand margin adjusted to better display labels of the target variable of varying lengths. - Regression(): For the model fit section, the displayed standard deviation of the response variable is now computed from the same data from which the model was estimated, which can differ depending on missing data. Changes in version 4.2.9 (2023-05-14) Updates - BarChart(): Missing data is now permitted for the numerical or y variable. - pivot(): Aggregated variables are named the original name of the aggregated variable concatenated with an underscore and the name of the operation. - Plot(): For plots of two or more variables, the right-margin legend is displayed with a smaller font size and centered more effectively. - prob_norm(): Function terminates if value of lo is greater than hi instead of returning a meaningless result. - getColors(): Default for parameter output is TRUE only for a direct call from the console. If embedded in a function call such as for the fill parameter, or even if directly called in R Markdown, then set output=TRUE to view the calculated. palette Bug Fixes - BarChart(): Parameter theme now works. - getColors(): Now can be called directly in R Markdown documents though specify output=TRUE for output to be displayed. - pivot(): Parameter out_names now works if the assigned name for a single variable analysis contains the name of the variable analyzed from the input data frame. - Plot(): For stacked time series plots, default for size of points is now 0. - Plot(): For lattice plots, if there is only a single point to plot in a panel, just the point is plotted instead of also attempting to plot a violin and a box plot, which necessarily fails. Changes in version 4.2.8 (2023-03-22) Updates Plot(): Variable and axis value labels increased in size for R Markdown and R by itself analyses. Changes in version 4.2.6 (2023-02-12) Updates - ANOVA(), BarChart(), Histogram(), Plot(), Regression(), ttest(): A tibble that is not in the user workspace, instead in a package, is now properly converted to a standard R data frame upon which the internal function's code depends, which also permits more flexibility in the packaging of data in general to these functions, such as with the pipe operator. - ANOVA(): Overall p-value now available for the one-way ANOVA as the statistic in an output object, called p_value, such as output object a$p_value in a <- ANOVA( ... ). - getColors(): To address color blindness, the Okabe-Ito color palette was added, and available as a fill parameter in Plot() and BarChart(). - interact(): To address color blindness, the viridis and Okabe-Ito were added as qualitative palettes, such as for the bars of a bar chart. - sort_by(): New name for the Sort() function, now deprecated, to maintain consistency of lower-case functions being utility functions. - Plot(): For Trellis plots, indicated with by1 and by2 parameters, assessment of replications of unique values is done only if 1000 or fewer unique values to save both space and compute time for information that is not of such value anyhow. - Plot(): For a run chart, parameter run=TRUE, the successive points in the plot are now by default joined with line segments, which can be stopped by setting parameter segments=FALSE. - Plot(): Parameters lab_cex and axis_cex for size of value labels and axis labels, scaled smaller for visualizations in R run alone, without RStudio. - Plot(): To address color blindness, when there is a by grouping, default is now to not only vary the fill color but also the shape of the plotted points. - Regression(): Parameter mod for moderation analysis in a two-predictor model added. - ttest(): Parameter quiet added to turn off text display at the console if set to TRUE. - order_by(): Old function name was sort_by(). However, Base R now has a function with that name, so to avoid confusion, the lessR function was renamed to order_by(). Bug Fixes - ANOVA(): One-way ANOVA with parameter graphics=FALSE now works. - BarChart(), Plot(): Qualitative color palette hues was the default for the default color theme, colors, but now also works explicitly when specified as the value for the fill parameter. - BarChart(): Now works for color parameter specified as a vector. - interact(): Interactive analyses resets label and axis plot sizes to larger, now set back when saving the pdf and also when re-plotting. - PieChart(): Suggestions for alternative analyses had wrong lowercase expression piechart() instead of PieChart(). - Plot(): With a linear fit line, b0 and b1 now reflect the specified number of digits according to parameter digits_d. - Plot(): For plotting a continuous and a categorical variable scatterplot, when listing the continuous variable first, the name of the categorical variable is now listed in the title of the text output. - Plot(): For a run chart with parameter run=TRUE, parameter scale_x now properly allows for a custom set of ticks for the Index on the x-axis. Changes in version 4.2.5 (2023-01-06) Primary Update - Histogram(), Plot(), Correlation(), ttest(): Vastly speeded up for data sets much over 500 data values, substantial improvement on large data sets. Updates - Plot(): Parameters jitter_x and jitter_y are reset for the scatterplot (not VBS plot) to explicitly set the amount of jitter within the negative and positive values of their assigned values, or, set to NULL to activate the default value of the range of the variable divided by 50. - Plot(): Text output for Mahalanobis distance more nicely formatted. - interact(): Reading of text files was not detecting blank data values for variables of type character as missing, which now it does. - interact(): Various revisions of the interface styles and efficiency increases. - interact(): A Help option added for each analysis, which, when clicked, displays a web page of explanation of the analysis and listing and definition of each presented parameter. - interact("BarChart"): Numerical y variable and associated stat parameter added for analysis of means and related statistics across the levels of the categorical variable x. - interact("BarChart"): The summary table of each category level paired with a number, to translate into bar height, can now be read as the input data table. - `interact("Plot"): ID lableing of outliers added. - pivot(): For a single variable to process, the variable name no longer repeated for each column of the output, one column per statistic computed. Bug Fixes - BarChart(): When plotting a statistics for a numerical variable, y, the plotted values are now displayed at the console with sufficient width. - interact("ScatterPlot"): Parameter enhance now works. - interact("ScatterPlot"): Choose parameter enhance then parameter by now works. - interact("ScatterPlot"): Parameters by and size now work together and properly written to the R code file. - interact("Trellis"): Single VBS now plotted without a by1 variable for Trellis plots per se. - Regression(): For parameter Rmd, collinearity issue fixed. Changes in version 4.2.4 (2022-12-07) Updates - ref_group for Logit(), new, more explanatory name for ref, the level of the binary target variable explicitly defined as the reference group instead of relying on the default. - train_test() has new parameter matrix_out which outputs the data structures as matrices instead of as data frames. - Regression(): For automatically generating and processing R markdown files, users can now 100% customize the output directly by creating their own input files, just one or all eight of the files. - Regression(): Added parameters Rmd_custom to specify one or more custom input files and Rmd_dir to specify a custom directory where the files are stored. - Regression(): For output, vars component added that is a vector of the variable names in the model beginning with the response variable. - Regression(): Parameters res_rows and pred_rows changed to the more descriptive n_res_rows and n_pred_rows. Bug Fixes - interact("Histogram"): The bandwidth slider for the density option now re-adjusts if a new variable is selected from the same data set. - interact("Plot"): Points now plotted properly. - interact("Plot"): Fill color properly set if a by variable is selected. - Plot(): Transparency (trans parameter) now works when size as a variable and by are activated. - Plot(): for a fit function, mse now properly computed. - recode(): Entire data frame now not written to the console. - Regression(): Text enlarged for scatterplot matrix. - Regression(): Number of allowable terms in the model definition now greatly expanded. - Regression(): When generating a markdown file with parameter Rmd, if reading a label file included with lessR, the correct data file is now properly listed instead of the label file. Changes in version 4.2.3 (2022-09-11) Primary Update - interact(): lessR data analysis is now interactive, with each interactive analysis now displayed for analyzing the user's own data, which also includes summary statistics as output with the option to save the plot to a pdf file plus the corresponding R code. Updates - BarChart(): Parameter do_plot added for the option of computing summary statistics but not plotting. - Histogram(): Underlying algorithm more efficient. - Histogram(..., density=TRUE): fill_gen and color_gen revised to fill_general and color_general, and fill_nrm and color_nrm to fill_normal and color_normal though the old names still accepted, as with bandwidth in place of bw and include_histogram in place of dn.hist. - Histogram(): for density curve, provided values for fill_general and fill_normal that are color names now are converted to the same transparency level as their default colors. - PieChart(): value labels now separated from the category label so that size can be set independently. - pivot(): Long labels now abbreviated to stay within column widths. - Plot(): For numbers < 10000, more decimal digits for stat outcomes of fit parameter, such as MSE. - Plot(): With a by variable a named, sequential color range such as "reds" can now be specified in addition to the qualitative range of "hues". - tt.brief() removed, long since replaced by tt_brief(). Bug Fixes - loading lessR: Now lessR loads properly if another previously loaded package had loaded shiny. - Histogram(): Returns in list structure, such as h, saved output from h <- Histogram(...). - Histogram(): When bin_start was < 0 the number of displayed digits for the mid point of each bin could be excessive, now fixed. - Histogram(): spelling error of out_suggewt to out_suggest fixed for output name.s - pivot(): When constructing a table (instead of a dataframe), NA's now properly displayed. - Plot(): Restored title that indicates scaling of bubble plot. - Plot(): Transparency on bubble plots now works. - Read2(): Now works properly. Changes in version 4.2.2 (2022-07-13) Updates - BoxPlot(), Histogram(): Recent message from outlier check from package robustbase removed. - Logit(): Confusion matrix now displayed even if all predictions are for a single outcome category. - pivot(): If not specified, output defaults to 3 decimal digits, otherwise displays the needed number of decimal digits to avoid rounding to 0.000. - pivot(): For consistency, parameter n_show_group changed to n_group_show. - Plot(): New parameter n_bins > 1 indicates to bin the numeric x-variable and plot the mean or median of the numeric y-variable for each bin, with each point size dependent on the corresponding bin sample size. - Plot(): More stats displayed regarding each panel when doing a fit line. - Read(): Browsing for data file in RStudio, message about hidden window removed. Bug Fixes - pivot(): If na_remove is FALSE, the missing data value for the aggregated statistic was reported as 0 instead of NA. - Plot(): y-axis label now evaluated on all axis values instead of only the maximum value, which, if 1.0, rounds to 1, only a single digit. - Plot(): segments=TRUE now applies to all scatter plots, not just with by=. Changes in version 4.2.0 (2022-06-03) Updates - interact(): Each interactive display now shows the underlying function call. - Plot(): If x is equally spaced, a line chart not default if a fit line. - Plot(): Parameter sqrt deprecated for quat. - Plot(): Parameter root deprecated for power. - Plot(): fit_color parameter added to set directly, not just with style() function. - Plot(): When curve fitting with fit parameter, b0 and b1 given for the linearized line from nonlinear functions. - Prop_test(): If the hypothesis test of a proportion is one-sided, the alternative hypothesis is now provided. Bug Fixes - Histogram(): density=TRUE properly generates console output. - Plot(): For fit parameter, "reciprocal" option removed as better covered with "exp" which also does exponential decay in place of "reciprocal" if no by variable. - Plot(): fit_color now works for a fit line. - Prop_test(): parameters such as alternative properly passed to R functions binom.test(), prop.test(), and chisq.test(). - ttest(): One-tailed alternatives less and greater options work. Changes in version 4.1.9 (2022-05-06) Updates - ANOVA(): One-way, scatterplot labels separated more from plot - Histogram(): Summary stats headings adjusted to better align with numerical values - Prop_test(): Parameter p0 changed to pi for consistency with ttest(), p0 still works - reshape_long(): Default name of Response changed from "Value" to "Response" - style(): Slightly lighten grayscale bars and points from "gray35" to "gray42" and point fill and color from "gray30" to "gray42" - train_test(): New function to either create training and testing data from a data frame with x and y combined or separated Bug Fixes - Plot(): a --run-donttest test example was improperly configured, now works - Plot(): Plotting a vector for x or y with fit now works Changes in version 4.1.8 (2022-04-24) Updates - ANOVA(): Interaction plot for 2-way factorial reflects color theme - BarChart(): Appropriate error message if by and by1 parameters both specified as only one for one function call is allowed - BarChart(): Bar chart from a pivot table for two vars now possible with NA column - data set: dataAnova_rbf data set for randomized block factorial ANOVA added - data set: dataAnova_sp data set for split-plot design ANOVA added - interact(): More colors added - interact(): Trellis plot has added violin_fill and box_fill parameters - pivot(): by variables except for Date variables by default now converted to factors, though controlled with parameter: factors - reshape_long(): If needed, an ID variable is now provided by default - reshape_long(): Generated ID variable now has a prefix in front of the integer ID by default, can be changed with the parameter: prefix - reshape_long(): sep parameter specifies a separator between the prefix and the ID integer output data frame has ID variable listed first - Transform(): Previously deprecated, its abbreviation trans() now removed Bug Fixes - details(): Now properly reports details of a tibble version of a data frame - interact(): Histogram() fill now set properly - Plot(): Panels in Trellis plots with no data now properly display as blank with grid lines instead of showing an error message - Plot(): Interaction plot with segments=TRUE of a pivot table now has all segments - Plot(): Can now plot one continuous variable with violin/box/scatter plots with by, by1, and by2 parameters - Plot(): Bubble plot transparency option now works with parameter trans - Plot(): Bubble plot fill and color now properly specified Changes in version 4.1.7 (2022-03-30) Updates - ANOVA(): ANOVA 2-way factorial analysis provides Type II sum of squares for unbalanced designs - ANOVA(): R-squared and related indices now reported to three decimal digits - ANOVA(): Plotted point in interaction plot a little smaller - ANOVA(): Scatterplot title removed for more room for the plot, labels adjusted - ANOVA(): Scatterplot moved to the first plot displayed - BarChart(): Right-margin legend for two variable chart no longer defaults to abbreviations for title and values, use legend_abbrev to specify - Histogram(): Bars slightly more gray and slightly less blue - Plot(): For by and fit parameters together, equation, MSE, and R2 given for each fit line - Regression(): Analysis of covariance with one categorical variable and one continuous variable displays the ...\cr 1. regression line and equation for each level of the categorical variable superimposed over the scatterplot\cr 2. Type II SS for the ANOVA table\cr 3. test of the interaction of the covariate with the grouping variable - Regression(): n_cat parameter added to allow integer variables to be treated as categorical without declaring as a formal R factor - Regression(): kfold parameter now applies to models with categorical variables with dummy variables created automatically - Regression(): Extra line of spacing between major sections of output - Regression(): Grid lines added to scatterplot - Regression(): title removed from scatterplot, remains in text console output - Regression(): Parameter best_sub provides the value "Cp" for Mallow's "Cp" statistic in addition to the default value "adjr2" for adjusted R-squared - rename(): New utility function for renaming a variable in the specified data frame Bug Fixes - ANOVA(): Interaction plot for 2-way factorial generalizes better beyond two levels brief output works more reliably for 2-way factorial - Regression(): scale_response parameter now works, applicable when new_scale is implemented, FALSE by default but if TRUE then the response variable y is also rescaled Changes in version 4.1.6 (2022-02-18) Updates - ANOVA(): Better calculation of size of left-margin for pairwise mean differences plot - Logit(): For a single predictor, for a given probability classification threshold, the x-cutoff value now provided - Logit(): For a single predictor, annotations added to the sigmoid curve - Logit(): ref parameter for designating the value of the response variable that is the reference group instead of relying upon defaults - Logit(): Rows in the classification table reversed to correspond to sigmoid curve plot - pivot(): For consistency with other na parameters, show_group_na parameter changed to na_show_group - Plot(): Boxplot median line width increased to 2 for better visibility in the presence of an embedded scatterplot Bug Fixes - Logit(): Bug fixed that occurred for 50% of the analyses when the response variable has integer input values of 0,1 instead of a factor such as Man/Woman - Logit(): Fitted values now properly displayed when X1_new, etc. specified - Logit(): Edge condition that crashed with very little variance among fitted probabilities now fixed - Plot(): by1 parameter now works when x is categorical - Regression(): Table of estimates now properly displayed for indicator variables with large number of characters for the variable names Changes in version 4.1.5 (2022-01-30) Updates - BarChart(): digits_d parameter added for text output to control number of decimal digits for two categorical variable output - BarChart(): Default gray fill color for the bars lightened slightly - data():\cr dataStockPrice updated to Jan 1, 2022\cr dataEmployee_lbl updated\cr dataWeightLoss data file added\cr dataAnova_1way data file added\cr dataAnova_rb data file added\cr dataAnova_2way data file added\cr - factors(): Now processes tidyverse tibble version of a data frame - Help(): Deprecated, now removed, replaced by vignettes - interact(): When prompting for valid names by passing no arguments, no longer displays an error message - interact(): More colors added to choice of fill colors for interactive displays - Logit(): For a single predictor variable, if the response y is non-numeric, then the value set at 1 has the highest mean, for a positive difference - Logit(): For a single predictor variable, logistic curve better labeled - Nest(): If response variable is a character variable, automatically converted to a factor to allow to run without an error - Plot(): For Trellis plots, default changed to a single column (n_col=1) - Read(): If specified a lessR data file improperly, the list of valid data files is displayed - Read(): Read data files in the Open Document Spreadsheet format, .ods - Read(): New parameter row_names for consistent interface across the various file formats, for cs files R row.names still works - Read(): Report of variables with all unique values moved to brief report - Regression(): If x is a factor with two levels, the regression line is plotted in the scatterplot - Regression(): Scatterplot can now have customized axis labels size, set by style() - reshape_long(): New function that is a simple wrapper for Base R reshape() with sensible parameter names and sensible defaults, and allow for variable ranges of columns to transfer from wide to long - reshape_wide(): New function that is a simple wrapper for Base R reshape() with sensible parameter names to convert a long-form data frame to a wide-form - Write(): Parameters -- data and to -- switched to a more natural order with data now the first parameter: Write(data=, to=, ...) - Write(): Write data frames in the Open Document Spreadsheet format, .ods, with format="ODS" - Write(): Write data frames in the SPSS format, .sav, with format="SPSS" Bug Fixes - ANOVA(): Family-wise confidence level now reported in output - BarChart(): Formatting so that columns do not run together for some output with integers represented as integers instead of double - BarChart(): Specifying one_plot=TRUE and multiple variables now works - BarChart(): Custom ylab now works when the stat parameter is activated - Histogram(): For density=TRUE, quiet=TRUE now works - Logit(): If many variables, such as from created dummy variables, columns of estimated coefficients now align correctly - PieChart(): Text now responds to corresponding style parameters: lab_cex, main_cex=1.5, and values_size - Plot(): If a by or by1 variable, misleading warning message sort order deleted Changes in version 4.1.4 (2021-12-14) Updates - ANOVA(), BarChart(), Histogram(), pivot(), Plot(), Regression(), ttest(): Informative error message added if a subset with the rows parameter returns no rows to subset - getColors(): Little more differentiation between default sequential colors by lightening a bit more the lightest color - Histogram(): Output objects n.bins and n.miss updated to n_bins and n_miss - Histogram(): density=TRUE output provides more summary statistics and suggestions - Plot(): When specifying a fit line with a by categorical variable the sum of squared errors for each category are better labeled - Plot(): For a by categorical variable, no longer is the correlational analysis done for all the data, but the SSE is reported for each group - Plot(): Pairwise correlation output takes up fewer lines - Plot(): Variable labels for y-axis made a little longer and still fit without breaking into an additional line - Plot(): Some suggestions now change depending on random "coin flip" - Plot(): Trellis plot default changed from n_col=1 to n_row=1 - Regression(): Standard deviation of response variable added to fit information, other stats removed - Regression(): Parameter fit_line width set at 1.5 if plotting w/o outlier line also and no standard error region for original line - to(): Parameter same.size updated to same_size, old value still works Bug Fixes - BarChart(): For theme other than "hues", fill colors the same by default unless an ordered factor, then a sequential palette - Correlation(): Pairwise correlation analysis properly returns lower and upper bounds of confidence interval about the sample correlation coefficient - Correlation(): Pairwise correlation when called from Correlation() function works - PieChart(): Default colors with default color theme, "colors", now has qualitative color palette "hues", the same as bar chart, for a non-ordinal categorical variable - PieChart(): Inner circle that creates the hole now with higher resolution so as to make a smoother circle - PieChart(): Better placement of the plot title if there is one Changes in version 4.0.8 (2021-11-18) Updates - ANOVA(): Randomized blocks fitted means visualizations enhanced - ANOVA(): rb_points parameter removed - Histogram(): For grayscale with a black background, histogram bars have no transparency and are lighter - interact(): "PieChart" option added for interactive, Shiny display - Logit(): Grid lines added to logit plot for a single predictor transparency of 0.7 added to the points in the logit plot - pivot(): If n=0 for an output row or column, then converting to proportions returns 0's instead of NaN's - pivot(): New parameter show_group_na with default of TRUE that will list NA for missing data of a grouping variable as a level on the output - PieChart(): Labels proper size outside of RStudio - Plot(): plot_errors now plots the connecting segments from each point to the fitted line with gray if style("gray") - Plot(): Parameter size for size of points now applies to a scatterplot matrix - Plot(): fill color for points and bubbles lightened slightly for gray scale - Plot(): Trellis line plots increase slightly the width of the lines - recode(): Transformed variables converted to be consistent with their type ex: convert a character variable to integer, but before was still character - Regression(): For parameter new_scale, new option is "centered" - Regression(): For all rescaling, now default is only predictor numeric variables and only for numerical variables with more than two values - Regression(): If rescaling, set new parameter rescale_response to TRUE to also rescale the response variable - Regression(): For model fit, standard deviation and min and max of the target variable displayed along with the 95% range of variation of the residuals, with values displayed with commas for large numbers - Regression(): Fitted vs residuals plot more efficiently sized and largest Cooks Distance value displayed as a sub-title - Regression(): Summary stats of response variable added to Basic Analysis - Sort(): Feedback includes names of sorted variables in place of their index - ttest(): For one group t-test, density curve now has dark gray border and value of smd added to the top text display over the visualization Bug Fixes - ANOVA(): Randomized blocks ANOVA displays correct visualizations - BarChart(): Ordinal factors properly display as color gradients, e.g., "blues" - PieChart(): theme other than default now implemented - Plot(): For plotting a Trellis plot with a by variable, all levels correctly plotted and legend correct - Plot(): If x or y is categorical and the other continuous, if a by variable then fill and color colors properly displayed at end of display - Sort(): Internal coding simplified for improved functionality and generality - ttest(): pdf_file now works for one group t-test of the mean Changes in version 4.0.6 (2021-10-25) Updates - interact(): New function for running one of the following shiny apps for interactive visualizations: "BarChart1", "BarChart2", "Histogram", "ScatterPlot", "Trellis", e.g., interact("BarChart1") - pivot(): Read a tidyverse tibble in addition to standard R data frames - pivot(): When naming variables, for variable y, now y_mean instead of y_mn - Plot(): For x=categorical and y=continuous, or vice versa, no jitter added if there are no duplications of y at each level of x, plus more jitter added for larger sample size if jitter is needed Bug Fixes - BarChart(): Sort now works properly with a horizontal plot - pivot(): Now can have one variable to aggregate and one aggregation variable named x - Regression(): Debugging code removed from the k-fold cross-validation analysis Changes in version 4.0.5 (2021-10-05) Updates - ANOVA(): Scatterplot for 1-way ANOVA now has grid lines and jitter - ANOVA(): Scatterplot for 1-way ANOVA now has jitter_x parameter added to customize the jitter level - ANOVA(): Scatterplot for 1-way ANOVA now has means plotted in a dark red instead of a dark gray - BarChart(): Tilde removed from each label if for a by variable in the legend where it is nonfunctional - pivot(): User defined functions accounted for and named in the output - pivot(): When analysis of all data values, dropped the Grand_Stat label - Plot(): Point color and fit line now a little darker and complements of each other, plot_errors segments a little darker as well - Plot(): For fit="reciprocal", fit line present for all values of x, even if plot window does not accommodate the full range, can adjust range with parameter pad_y - Plot(): Parameter root added for general root transformation beyond the value of 0.5 for the square root - Plot(): Parameter fit_power added to raise y to the designated power for the exp, root, and reciprocal transformations - Plot(): Correlational analysis no longer displayed for a non-linear fit line - Plot(): SSE displayed for corresponding fit line (curve) Bug Fixes - BarChart(): Two variable chart with parameters x and by specified now correctly displays a color range when the style is not the default theme - BarChart(): Base R text() function misleadingly displays text at size 1 if a value of 0 is entered, lessR functions that rely on the R text function now fixed by changing an input value of 0 to 0.01 - pivot(): Output variables now properly named - Plot(): Trellis plots with by1 and by2 parameters work in Shiny environment Changes in version 4.0.3 (2021-09-09) Updates - BarChart(): If parameter sta not specified, there is now no default if the parameter y variable is specified without an indication of what statistic to compute - BarChart(): Gentle termination with a message if stats specifies a transform that results in missing data in the computed summary table - BarChart(): For analysis of computing a summary table with the parameter stat parameter, no longer display the summary stats for the parameter x variable when a by variable is present - getColors(): Default qualitative color palette softened a bit by increasing luminance from 55 to 60 - getColors(): By default, now does not generate output when called from visualization parameters parameter fill and parameter color for parameter BarChart(), etc. - getColors(): Output parameter values changed to parameter logical, parameter TRUE and parameter FALSE - pivot(): New parameter parameter table_long allows the table computation for a cross-tabs table be output in long form - pivot(): Tabulate computation continues to work, though no longer documented as it is supersede Bug Fixes - BarChart(): Further adjustment to accommodate very large legend labels for two variable plots - BarChart(): If the y values are input, the display of the values will be properly turned off if the parameter style option for values is set to parameter "off" - Plot(): Default jitter for 1-D scatterplot works again in VBS plots - Plot(): Parameter by works again for VBS plots, multiple plots on same panel - Plot(): Parameter color now works in conjunction with the by parameter - Plot(): Applied to a scatterplot of two continuous variables:\cr if color is set to "off" (or "transparent"), a requested fit line still displays\cr means are now properly plotted for a scatterplot of a continuous and categorical variable when jitter is applied to the plotted points\cr default outlier shape in gray scale changes to diamond as documented Changes in version 4.0.2 (2021-08-05) Updates - BarChart(): For a two categorical variable bar chart, the legend labels are by default no longer abbreviated, instead sufficient room is generated by the plot - BarChart(): New parameter legend_abbrev allows for the specification of the maximum number of characters to display for the legend labels - BarChart(): For a two categorical variable bar chart, better default placement of the legend new parameter legend_adj allows for horizontal adjustment of the legend Bug Fixes - BarChart(): First variable x is a vector works again - Histogram(): Parameter pdf_file works - Plot(): Parameter enhance=TRUE correctly prints least-squares line when fill changed Changes in version 4.0.1 (2021-06-06) Updates - BarChart(): When fill or color set with getColors(), the value of n, the number of colors, is provided according to the number of bars - BarChart(): When horiz is TRUE, order of sort changed so that "-" starts at top - BarChart(): Space to separate the x-axis label when several lines revised parameter pdf to pdf_file - corProp(): Alias changed from prop to cp, so prop for new function Proportion() - Density(): Parameter pdf to pdf_file - Histogram(): Parameter pdf to pdf_file - kurtosis(): New function for computing kurtosis, available for the pivot() function - pivot(): Choose any two of the following three parameters: multiple compute functions, multiple values over which to compute, and multiple grouping (by) variables - pivot(): No by variables imply to do grand total(s) without an aggregation - pivot(): Choose any two of the following three parameters: multiple compute functions, multiple variables, and multiple by-variables. - pivot(): Sort parameter applies for a single aggregated numerical variable and specifies the variable or column number to sort - pivot(): For each non-decimal digit variable with unique data values, display - pivot(): The variable name and the unique values to better label the output when drilling down into levels of one or more categorical variables - pivot(): Compute quantiles() function provides a standard data frame - pivot(): Compute table() function provides a cross-classification table for a discrete aggregated variable - pivot(): Table frequencies can be converted to proportions, and row and column proportions - pivot(): Parameter out_names parameter to custom-name aggregated variables - pivot(): Parameter na_by renamed to na_by_show to better communicate its meaning skew and kurtosis added to the list of available descriptive statistics - pivot(): Parameter q_num specifies number of intervals for quantiles - pivot(): Parameter rows subsets rows of the data frame for analysis - pivot(): Parameter value changed to parameter variable - pivot(): Parameters rows_by and cols_by changed to by and by_cols - Plot(): Scatterplot matrix does a loess fit if fit=TRUE - Plot(): If multiple x or y variables, text correlation analysis displayed for each combination - Plot(): If a by variable, then text correlation for each level not yet available, so not displayed - Plot(): Default for plotting a fit line with by groups is to not plot the standard errors because the plot becomes overcrowded - Plot(): Warning displayed if the date field or a by/by1 field is not ordered - Plot(): Stacked time series chart of different shades of same hue, such as "blues" now have each sub-plot with a black border - Plot(): Trellis plot distinguishes area_fill under a line from fill for a point - Plot(): radius value for bubble plot frequency matrix dependent on size of - Plot(): Largest frequency radius value displayed for bubble plot frequency matrix - prob_norm(): Probability is returned as the value of the function, not just printed - prob_tcut(): Cutoff is returned as the value of the function, not just printed - Prop_test(): New function for the analysis of proportions: test of homogeneity for one or more samples based on the proportion of successes for a specific value of a variable, and for a single sample, goodness-of-fit for a single categorical variable and test of independence for two categorical variables - Prop_test(): prop is alias - recode(): Changed to lower case function name - rescale(): Changed to lower case function name - Regression(): Bubble plot form of a scatterplot for integer variables with less than 10 unique values and a single predictor variable - skew(): New function for computing skew, available for the pivot() function - style(): slatered theme added - style(): ellipse_fill for default "colors" theme now a pale brown instead of blue Bug Fixes - BarChart(): With more than 30 categories, a message to indicate how to retrieve now properly displays instead of crashing - BarChart(): fill=(count) would fail for a large number of levels - BarChart(): Stacked bars from multiple items now works with variable labels - BarChart(): Stacked bars from multiple items now works for binary responses - Extract(): Now works if name of data frame is a function in another context - Extract(): Now works even if one variable name is embedded in another name - Plot(): Forcing an evaluation of a scalar logical on a vector fixed - Plot(): theme parameter works for most common parameters - Plot(): Bubble plot frequency matrix text output works with labels - Plot(): Bubble plot frequency matrix plot x-axis works with binary response - Plot(): area_fill works correctly - ttest(): For paired analysis, x-axis properly labeled Difference `