This release introduces major improvements to the internal algorithms used to generate synthetic rating-scale data and correlation matrices.
makeItemsScale() has been rewritten and one
parameter has been removed. Existing code that used the removed
argument, variance, will need to be updated.
makeCorrAlpha() has been completely redesigned -
previously flagged in development version 1.5.0. Some
parameters have changed, and the internal algorithm for generating
correlation matrices has been replaced to guarantee an assumed
underlying single-factor structure.
Added reliability(), a new function for computing
reliability statistics for rating-scale data - previously flagged in
development version 1.5.0.
Added alpha_sensitivity(), a new function that
computes how Cronbach’s alpha changes as a function of scale design
parameters.
makeCorrAlpha() is now substantially faster and more
stable when generating correlation matrices that satisfy a target
Cronbach’s alpha.
alpha() has additional integrity checks
Improved numerical stability and diagnostics in correlation-matrix generation.
Various documentation improvements and code cleanup.
makeCorrAlpha()makeCorrAlpha() has been completely re-engineered. The
previous swap-based approach for achieving positive-definite correlation
matrices has been replaced with a constructive one-factor generator.
The previous algorithm:
The new algorithm:
alpha_noise = 0.This results in substantially improved numerical stability and smoother behaviour across the parameter space.
precision
argument removed and replaced with alpha_noise
argumentA new argument, alpha_noise, has been introduced to
provide optional random variation around the requested Cronbach’s
alpha.
By default (alpha_noise = 0), the function reproduces the specified alpha deterministically. When a small positive value is supplied, the function will generate slightly different reliability values across runs.
This is particularly useful in teaching and simulation contexts where you may wish to demonstrate natural variation rather than produce the exact same matrix each time. The noise is applied in a way that ensures the resulting alpha always remains within valid bounds.
sort_cors is now deprecated. It served no useful
purpose.For most use cases, behaviour remains consistent with previous versions. However, users who relied on the previous swap-based construction may observe smoother and more stable correlation structures under the new implementation.
summated
parameter added to makeItemsScale() functionAdded to specify whether the given scale is a summated scale (e.g. 4-20 in integer increments for four 5-point items) or an averaged scale (e.g., 1-5 in 0.25 increments).
Tutorials added to the website
infographic to be removed from CRAN
blog_01 (quick-start tutorial) generates a dataframe.
blog_2 (t-test tutorial) “reproduces”” published data, runs t-test, effect-sizes, and visualisation.
New reliability() function: Calculates various
reliability statistics:
Cronbach’s alpha (\(\alpha\))
McDonald’s omega-total (\(\omega_t\))
Guttman’s lambda 6 (\(\lambda 6\))
Zumbo’s ordinal alpha (Cronbach’s alpha from polychoric correlations)
ordinal-omega-total (McDonald’s omega total from polychoric correlations)
coefficient H
with bootstrapped Confidence Intervals for each as an option.
correlateScales() function runs 3 to 8 times faster
Fixed typos and simplified examples.
removed redundant makeItems() function
reduced length of README file and moved most content to vignettes
New makeScalesRegression() function: Generates
synthetic rating-scale data that replicates reported regression results,
and then returns
a data frame that provides the requested statistical properties and
a correlation matrix and summary moments of the data frame, plus
diagnostic statistics, including comparison of target values against achieved values.
makeScales() function replaces
makeItems() function:
k.Updated version of makeCorrAlpha() function produces
a more “natural-looking” correlation matrix, plus diagnostics:
sort_cors = FALSE. If
TRUE, results are similar to the earlier version of
makeCorrAlpha(). A little faster but not as
“natural-looking”.diagnostics = FALSE. If
TRUE, returns a list containing the correlation matrix and
a diagnostics list (target/achieved alpha, average inter-item
correlation, eigenvalues, PD flag, and key arguments). If
FALSE (default), returns the correlation matrix only.Updated version of lfast() function
new vignette for the new function
makeScalesRegression().
updated examples for makeScales() function.
updated badges in readme file.
New makeRepeated() function : takes summary
statistics that are reported in a typical repeated-measures ANOVA study,
and then returns
a correlation matrix of the vectors of repeated measures and
a data frame based on the correlation matrix and summary moments, plus
diagnostic statistics, including possible F-statistics based on information provided.
#lfast_validation# vignette shows that #LikertMaker# does a remarkably good job of replicating real rating-scale data.
lfast() and makeCorrLoadings() appear only in
the package website.new makePaired() function: takes summary statistics
from a paired-sample t-test and produces a data frame of rating-scale
data that would deliver such summary statistics
lcor() function rewrite: previous version used a
very systematic swapping of values in each column to minimise the
difference between data correlation and a target correlation matrix.
This algorithm had the effect of causing extreme values in each column
to be highly-correlated (or lowly correlated as applicable), and leaving
middle-values relatively uncorrelated. This property was probably not
noticeable in most cases but was apparent when the range of scale values
was great.
LikertMakeR vignettemakeCorrLoadings validationDESCRIPTION metadata to comply with CRAN
requirements.knitr::rmarkdown for better
compatibility with CRAN and development tools.makeCorrLoadings() generates a correlation matrix of inter-item correlations based on item factor loadings as might be seen in Exploratory Factor Analysis (EFA) or a Structural Equation Model (SEM).
Such a correlation matrix can be applied to the function to generate synthetic data with those predefined factor structures.
No update from V 0.4.5.
This will be the new numbered for submission to CRAN
makePaired() generates a dataframe of two paired vectors to emulate data for a paired-sample t-test
generated scale items now defined by a target Cronbach’s Alpha, as well as by variance within each scale item. This latest version adds a little randomness to the selection of candidate row vectors.
correlation matrix usually has values sorted lowest to highest. This happens less often
‘precision’ adds random variation around the target Cronbach’s Alpha. Default = ‘0’ (no variation giving Alpha exact to two decimal places)
Create a dataframe of correlated scales from different dataframes of scale items
Generate rating-scale items from a given summated scale
Faster and more accurate functions: lcor() & lfast()
These replace the old lcor() & lfast() with the previous lcor_C() & lfast_R()
makeCorrAlpha() constructs a random correlation matrix of given dimensions and predefined Cronbach’s Alpha.
makeItems() generates synthetic rating-scale data with predefined first and second moments and a predefined correlation matrix
alpha() calculate Cronbach’s Alpha from a given correlation matrix or a given dataframe
eigenvalues() calculates eigenvalues of a correlation matrix with an optional scree plot
Made code and examples more tidy - this makes code a few nanoseconds faster
Added some further in-line comments.
setting up for some C++ mods to make lcor() faster, and to introduce make_items() function.
Added references to DESCRIPTION file and expanded citations to vignettes
Reduced runtime by setting target to zero instead of -Inf.
Specified one thread instead of attempting Parallel