Type: Package
Title: Sample Size Calculations for Microarray Experiments
Version: 1.3
Author: Megan Orr [aut, cre], Peng Liu [aut]
Maintainer: Megan Orr <megan.orr@ndsu.edu>
Description: Functions that calculate appropriate sample sizes for one-sample t-tests, two-sample t-tests, and F-tests for microarray experiments based on desired power while controlling for false discovery rates. For all tests, the standard deviations (variances) among genes can be assumed fixed or random. This is also true for effect sizes among genes in one-sample and two sample experiments. Functions also output a chart of power versus sample size, a table of power at different sample sizes, and a table of critical test values at different sample sizes.
License: GPL-3
Encoding: UTF-8
NeedsCompilation: no
Packaged: 2022-06-06 06:11:56 UTC; megan
Repository: CRAN
Date/Publication: 2022-06-07 04:30:02 UTC

Sample Size Calculations for Microarray Experiments

Description

This package calculates appropriate sample sizes for one-sample, two-sample, and multi-sample microarray experiments for a desired power of the test. Sample sizes are calculated under controlled false discovery rates and fixed proportions of non-differentially expressed genes. Outputs a graph of power versus sample size.

Details

Package: ssize.fdr
Type: Package
Version: 1.3
Date: 2022-06-05
License: GPL-3

For all functions, the user inputs the desired power, the false discovery rate to be controlled, the proportion(s) of non- differentially expressed genes, and the maximum possible sample size to be used in calculations. If the user inputs a vector of proportions of non-differentially expressed genes, samples size calculations are performed for each proportion. For the function ssize.twoSamp, the user must additionally input the common difference in mean treatment expressions as well as the common standard deviation for all genes. This becomes the common effect size and common standard deviation for all genes when using the function ssize.oneSamp. For the function ssize.twoSampVary (ssize.oneSampVary) the differences in mean treatment expressions (effect sizes) are assumed to follow a normal distribution and the variances among genes are assumed to follow an inverse gamma distribution, so parameters for these distributions must be entered. For the function ssize.F, the design matrix of the experiment, the parameter vector, and an optional coefficient matrix or vector of linear contrasts of interest must also be entered. The function ssize.Fvary allows the variances of the genes to follow an inverse gamma distribution, so the shape and scale parameters must be specified by the user.

Author(s)

Megan Orr <megan.orr@ndsu.edu>, Peng Liu <pliu@iastate.edu>

References

Liu, Peng and J. T. Gene Hwang. 2007. Quick calculation for sample size while controlling false discovery rate with application to microarray analysis. Bioinformatics 23(6): 739-746.

