Learn R Programming

cg (version 1.0-3)

samplesizeTable.cgOneFactorFit: Estimate Sample Sizes based on a cgOneFactorFit object

Description

Estimate the sample size that would be required to detect a specified difference in a one factor study. The estimate is based on the variability that was observed in a previous one factor study. A cgOneFactorSampleSizeTable class object is created.

Usage

"samplesizeTable"(fit, direction, mmdvec, power = 0.80, alpha = 0.05, nmax = 1000, display = "print", ...)

Arguments

fit
A cgOneFactorFit object from a previous one factor study.
direction
A character value indicating whether the sample size should be estimated to detect an "increase" or a "decrease". This only effects the sample size estimates if the previous study in fit was analyzed on the log scale, in which case the differences in mmdvec are relative differences instead of absolute differences. For detecting relative changes, the sample size required to detect a relative increase of 25% is not the same as the sample size to detect a relative decrease of 25%, for example. But for detecting absolute changes, the sample size required to detect an absolute increase of 25 is the same as the sample size to detect an absolute decrease of 25.
mmdvec
A numeric vector specifying the minimum meaningful differences to be detected in the future study. If the previous study in fit was analyzed on the log scale, then the values in mmdvec are assumed to be relative percentage increases or decreases, depending on the value of direction. If the previous study in fit was not analyzed on the log scale, then the values in mmdvec are assumed to be absolute increases or decreases, depending on the value of direction. Each value in mmdvec needs to be positive.
power
The power for the future study, set by default to be 0.80. This is equivalent to $1 - \beta$, where $\beta$ is the probability of committing a Type II error: accepting the null hypothesis of no difference when differences truly exist.
alpha
The significance level or alpha for the future study, set by default as 0.05.
nmax
The maximum number of subjects per group. If more subjects are estimated to be required, then the exact number required is not reported, only the fact that more than the maximum number would be required. This is in place to prevent long and likely unnecessary calculations.
display
One of three valid values:
"print"
The default value; It calls a print method for the created cgOneFactorSamplesizeTable object, which is a formatted text output of the table(s).

"none"
Supresses any printing. Useful, for example, when just assignment of the resulting object is desired.

"show"
Calls the default showDefault method, which will just print out the cgOneFactorSamplesizeTable components.

...
Additional arguments.

ngrps
The number of groups that will be in the future one factor study. The default is ngrps = 2.

model
A character value indicating which variability estimate in fit should be used to estimate the sample size: the robust model ("rronly"), the classical model ("olsonly"), or both ("both"). If an estimate is requested for a model that was not fit, then no sample sizes are returned for that model but an error is not reported (e.g. if only the classical model was fitted but "both" are requested, only the classical model estimates will be returned):

"both"
Sample Size tables based on both the ordinary classical least squares and resistant & robust fits are performed. This is the default when both fits are present in the cgOneFactorFit object specified in the fit argument. If the resistant & robust fit is not available, this value is not relevant.

"olsonly"
Only a sample size table based on the ordinary classical least squares olsfit fit is calculated.

"rronly"
Only a sample size table based on the resistant and robust rrfit fit is calculated.

Value

Creates an object of class cgOneFactorSampleSizeTable, with the following slots:
ols.sstable
A matrix with the estimated sample sizes based on the classical model variance estimates, or NULL. The matrix has 3 columns and one row for each element of the mmdvec vector. The first column specifies the minimum meaningful difference ("mmd"). The second column gives the number of subjects required for each group ("n"), possibly truncated at nmax. The third column gives the total number of subjects required ("N"), also truncated if nmax is truncated.
rr.sstable
A matrix with the estimated sample sizes based on the robust model variance estimates, or else NULL if model="olsonly" was specified. See the ols.sstable slot description above for the analogous layout of the matrix.
settings
A list of properties mostly carried as-is from the data argument object of class cgOneFactorData, with the following additional members:
sigmaest
A list with 2 members, ols, containing the estimated spread (sigma, standard deviation) from the classical model of fit, and rr, containing the estimated spread (sigma, standard deviation) from the robust model of fit, or NULL if the robust model was not fit.
planningname
A character describing the study or purpose of the sample size analysis. Taken from the settings$analysisname of the fit object.
ngrps
A saved copy of the ngrps argument.
direction
A saved copy of the direction argument.
alpha
A saved copy of the alpha argument.
power
A saved copy of the power argument.
nmax
A saved copy of the nmax argument.

Details

This sample size method does not work for fitted models that allowed unequal variances or censored observations.

Sample sizes are estimated for detecting a minimum difference with a global F test. The algorithm is detailed in Fleiss (1986), Appendix A. When there are more than 2 groups, the lower bound of possible noncentrality parameter values is calculated from assuming only two of the ngrps number of groups differ by the mmdvec/2 amount from the "grand mean" while the rest of the groups are equal to the grand mean. For detecting an absolute difference, the sample size is the smallest group size n for which 1 - pf (qf (1 - alpha, numdf, dendf), numdf, dendf, ncp) exceeds power, where ncp = (n * mmdvec ^ 2) / (2 * sigamest ^ 2), and sigmaest is the residual mean square error from the model in fit. For detecting a relative difference, the calculations are the same except ncp = (n * (log (sign * mmdvec / 100 + 1) ) ^ 2) / (2 * sigmaest ^ 2), where sign = -1 if direction="decreasing", and sign = 1 if direction = "increasing".

References

Fleiss, J.L. (1986). The Design and Analysis of Clinical Experiments, Appendix A, pages 371 - 376. New York: Wiley.

Examples

Run this code
data(canine)
canine.data <- prepareCGOneFactorData(canine, format="groupcolumns",
                                      analysisname="Canine",
                                      endptname="Prostate Volume",
                                      endptunits=expression(plain(cm)^3),
                                      digits=1, logscale=TRUE, refgrp="CC")
canine.fit <- fit(canine.data)

canine.samplesize <- samplesizeTable(canine.fit, direction="increasing", 
                                     mmdvec=c(10, 25, 50, 75, 100))

samplesizeTable(canine.fit, direction="decreasing", 
                mmdvec=c(25, 50, 75), model="olsonly")

Run the code above in your browser using DataLab