/// <summary>
/// Estimates the number of samples necessary to attain the
/// required power level for the given effect size.
/// </summary>
///
/// <param name="sampleSize">The number of observations in the sample.</param>
/// <param name="power">The desired power level. Default is 0.8.</param>
/// <param name="alpha">The desired significance level. Default is 0.05.</param>
/// <param name="hypothesis">The alternative hypothesis (research hypothesis) to be tested.</param>
///
/// <returns>The required number of samples.</returns>
///
public static ZTestPowerAnalysis GetEffectSize(int sampleSize, double power = 0.8, double alpha = 0.05,
OneSampleHypothesis hypothesis = OneSampleHypothesis.ValueIsDifferentFromHypothesis)
{
var analysis = new ZTestPowerAnalysis(hypothesis)
{
Samples = sampleSize,
Size = alpha,
Power = power,
};
analysis.ComputeEffect();
return(analysis);
}