Examples


 a<-0.05	##false discovery rate to be controlled
 pwr<-0.8	##desired power
 p0<-c(0.5,0.9,0.95)	##proportions of non-differentially expressed genes
 N<-20; N1<-35	##maximum sample size for calculations


 ##Example of function ssize.oneSamp
 d<-1		##effect size
 s<-0.5  	##standard deviation
 os<-ssize.oneSamp(delta=d,sigma=s,fdr=a,power=pwr,pi0=p0,maxN=N,side="two-sided")
 os$ssize	##first sample sizes to reach desired power
 os$power	##calculated power for each sample size
 os$crit.vals	##calculated critical value for each sample size


 ##Example of function ssize.oneSampVary
 dm<-2;  ds<-1	##the effect sizes of the genes follow a Normal(2,1) distribution
 alph<-3;  beta<-1	##the variances of the genes follow an Inverse Gamma(3,1) distribution.
 osv<-ssize.oneSampVary(deltaMean=dm,deltaSE=ds,a=alph,b=beta,fdr=a,power=pwr,
 pi0=p0,maxN=N1,side="two-sided")
 osv$ssize	##first sample sizes to reach desired power
 osv$power	##calculated power for each sample size
 osv$crit.vals	##calculated critical value for each sample size


 ##Example of function ssize.twoSamp
 ##Calculates sample sizes for two-sample microarray experiments
 ##See Figure 1.(a) of Liu & Hwang (2007)
 d1<-1		##difference in differentially expressed genes to be detected
 s1<-0.5  	##standard deviation
 ts<-ssize.twoSamp(delta=d1,sigma=s1,fdr=a,power=pwr,pi0=pi,maxN=N,side="two-sided")
 ts$ssize	##first sample sizes to reach desired power
 ts$power	##calculated power for each sample size
 ts$crit.vals	##calculated critical value for each sample size


 ##Example of function ssize.twoSampVary
 ##Calculates sample sizes for multi-sample microarray experiments in which both the differences in
   ##expressions between treatments and the standard deviations vary among genes.
 ##See Figure 3.(a) of Liu & Hwang (2007)
 dm<-2		##mean parameter of normal distribution of differences
 ##between treatments among genes
 ds<-1		##standard deviation parameter of normal distribution
 ##of differences between treatments among genes
 alph<-3	##shape parameter of inverse gamma distribution followed
 ##by standard deviations of genes
 beta<-1	##scale parameter of inverse gamma distribution followed
 ##by standard deviations of genes
 tsv<-ssize.twoSampVary(deltaMean=dm,deltaSE=ds,a=alph,b=beta,
 fdr=a,power=pwr,pi0=p0,maxN=N1,side="two-sided")
 tsv$ssize	##first sample sizes to reach desired power
 tsv$power	##calculated power for each sample size
 tsv$crit.vals	##calculated critical value for each sample sizesv


 ##Example of function ssize.F
 ##Sample size calculation for three-treatment loop design microarray experiment
 ##See Figure S2. of Liu & Hwang (2007)
 des<-matrix(c(1,-1,0,0,1,-1),ncol=2,byrow=FALSE)	##design matrix of loop design experiment
 b<-c(1,-0.5)			##difference between first two treatments is 1 and
 ##second and third treatments is -0.5
 df<-function(n){3*n-2}		##degrees of freedom for this design is 3n-2
 s<-1				##standard deviation
 p0.F<-c(0.5,0.9,0.95,0.995)	##proportions of non-differentially expressed genes

 ft<-ssize.F(X=des,beta=b,dn=df,sigma=s,fdr=a,power=pwr,pi0=p0.F,maxN=N)
 ft$ssize	##first sample sizes to reach desired power
 ft$power	##calculated power for each sample size
 ft$crit.vals	##calculated critical value for each sample sizeft$ssize


 ##Example of function ssize.Fvary
 ##Sample size calculation for three-treatment loop design microarray experiment
 des<-matrix(c(1,-1,0,0,1,-1),ncol=2,byrow=FALSE)	##design matrix of loop design experiment
 b<-c(1,-0.5)			##difference between first two treatments is 1 and
 ##second and third treatments is -0.5
 df<-function(n){3*n-2}		##degrees of freedom for this design is 3n-2
 alph<-3;beta<-1	##variances among genes follow an Inverse Gamma(3,1)
 a1<-0.05	##fdr to be fixed
 p0.F<-c(0.9,0.95,0.995)		##proportions of non-differentially expressed genes

 ftv<-ssize.Fvary(X=des,beta=b,dn=df,a=alph,b=beta,fdr=a1,power=pwr,pi0=p0,maxN=N1)
 ftv$ssize	##first sample sizes to reach desired power
 ftv$power	##calculated power for each sample size
 ftv$crit.vals	##calculated critical value for each sample sizeft$ssize


Sample Size Calculations for Multi-Sample Microarray Experiments

Description

Calculates appropriate sample sizes for multi-sample microarray experiments for a desired power. Sample size calculations are performed at controlled false discovery rates and user-specified proportions of non-differentially expressed genes, design matrix, and standard deviation. A graph of power versus sample size is created.

Usage

ssize.F(X, beta, L = NULL, dn, sigma, fdr = 0.05, power = 0.8, pi0 = 0.95, maxN = 20,
  cex.title=1.15, cex.legend=1)

Arguments

X

design matrix of experiment

beta

parameter vector

L

coefficient matrix or vector for linear contrasts of interest

dn

a function of the degrees of freedom based on the design of the experiment

sigma

the standard deviation for all genes

fdr

the false discovery rate to be controlled

power

the desired power to be achieved

pi0

a vector (or scalar) of proportions of non-differentially expressed genes

maxN

the maximum sample size used for power calculations

cex.title

controls size of chart titles

cex.legend

controls size of chart legend

Details

Standard deviations are assumed to be identical for all genes. See the function ssize.Fvary for sample size calculations with varying standard deviations among genes.

If a vector is input for pi0, sample size calculations are performed for each proportion.

Value

ssize

sample sizes (for each treatment) at which desired power is first reached

power

power calculations with corresponding sample sizes

crit.vals

critical value calculations with corresponding sample sizes

Note

Powers calculated to be 0 may be negligibly conservative.

Critical values calculated as ‘NA’ are values >100.

Author(s)

Megan Orr megan.orr@ndsu.edu, Peng Liu pliu@iastate.edu

