Abstract
This article describes a simple and fast algorithm for generating correlation matrices ( with a known average correlation. The algorithm should be useful for researchers desiring plausible R matrices for substantive domains in which average correlations are known (at least approximately). The method is non-iterative and it can solve relatively large problems (e.g., generate a 500 × 500 R matrix) in less than a second on a personal computer. It also has didactic value for introducing students to the convex set of feasible R matrices of a fixed dimension. This Euclidean body is called an elliptope. The proposed method exploits the geometry of elliptopes to efficiently generate realistic R matrices with a desired average correlation coefficient. R code for implementing the algorithm (and for reproducing all of the results of this article) is reported in an online supplement.
Acknowledgments
The author would like to express his sincere appreciation to Dr. Brett Presnell and Mr. Yuanpeng Hu for providing helpful comments on an earlier draft of this work.
Disclosure Statement
The author reports there are no competing interests to declare.
Notes
1 The skew ( of a Beta( distribution with parameters α and β equals: . For a thorough discussion of the skew and other moments of the Beta distribution, see (Johnson, Kotz, and Balakrishnan Citation1995, chap. 25).
2 These simulations were conducted on a 2021 MacBook Pro with an M1 Max processor.