The distribution of R squared (as obtained in a regression analysis)
These functions use the beta distribution to provide the R Squared distribution.
dRsq(x, nPredictors, sampleSize, populationRsq = 0) pRsq(q, nPredictors, sampleSize, populationRsq = 0, lower.tail = TRUE) qRsq(p, nPredictors, sampleSize, populationRsq = 0, lower.tail = TRUE) rRsq(n, nPredictors, sampleSize, populationRsq = 0)
- x, q
- Vector of quantiles, or, in other words, the value(s) of R Squared.
- Vector of probabilites (p-values).
- The number of predictors.
- The sample size.
- The number of R Squared values to generate.
The value of R Squared in the population; this determines the center of the R Squared distribution. This has not been implemented yet in this version of
userfriendlyscience. If anybody knows how to do this and lets me know, I'll happily integrate this of course.
- logical; if TRUE (default), probabilities are the likelihood of finding an R Squared smaller than the specified value; otherwise, the likelihood of finding an R Squared larger than the specified value.
dRsqgives the density,
pRsqgives the distribution function,
qRsqgives the quantile function, and
rRsqgenerates random deviates.
These functions are based on the Stack Exchange (Cross Validated) post at http://stats.stackexchange.com/questions/130069/what-is-the-distribution-of-r2-in-linear-regression-under-the-null-hypothesis. Thus, the credits go to Alecos Papadopoulos, who provided the answer that was used to write these functions.
### Generate 10 random R Squared values ### with 2 predictors and 100 participants rRsq(10, 2, 100); ### Probability of finding an R Squared of ### .15 with 4 predictors and 100 participants pRsq(.15, 4, 100, lower.tail = FALSE); ### Probability of finding an R Squared of ### .15 with 15 predictors and 100 participants pRsq(.15, 15, 100, lower.tail=FALSE);