References

Liu, Peng and J. T. Gene Hwang. 2007. Quick calculation for sample size while controlling false discovery rate with application to microarray analysis. Bioinformatics 23(6): 739-746.

See Also

ssize.twoSampVary, ssize.oneSamp, ssize.oneSampVary, ssize.F, ssize.Fvary

Examples

 ##Sample size calculation for three-treatment loop design microarray experiment
 ##See Figure S2 of Liu & Hwang (2007)
 des<-matrix(c(1,-1,0,0,1,-1),ncol=2,byrow=FALSE)	##design matrix of loop design experiment
 b<-c(1,-0.5)			##difference between first two treatments is 1 and
  #second and third treatments is -0.5
 df<-function(n){3*n-2}		##degrees of freedom for this design is 3n-2
 s<-1				##standard deviation
 a<-0.05			##false discovery rate to be controlled
 pwr1<-0.8			##desired power
 p0<-c(0.5,0.9,0.95,0.995)	##proportions of non-differentially expressed genes
 N1<-20				##maximum sample size for calculations

 ft<-ssize.F(X=des,beta=b,dn=df,sigma=s,fdr=a,power=pwr1,pi0=p0,maxN=N1)
 ft$ssize	##first sample sizes to reach desired power for each proportion of
  #non-differentially expressed genes
 ft$power	##power for each sample size
 ft$crit.vals	##critical value for each sample size


Sample Size Calculations for Multi-Sample Microarray Experiments with Differing Variances among Genes

Description

Calculates appropriate sample sizes for multi-sample microarray experiments in which standard deviations vary among genes. Sample sizes are determined based on a desired power, a controlled false discovery rate, and user-specified proportions of non-differentially expressed genes and design matrix. A graph of power versus sample size is created.

Usage

ssize.Fvary(X, beta, L = NULL, dn, a, b, fdr = 0.05, power = 0.8, pi0 = 0.95, maxN = 20,
  cex.title=1.15, cex.legend=1)

Arguments

X

design matrix of experiment

beta

parameter vector

L

coefficient matrix or vector for linear contrasts of interest

dn

a function of the degrees of freedom based on the design of the experiment

a

shape parameter of inverse gamma distribution followed by variances of genes

b

scale parameter of inverse gamma distribution followed by variances of genes

fdr

the false discovery rate to be controlled

power

the desired power to be achieved

pi0

a vector (or scalar) of proportions of non-differentially expressed genes

maxN

the maximum sample size used for power calculations

cex.title

controls size of chart titles

cex.legend

controls size of chart legend

Details

The variances among genes are assumed to follow an Inverse Gamma distribution with shape parameter a and scale parameter b.

If a vector is input for pi0, sample size calculations are performed for each proportion.

Value

ssize

sample sizes (for each treatment) at which desired power is first reached

power

power calculations with corresponding sample sizes

crit.vals

critical value calculations with corresponding sample sizes

Note

Numerical integration used in calculations performed by the function integrate, which uses adaptive quadrature of functions.

Powers calculated to be 0 may be negligibly conservative.

Critical values calculated as ‘NA’ are values >100.

Author(s)

Megan Orr megan.orr@ndsu.edu, Peng Liu pliu@iastate.edu

References

Liu, Peng and J. T. Gene Hwang. 2007. Quick calculation for sample size while controlling false discovery rate with application to microarray analysis. Bioinformatics 23(6): 739-746.

See Also

ssize.twoSamp, ssize.twoSampVary, ssize.oneSamp, ssize.oneSampVary, ssize.F

Examples

 ##Sample size calculation for three-treatment loop design microarray experiment
 des<-matrix(c(1,-1,0,0,1,-1),ncol=2,byrow=FALSE)	##design matrix of loop design experiment
 b<-c(1,-0.5)			##difference between first two treatments is 1 and
  #second and third treatments is -0.5
 df<-function(n){3*n-2}		##degrees of freedom for this design is 3n-2
 alph<-3;beta<-1	##variances among genes follow an Inverse Gamma(3,1)
 a1<-0.05	##fdr to be fixed
 pwr<-0.8	##desired power
 p0<-c(0.9,0.95,0.995)		##proportions of non-differentially expressed genes
 N1<-35		##maximum sample size to be used in calculations

 ftv<-ssize.Fvary(X=des,beta=b,dn=df,a=alph,b=beta,fdr=a1,power=pwr,pi0=p0,maxN=N1)
 ftv$ssize	##first sample sizes to reach desired power
 ftv$power	##calculated power for each sample size
 ftv$crit.vals	##calculated critical value for each sample sizeft$ssize


