R/cohensdCI.R
, R/cohensdDist.R
, R/pwr.cohensdCI.R
cohensDdistribution.Rd
These functions use some conversion to and from the t distribution to
provide the Cohen's d distribution. There are four versions that act
similar to the standard distribution functions (the d.
, p.
,
q.
, and r.
functions, and their longer aliases
.Cohensd
), three convenience functions (pdExtreme
,
pdMild
, and pdInterval
), a function to compute the confidence
interval for a Cohen's d estimate cohensdCI
, and a function to
compute the sample size required to obtain a confidence interval around a
Cohen's d estimate with a specified accuracy (pwr.cohensdCI
and its alias pwr.confIntd
).
cohensdCI(d, n, conf.level = 0.95, plot = FALSE, silent = TRUE)
dCohensd(
x,
df = NULL,
populationD = 0,
n = NULL,
n1 = NULL,
n2 = NULL,
silent = FALSE
)
pCohensd(q, df, populationD = 0, lower.tail = TRUE)
qCohensd(p, df, populationD = 0, lower.tail = TRUE)
rCohensd(n, df, populationD = 0)
pdInterval(ds, n, populationD = 0)
pdExtreme(d, n, populationD = 0)
pdMild(d, n, populationD = 0)
pwr.cohensdCI(d, w = 0.1, conf.level = 0.95, extensive = FALSE, silent = TRUE)
Desired number of Cohen's d values for rCohensd
and
rd
(n
), and the number of participants/datapoints in total (n
) or in each
group (n1
and n2
) for dd
, dCohensd
, pdExtreme
,
pdMild
, pdInterval
, and cohensdCI
.
The level of confidence of the confidence interval.
Whether to show a plot of the sampling distribution of Cohen's
d and the confidence interval. This can only be used if specifying
one value for d
, n
, and conf.level
.
Whether to provide FALSE
or suppress (TRUE
)
warnings. This is useful because function 'qt', which is used under the
hood (see qt()
for more information), warns that 'full precision
may not have been achieved' when the density of the distribution is very
close to zero. This is normally no cause for concern, because with sample
sizes this big, small deviations have little impact.
Vector of quantiles, or, in other words, the value(s) of Cohen's d.
Degrees of freedom.
The value of Cohen's d in the population; this determines the center of the Cohen's d distribution. I suppose this is the noncentrality parameter.
logical; if TRUE (default), probabilities are the likelihood of finding a Cohen's d smaller than the specified value; otherwise, the likelihood of finding a Cohen's d larger than the specified value.
Vector of probabilites (p-values).
A vector with two Cohen's d values.
The desired maximum 'half-width' or margin of error of the confidence interval.
Whether to only return the required sample size, or more extensive results.
dCohensd
(or dd
) gives the density, pCohensd
(or pd
) gives the distribution function, qCohensd
(or
qd
) gives the quantile function, and rCohensd
(or rd
)
generates random deviates.
pdExtreme
returns the probability (or probabilities) of finding a
Cohen's d equal to or more extreme than the specified value(s).
pdMild
returns the probability (or probabilities) of finding a
Cohen's d equal to or less extreme than the specified
value(s).
pdInterval
returns the probability of finding a Cohen's d that
lies in between the two specified values of Cohen's d.
cohensdCI
provides the confidence interval(s) for a given Cohen's
d value.
pwr.cohensdCI
provides the sample size required to obtain a
confidence interval for Cohen's d with a desired width.
The functions use convert.d.to.t()
and
convert.t.to.d()
to provide the Cohen's d distribution.
The confidence interval functions, cohensdCI
and pwr.cohensdCI
,
now use the same method as MBESS (a slightly adapted version of
the MBESS
function conf.limits.nct
is used).
More details about cohensdCI
and pwr.cohensdCI
are provided in
Peters & Crutzen (2017).
Peters, G. J. Y. & Crutzen, R. (2017) Knowing exactly how effective an intervention, treatment, or manipulation is and ensuring that a study replicates: accuracy in parameter estimation as a partial solution to the replication crisis. https://dx.doi.org/
Maxwell, S. E., Kelley, K., & Rausch, J. R. (2008). Sample size planning for statistical power and accuracy in parameter estimation. Annual Review of Psychology, 59, 537-63. https://doi.org/10.1146/annurev.psych.59.103006.093735
Cumming, G. (2013). The New Statistics: Why and How. Psychological Science, (November). https://doi.org/10.1177/0956797613504966
### Confidence interval for Cohen's d of .5
### from a sample of 200 participants, also
### showing this visually: this clearly shows
### how wildly our Cohen's d value can vary
### from sample to sample.
cohensdCI(.5, n=200, plot=TRUE);
#> lo hi
#> d=0.5, n=200 0.2178714 0.7809034
#> attr(,"plot")
#> attr(,"class")
#> [1] "cohensdCI"
### How many participants would we need if we
### would want a more accurate estimate, say
### with a maximum confidence interval width
### of .2?
pwr.cohensdCI(.5, w=.1);
#> [1] 1585
### Show that 'sampling distribution':
cohensdCI(.5,
n=pwr.cohensdCI(.5, w=.1),
plot=TRUE);
#> lo hi
#> d=0.5, n=1585 0.3999342 0.5999124
#> attr(,"plot")
#> attr(,"class")
#> [1] "cohensdCI"
### Generate 10 random Cohen's d values
rCohensd(10, 20, populationD = .5);
#> [1] 1.0832538 0.5901291 0.4255280 0.7183266 0.8453752 0.3989883
#> [7] -0.2423124 1.0108634 1.0543841 0.7509152
### Probability of findings a Cohen's d smaller than
### .5 if it's 0 in the population (i.e. under the
### null hypothesis)
pCohensd(.5, 64);
#> [1] 0.9767939
### Probability of findings a Cohen's d larger than
### .5 if it's 0 in the population (i.e. under the
### null hypothesis)
1 - pCohensd(.5, 64);
#> [1] 0.02320611
### Probability of findings a Cohen's d more extreme
### than .5 if it's 0 in the population (i.e. under
### the null hypothesis)
pdExtreme(.5, 64);
#> [1] 0.04988584
### Probability of findings a Cohen's d more extreme
### than .5 if it's 0.2 in the population.
pdExtreme(.5, 64, populationD = .2);
#> [1] 0.2406812