Learn R Programming

LikertMakeR

LikertMakeR synthesises Likert-scale and related bounded rating-scale data with predefined means, standard deviations, and (optionally) correlations, Cronbach’s alpha, and factor-loading-based structure.

Purpose

  1. Reverse-engineer published results when only summary statistics are reported (for re-analysis, visualisation, or teaching).
  2. Teaching & demos: generate data with known properties without collecting real data.
  3. Methods work / simulation: explore how reliability, items, bounds, and sample size interact.

For a full introduction and worked examples, see the package website: https://winzarh.github.io/LikertMakeR/


Installation

From CRAN:


  install.packages("LikertMakeR")

The latest development version is available from the author's GitHub repository.


 library(devtools)
 
 install_github("WinzarH/LikertMakeR")

Quick Start

  1. Make a target correlation matrix
library(LikertMakeR)

R <- matrix(
  c(
    1.00, 0.60, 0.45, 0.40,
    0.60, 1.00, 0.75, 0.35,
    0.45, 0.75, 1.00, 0.50,
    0.40, 0.35, 0.50, 1.00
  ),
  nrow = 4, ncol = 4, byrow = TRUE
)
  1. Generate synthetic rating-scale data with predefined moments
dat <- makeScales(
  n = 64,
  means = c(2.75, 3.00, 3.25, 3.50),
  sds = c(1.25, 1.50, 1.30, 1.25),
  lowerbound = rep(1, 4),
  upperbound = rep(5, 4),
  items = c(5, 5, 4, 4),
  cormatrix = R
)

head(dat)
cor(dat) |> round(2)

Key functions

  • lfast(): generate bounded/discrete data with target mean & SD

  • lcor(): rearrange columns to approximate a target correlation matrix

  • makeCorrAlpha(): generate an item correlation matrix with target Cronbach’s alpha

  • makeScales(): wrapper for lfast() + lcor() to generate a dataframe of correlated columns

  • makeCorrLoadings(): build an item correlation matrix from factor loadings and factor correlations

  • makeItemsScale(): generate items from a summated scale with target alpha

  • makePaired() / makeRepeated(): reconstruct data from paired t-test / repeated-measures summaries

  • makeScalesRegression(): generate data from summary of multiple-regression analysis

  • correlateScales(): combine multiple item sets so summated scales match a target correlation matrix

  • Helpers: alpha(), eigenvalues(), reliability()

Rating scale properties

A Likert scale is the mean, or sum, of several ordinal rating scales. They are bipolar (usually “agree-disagree”) responses to propositions that are determined to be moderately-to-highly correlated among each other, and capturing various facets of a theoretical construct.

NOTE

A single 1-5 rating scale is NOT a Likert scale - it may be a Likert-scale item.

Summated rating scales are not continuous or unbounded. For example, a 5-point Likert scale that is constructed with, say, five items (questions) will have a summed range of between 5 (all rated ‘1’) and 25 (all rated ‘5’) with all integers in between, and the mean range will be ‘1’ to ‘5’ with intervals of 1/5=0.20. A 7-point Likert scale constructed from eight items will have a summed range between 8 (all rated ‘1’) and 56 (all rated ‘7’) with all integers in between, and the mean range will be ‘1’ to ‘7’ with intervals of 1/8=0.125.

Learn more

Package website (recommended): https://winzarh.github.io/LikertMakeR/

Vignettes cover:

  • generating scales from summary statistics,

  • correlation matrices from alpha or loadings,

  • repeated-measures and paired designs,

  • reliability estimation and diagnostics,

  • validation studies demonstrating function accuracy.


To cite LikertMakeR

APA:

 Winzar, H. (2025). LikertMakeR (version 1.4.0) [R package]. 
 The Comprehensive R Archive Network (CRAN),
<https://CRAN.R-project.org/package=LikertMakeR>
    

BIB:

@software{winzar2025},
 title = {LikertMakeR},
 author = {Winzar, Hume},
 abstract = {LikertMakeR synthesises and correlates rating-scale data with predefined means and standard deviations.},
 publisher = {The Comprehensive R Archive Network (CRAN)},
 month = dec,
 year = {2025},
 version = {1.4.0},
 origdate = {2022},
 url = {https://CRAN.R-project.org/package=LikertMakeR},
 note = {R package}
}

Copy Link

Version

Install

install.packages('LikertMakeR')

Monthly Downloads

241

Version

1.4.0

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Hume Winzar

Last Published

February 11th, 2026

Functions in LikertMakeR (1.4.0)

reliability

Estimate scale reliability for Likert and rating-scale data
makeScales

Synthesise rating-scale data with given first and second moments and a predefined correlation matrix
makeRepeated

Reproduce Repeated-Measures Data from ANOVA Summary Statistics
ordinal_diagnostics

Extract ordinal diagnostics from a reliability() result
makeScalesRegression

Generate Data from Multiple-Regression Summary Statistics
alpha

Calculate Cronbach's Alpha from a correlation matrix or dataframe
makeCorrAlpha

Correlation matrix from Cronbach's Alpha
lexact

Deprecated. Use lfast() instead
lcor

Rearrange elements in each column of a data-frame to fit a predefined correlation matrix
lfast

Synthesise rating-scale data with predefined mean and standard deviation
correlateScales

Dataframe of correlated scales from different dataframes of scale items
eigenvalues

calculate eigenvalues of a correlation matrix with optional scree plot
makeCorrLoadings

Generate Inter-Item Correlation Matrix from Factor Loadings
makeItemsScale

Generate scale items from a summated scale, with desired Cronbach's Alpha
makePaired

Synthesise a dataset from paired-sample t-test summary statistics
print.likert_reliability

Print method for reliability objects
print.makeScalesRegression

Print method for makeScalesRegression objects