Sample Size Calculations for One-Sample Microarray Experiments

Description

Calculates appropriate sample sizes for one-sample microarray experiments for a desired power. Sample size calculations are performed at controlled false discovery rates and user-specified proportions of non-differentially expressed genes, effect size, and standard deviation. A graph of power versus sample size is created.

Usage

ssize.oneSamp(delta, sigma, fdr = 0.05, power = 0.8, pi0 = 0.95, maxN = 35,
side = "two-sided", cex.title=1.15, cex.legend=1)

Arguments

delta

the common effect size for all genes

sigma

the standard deviation for all genes

fdr

the false discovery rate to be controlled

power

the desired power to be achieved

pi0

a vector (or scalar) of proportions of non-differentially expressed genes

maxN

the maximum sample size used for power calculations

side

options are "two-sided", "upper", or "lower"

cex.title

controls size of chart titles

cex.legend

controls size of chart legend

Details

Effect sizes and standard deviations are assumed to be identical for all genes. See the function ssize.oneSampVary for sample size calculations with varying effects sizes and standard deviations among genes.

If a vector is input for pi0, sample size calculations are performed for each proportion.

Value

ssize

sample sizes at which desired power is first reached

power

power calculations with corresponding sample sizes

crit.vals

critical value calculations with corresponding sample sizes

Note

Powers calculated to be 0 may be negligibly conservative.

Critical values calculated as ‘NA’ are values >20.

Running this function with the side option of “lower” will possibly result in multiple warnings. Calculating the probability that an observation is less than the negative critical value under a t-distribution with non-centrality parameter delta/sigma (see argument section above) and the appropriate degrees of freedom is a calculation that is performed many times while the function runs. When the difference between the critical value and delta/sigma is large, this probability is virtually zero. This happens repeatedly while the function optimize finds the appropriate critical value for each sample size. Because of this, the function pt outputs a value <1e-8 in addition to a warning of “full precision not achieved”. This has no impact on the accuracy of the resulting calculations of sample size.

Author(s)

Megan Orr megan.orr@ndsu.edu, Peng Liu pliu@iastate.edu

References

Liu, Peng and J. T. Gene Hwang. 2007. Quick calculation for sample size while controlling false discovery rate with application to microarray analysis. Bioinformatics 23(6): 739-746.

See Also

ssize.twoSampVary, ssize.oneSamp, ssize.oneSampVary, ssize.F, ssize.Fvary

Examples

 d<-2		##effect size
 s<-1  		##standard deviation
 a<-0.05	##false discovery rate to be controlled
 pwr<-0.8	##desired power
 p0<-c(0.5,0.9,0.95)	##proportions of non-differentially expressed genes
 N<-20		##maximum sample size for calculations
 os<-ssize.oneSamp(delta=d,sigma=s,fdr=a,power=pwr,pi0=p0,maxN=N,side="two-sided")
 os$ssize	##first sample sizes to reach desired power
 os$power	##calculated power for each sample size
 os$crit.vals	##calculated critical value for each sample size

Sample Size Calculations for One-Sample Microarray Experiments with Differing Mean Expressions and Standard Deviations Among Genes

Description

Calculates appropriate sample sizes for two-sample microarray experiments in which effect sizes as well as variances vary among genes. Sample sizes are determined based on a desired power, a controlled false discovery rate, and user-specified proportions of non-differentially expressed genes. Outputs a graph of power versus sample size. A graph of power versus sample size is created.

Usage

ssize.oneSampVary(deltaMean, deltaSE, a, b, fdr = 0.05, power = 0.8, pi0 = 0.95,
maxN = 35, side = "two-sided", cex.title=1.15, cex.legend=1)

Arguments

deltaMean

mean of normal distribution followed by effect sizes among genes

deltaSE

standard deviation of normal distribution followed by effect sizes among genes

a

shape parameter of inverse gamma distribution followed by variances of genes

b

scale parameter of inverse gamma distribution followed by variances of genes

fdr

the false discovery rate to be controlled

power

the desired power to be achieved

pi0

a vector (or scalar) of proportions of non-differentially expressed genes

maxN

the maximum sample size used for power calculations

side

options are "two-sided", "upper", or "lower"

cex.title

controls size of chart titles

cex.legend

controls size of chart legend

Details

