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)

Arguments

x, q

Vector of quantiles, or, in other words, the value(s) of R Squared.

p

Vector of probabilites (p-values).

nPredictors

The number of predictors.

sampleSize

The sample size.

n

The number of R Squared values to generate.

populationRsq

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.

lower.tail

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.

Details

The functions use convert.omegasq.to.f and convert.f.to.omegasq to provide the Omega Squared distribution.

Value

dRsq gives the density, pRsq gives the distribution function, qRsq gives the quantile function, and rRsq generates random deviates.

Note

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.

See also

dbeta, pbeta, qbeta, rbeta

Examples

### Generate 10 random R Squared values ### with 2 predictors and 100 participants rRsq(10, 2, 100);
#> [1] 0.007331842 0.003403783 0.001097551 0.008641046 0.025309709 0.003244817 #> [7] 0.009168795 0.022162272 0.000497554 0.011341646
### Probability of finding an R Squared of ### .15 with 4 predictors and 100 participants pRsq(.15, 4, 100, lower.tail = FALSE);
#> [1] 0.001317785
### Probability of finding an R Squared of ### .15 with 15 predictors and 100 participants pRsq(.15, 15, 100, lower.tail=FALSE);
#> [1] 0.394635