The effect sizes among genes are assumed to follow a Normal distribution with mean specified by deltaMean and standard deviation specified by deltaSE. The variances among genes are assumed to follow an Inverse Gamma distribution with shape parameter a and scale parameter b.

If a vector is input for pi0, sample size calculations are performed for each proportion.

Value

ssize

sample sizes (for each treatment) at which desired power is first reached

power

power calculations with corresponding sample sizes

crit.vals

critical value calculations with corresponding sample sizes

Note

Numerical integration used in calculations performed by the function integrate, which uses adaptive quadrature of functions.

Powers calculated to be 0 may be negligibly conservative.

Critical values calculated as ‘NA’ are values >20.

Running this function may result in many warnings. Probabilities under different t-distributions with non-zero non-centrality parameters are calculated many times while the function runs. If these probabilities are virtually zero, the function pt outputs a value <1e-8 and outputs a warning of “full precision not achieved”. These values have no impact on the accuracy of the resulting calculations.

Author(s)

Megan Orr megan.orr@ndsu.edu, Peng Liu pliu@iastate.edu

References

Liu, Peng and J. T. Gene Hwang. 2007. Quick calculation for sample size while controlling false discovery rate with application to microarray analysis. Bioinformatics 23(6): 739-746.

See Also

ssize.twoSampVary, ssize.oneSamp, ssize.oneSampVary, ssize.F, ssize.Fvary

Examples

 dm<-2;  ds<-1	##the effect sizes of the genes follow a Normal(2,1) distribution
 alph<-3;  beta<-1	##the variances of the genes follow an Inverse Gamma(3,1) distribution.
 a2<-0.05	##false discovery rate to be controlled
 pwr2<-0.8	##desired power
 p0<-c(0.90,0.95,0.995)	##proportions of non-differentially expressed genes
 N1<-35		##maximum sample size to be used in calculations

 osv<-ssize.oneSampVary(deltaMean=dm,deltaSE=ds,a=alph,b=beta,fdr=a2,power=pwr2,pi0=p0,
 maxN=N1,side="two-sided")
 osv$ssize	##first sample sizes to reach desired power
 osv$power	##calculated power for each sample size
 osv$crit.vals	##calculated critical value for each sample size

Sample Size Calculations for Two-Sample Microarray Experiments

Description

Calculates appropriate sample sizes for two-sample microarray experiments for a desired power. Sample size calculations are performed at controlled false discovery rates, user-specified proportions of non-differentially expressed genes, effect size, and standard deviation. A graph of power versus sample size is created.

Usage

ssize.twoSamp(delta, sigma, fdr = 0.05, power = 0.8, pi0 = 0.95, maxN = 35,
side = "two-sided", cex.title=1.15, cex.legend=1)

Arguments

delta

the common difference in mean expressions between the two samples for all genes

sigma

the common standard deviation of expressions for all genes

fdr

the false discovery rate to be controlled

power

the desired power to be achieved

pi0

a vector (or scalar) of proportions of non-differentially expressed genes

maxN

the maximum sample size used for power calculations

side

options are "two-sided", "upper", or "lower"

cex.title

controls size of chart titles

cex.legend

controls size of chart legend

Details

The true difference between mean expressions of the two samples as well as the standard deviations of expressions are assumed identical for all genes. See the function ssize.twoSampVary for sample size calculations with varying differences between sample mean expressions and standard deviations among genes.

If a vector is input for pi0, sample size calculations are performed for each proportion.

Value

ssize

sample sizes (for each treatment) at which desired power is first reached

power

power calculations with corresponding sample sizes

crit.vals

critical value calculations of two-sample t-test with corresponding sample sizes

Note

Powers calculated to be 0 may be negligibly conservative.

Critical values calculated as ‘NA’ are values >20.

Running this function with the side option of "lower" will possibly result in multiple warnings. Calculating the probability that an observation is less than the negative critical value under a t-distribution with non-centrality parameter delta/sigma (see argument section above) and the appropriate degrees of freedom is a calculation that is performed many times while the function runs. When the difference between the critical value and delta/sigma is large, this probability is virtually zero. This happens repeatedly while the function optimize finds the appropriate critical value for each sample size. Because of this, the function pt outputs a value <1e-8 in addition to a warning of “full precision not achieved”. This has no impact on the accuracy of the resulting calculations of sample size.

Author(s)

Megan Orr megan.orr@ndsu.edu, Peng Liu pliu@iastate.edu

References

Liu, Peng and J. T. Gene Hwang. 2007. Quick calculation for sample size while controlling false discovery rate with application to microarray analysis. Bioinformatics 23(6): 739-746.

See Also

ssize.twoSampVary, ssize.oneSamp, ssize.oneSampVary, ssize.F, ssize.Fvary

Examples

 ##See Figure 1.(a) of Liu & Hwang (2007)
 d<-1		##difference in differentially expressed genes to be detected
 s<-0.5  	##standard deviation
 a<-0.05	##false discovery rate to be controlled
 pwr<-0.8	##desired power
 p0<-c(0.5,0.9,0.95)	##proportions of non-differentially expressed genes
 N<-20		##maximum sample size for calculations

 ts<-ssize.twoSamp(delta=d,sigma=s,fdr=a,power=pwr,pi0=p0,maxN=N,side="two-sided")
 ts$ssize	##first sample sizes to reach desired power for each proportion of
			 ##non-differentially expressed genes
 ts$power	##calculated power for each sample size
 ts$crit.vals	##calculated critical value for each sample size


Sample Size Calculations for Two-Sample Microarray Experiments with Differing Mean Expressions and Standard Deviations Among Genes

Description

Calculates appropriate sample sizes for two-sample microarray experiments in which the differences between mean treatment expression levels (delta.g for gene g) as well as standard deviations vary among genes. Sample sizes are determined based on a desired power, a controlled false discovery rate, and user-specified proportions of non-differentially expressed genes. A graph of power versus sample size is created.

Usage

ssize.twoSampVary(deltaMean, deltaSE, a, b, fdr = 0.05, power = 0.8, pi0 = 0.95,
maxN = 35, side = "two-sided", cex.title=1.15, cex.legend=1)

Arguments

deltaMean

location (mean) parameter of normal distribution followed by each delta.g

deltaSE

scale (standard deviation) parameter of normal distribution followed by each delta.g

a

shape parameter of inverse gamma distribution followed by variances of genes

b

scale parameter of inverse gamma distribution followed by variances of genes

fdr

the false discovery rate to be controlled

power

the desired power to be achieved

pi0

a vector (or scalar) of proportions of non-differentially expressed genes

maxN

the maximum sample size used for power calculations

side

options are "two-sided", "upper", or "lower"

cex.title

controls size of chart titles

cex.legend

controls size of chart legend

Details

Each delta.g is assumed to follow a Normal distribution with mean specified by deltaMean and standard deviation specified by deltaSE. The variances among genes are assumed to follow an Inverse Gamma distribution with shape parameter a and scale parameter b.

If a vector is input for pi0, sample size calculations are performed for each proportion.

Value

ssize

sample sizes (for each treatment) at which desired power is first reached

power

power calculations with corresponding sample sizes

crit.vals

critical value calculations with corresponding sample sizes

Note

Numerical integration used in calculations performed by the function integrate, which uses adaptive quadrature of functions.

Powers calculated to be 0 may be negligibly conservative.

Critical values calculated as ‘NA’ are values >20.

Running this function may result in many warnings. Probabilities under different t-distributions with non-zero non-centrality parameters are calculated many times while the function runs. If these probabilities are virtually zero, the function pt outputs a value <1e-8 and outputs a warning of “full precision not achieved”. These values have no impact on the accuracy of the resulting calculations.

Author(s)

Megan Orr megan.orr@ndsu.edu, Peng Liu pliu@iastate.edu

References

Liu, Peng and J. T. Gene Hwang. 2007. Quick calculation for sample size while controlling false discovery rate with application to microarray analysis. Bioinformatics 23(6): 739-746.

See Also

ssize.twoSampVary, ssize.oneSamp, ssize.oneSampVary, ssize.F, ssize.Fvary

Examples

 ##See Figure 3.(a) of Liu & Hwang (2007)
 dm<-2; ds<-1	##the delta.g's follow a Normal(2,1) distribution
 alph<-3; beta<-1	##the variances of genes follow an Inverse Gamma(a,b) distribution
 a2<-0.05	##false discovery rate to be controlled
 pwr2<-0.8	##desired power
 p0<-c(0.90,0.95,0.995)	##proportions of non-differentially expressed genes
 N1<-35		##maximum sample size to be used in calculations

 tsv<-ssize.twoSampVary(deltaMean=dm,deltaSE=ds,a=alph,b=beta,fdr=a2,power=pwr2,pi0=p0,
 maxN=N1,side="two-sided")
 tsv$ssize	##first sample size(s) to reach desired power
 tsv$power	##calculated power for each sample size
 tsv$crit.vals	##calculated critical value for each sample size