On CRAN submitted 2024-03-18.
- Bug fixed in
CI.BE()
regarding cases with onlyNtotal
given.
- Function
shadowtext()
lifted from packageTeachingDemos
and recoded sinceTeachingDemos
was orphaned (request of Brian Ripley). Orphaned status later on abandoned but nevertheless the recoded function used furthermore. - Updated the RSABE-vignette and the Man page of
sampleN.scABEL()
to reflect the GCC guidelines (Version 3.1 of 10 August 2022). - Example results in man pages of functions
power.2TOST()
andSampleN.2TOST()
corrected.
- Argument
p.level
in functionpower.TOST.sds()
introduced to make the significance level of the group-by-treatment interaction test variable. Was former hard coded to 0.1. - The name of functions dealing with the FDA methods for NTID are now without the acronym FDA
in their names since the evaluation methods requested by the FDA are also required by China CDE.
These functions are
power.NTID()
,sampleN.NTID()
, andpa.NTID()
.
See NEWS underPowerTOST 1.5-4
.
Never on CRAN, only a development version.
On CRAN 2022-02-21.
- Incomplete HTML-entities in 3 man pages corrected (request of Kurt Hornik).
- Fix in
power.TOST()
w.r.t vectorization ofCV
ortheta0
.
- Functions dealing with the FDA method for NTID have now aliases without FDA in their names since the evaluation methods requested by the FDA are also required by China CDE.
The aliases are
power.NTID()
,sampleN.NTID()
, andpa.NTID()
. The functionspower.NTIDFDA()
,sampleN.NTIDFDA()
, andpa.NTIDFDA()
are deprecated and will be removed in the next release.
- Example with vectorized
sampleN.TOST()
added to vignette ABE; vignette PA adapted topa.NTID()
. - URLs in README and man pages updated.
- Coefficients with more decimals (15) for the 10-point Gauss quadrature in function
tfn()
. Thanks to PharmCat for contributing them. - Clarification of the calculations with
gmodel = 1
in the man page section Details of functionpower.TOST.sds()
.
On CRAN 2021-01-18
scABEL.ad()
andsampleN.scABEL.ad()
adapted to deal withregulator = "GCC"
. Man pages, README, and RSABE-vignette updated accordingly.- Regulator "GCC" introduced (GCC = Co-operation Council for the Arab States of the Gulf). The GCC evaluation framework for HVD / HVDP is/can be
treated as a special case of ABEL, i.e., use the regulatory settings with
power.scABEL()
orsampleN.scABEL()
.
On CRAN 2020-10-27.
stringsAsFactors = FALSE
in example of main vignette for R <4.0.0.
On CRAN 2020-10-22.
- Check of arg
theta0
within rangetheta1 ... theta2
fixed. - Fix of the default settings of
theta1, theta2
if missing in various functions. - Added
emmeans
toSuggests
. OtherwiseNOTE
on r-devel-linux-x86_64-fedora-clang. THX to Gábor Csárdi and Duncan Murdoch @r-pkg-devel. Will be required in R4.1.0 released next year.
- Added example for statistical assurance to the ABE-Vignette.
- More checks of CV and theta0 vectorized input to power.TOST(). Only one argument may be a vector.
- Unified man pages of
sampleN.*
: Always estimation instead of calculation. References added for Fieller’s CI. - More examples in
README
. - Changed http(s) locations of References according to R CMD check.
- Cosmetics in Vignettes. Added examples for
logscale = FALSE
to the ABE-Vignette.
On CRAN 2020-08-09. (Maintenance release dedicated to 70 birthday of Detluuu)
- Bug fix in
scABEL.ad
w.r.t. coercion. - Fix of the link to package
emmeans
in man pages of expected power. - Fix in Example 1 of
ABE.Rmd
(not a good idea to assign a variable with the same name as a function).
- Pre-compiled RSABE-Vignette.
- Highlight clarification about total sample size in vignettes.
- Removed links to man pages in vignettes (they work in the library but not in the public ones on CRAN).
- Moved
tufte
from Imports to Suggests (Duncan Murdoch @r-pkg-devel). - Harmonize default value of
theta1
inpvalue.TOST
in case oflogscale = FALSE
- Clarification of argument
CV
(andtheta0
,theta1
,theta2
) in case oflogscale = FALSE
. - Clarify in man pages and vignettes that all functions return the total sample size (and not subjects/sequence in crossovers and subjects/group in parallel designs -- like in some other software packages). Suggested by Amandine Schmutz.
On CRAN 2019-12-19. (Xmas gift)
- Fix in
power.dp()
w.r.t. setting argumentCVb
if missing in case ofdesign="IBD"
. - Fix in
scABEL.ad()
:reg$name
instead ofregulator
. - CV in 4th panel of
pwrA_S3methods.R
to the same precison like in the others. - Fix in
power.TOST.sds()
forgmodel=1
, case ofgmodel=3
with data of the largest group (group by treatment interaction significant at p=0.1)
- (Pre-compiled) vignettes.
- Imports package
tufte
for nice quotes in Rmarkdown. - Slightly enhanced man pages of
power.dp()
andsampleN.dp()
w.r.t. the value ofCVb
in case ofdesign="IBD"
. - Cosmetics in output of
sampleN.noninf
based onmargin
. - Reworked minimum sample sizes in
pa.scABE.R()
according to guidances. Generally 12 (as before) but 24 for the FDA. Also 24 for the EMA if2x2x3
design (Q&A document). ChangedN
ton
in the S3-methods in conformity with other functions.
On CRAN 2019-08-29.
scABEL.ad()
,sampleN.scABEL.ad()
:CVwT
was not given in output ifCV
was a vector.- In
scABEL.ad.R
regulator
wasNULL
. Corrected toreg$name
. - Smaller font in 4th screen of
pwrA_S3methods.R
ofpa.NTID()
(more lines required). Plain font instead of bold in main. - Broken FDA URL in many man pages corrected.
- In
expsampleN.noninf()
wrt operator&&
with vector arguments (new check in R 3.6.0). CI.RatioF()
fixed. Thanks to Michael (mittyri).
- New function
sampleN.RSABE2L.sdsims()
for sample size estimation via subject simulations for the ‘exact’ method of Tóthfalusi & Endrényi “Algorithms for evaluating reference scaled average bioequivalence: power, bias, and consumer risk”. - New function
sampleN.scABEL.sdsims()
for sample size estimation for ABEL via subject simulations. Useful in case of assumed heteroscedasticity in the partial replicate design (TRT|RTR|RRT). NEWS.md
instead ofNEWS
.README.md
(knitted fromREADME.Rmd
).- Function
power.TOST.sds()
to simulate subject data & evaluate via models with group effect implemented. - Unified Code base for the scaled ABE functions.
- LaTeX-builder on CRAN laments about UTF-8 characters in man-pages. No problem rendering the PDF-manual locally! Replaced all UTF-8 characters by
\enc{foo}{bar}
. - In
power.scABEL()
: Ifnsims
not given, defaults to 1e5 (like before). Iftheta0
equals one of the expanded limits, defaults to 1e6. Man-page updated. - Output of
sampleN.TOST()
: Same name of replicate designs like in the scaled functions. - In
power.scABEL()
name of scaled component"p(BE-ABEL)"
instead of"p(BE-wABEL)"
. - Updated
test_ABEL.R
ininst/tests
to support subject simulations. power.scABEL()
: More informative warning about heteroscedasticity in the partial replicate design (use ofpower.scABEL.sdsims()
suggested).- Add/subtract
.Machine$double.eps
ifrho
is -1 or +1 given inpower_type1_2TOST.R
(similar tosampleN_2TOST_sim.R
). Removed warning in the latter function. Less confusing for users and the example in the man-page looks nicer. - Man pages reworked.
On CRAN 2018-04-12 (dedicated to the birthday of Alfie Schütz. :-)
- Correction in functions using expected power.
- Function
type1error.2TOST()
no longer available since it suffers from insufficient precision to obtain the type 1 error (TIE) via simulations. Due to the intersection-union principle the TIE is always upper bounded to alpha by theory. - Function
power.2TOST()
based on simulations to obtain the power of 2 TOSTs (statistical flaw in 4-dimensional t-distribution approach).sampleN.2TOST()
and man page adapted according to this change. - Argument
regulator="FDA"
implemented inscABEL.ad()
. - New function
power.RSABE2L.sds()
which implements the 'exact' based method for RSABE (ncTOST) of the two Lászlós. Documentation included.
On CRAN 2017-08-17.
- Functions relying on simulations if
nsims > 1e7
.
- Functions
CVwRfromU()
/U2CVwR()
to calculate CVwR from the upper expanded limit of an ABEL study according to the EMA’s or Health Canada’s rules. - Power and sample size for TOST: Argument
alpha
restricted to scalar. Internal functions now allow length = 2 (different alphas for the two null hypotheses). - Deprecated argument
dfCV
in expected power functions completely removed.
- Man-pages for non-inferiority again updated.
- Data lazy loading (allows access by the name).
On CRAN 2017-05-19.
power.scABEL.sdsims()
fixed which gavepower=NA
ifalpha=0
.- Correction in
sampleN.scABEL.ad()
if pre-specified alpha gives TIE <0.05. - Small bug in the S3 method plot for class
'pwrA'
corrected (text in the 4th screen was truncated on top if saved as a PDF). Replacedtext()
byTeachingDemos::shadowtext()
to enhance legibility (interfered with underlying grid before).
- Two new test scripts in
/test
subdirectory added:test_ABEL.R
andtest_RSABE.R
which recalculate the sample size tables given in Tóthfalusi & Endrényi “Sample Sizes for Designing Bioequivalence Studies for Highly Variable Drugs”. Contributed by Helmut. power.scABEL.sdsims()
now has an argumentdesign_dta
to specify the design via a data.frame. May be useful for considering missing data.
Attention! This feature is experimental because the data.frame is currently not checked.- Updated functions
scABEL.ad()
andsampleN.scABEL.ad()
to allow subject data simulations viapower.scABEL.sdsims()
ifregulator = "EMA"
. Removedregulator = "ANVISA"
. Changed the order of sequences to be consistent with the other functions of PowerTOST. - Removed
regulator = "ANVISA"
frompa.scABE()
.
- Man-pages for non-inferiority functions updated to include a description of the underlying hypotheses.
- Remaining man-pages updated where term
'Null (true) ratio'
was mentioned instead of'True ratio'
. - Internal change of coding in design helpers (repeated creation of data.frame with design characteristics avoided).
- Typo corrected in
Expected_Power_for_TOST.pdf
. - Renamed the variable
'adj. alpha'
insampleN.scABEL.ad()
to'alpha.adj'
for consistency withscABEL.ad()
.
On CRAN 2017-03-15.
- Use of removed functions
power.scABEL2()
andsampleN.scABEL2()
inpa.scABE()
corrected.
- Added function
power.scABEL.sdsims()
to calculate power for the BE decision via scaled (widened) BE acceptance limits (EMA recommended) based on subject data simulations. - Removed default
CV = 0.3
fromscABEL.ad()
andsampleN.scABEL.ad()
. Stops execution if CV not specified.
- Administrative change for expected power:
cubature::adaptIntegrate
replaced bycubature::hcubature
to reflect change of function name within package cubature. - Low CV (cosmetic) correction in
power.scABEL()
introduced. - DOI for references added in many man-pages. THX to Helmut.
- Ben’s description of expected power added in
/doc
subdirectory. BE_power_sample_size_excerpt.pdf
updated to reflect the changes in computation of OwensQ.
On CRAN 2016-11-01.
- Little bug in
power.TOST()
removed which caused power <0 for large degrees of freedom. - Little inconsistency resolved (by Helmut) in output of power analysis functions w.r.t. ratio or percent. Thanks to user myttiri of the BEBA forum for pointing out this inconsistency.
- Functions for expected power of the TOST procedure and sample size based on expected power reworked to deal also with uncertainty of theta0 or dealing with both uncertainties of CV and theta0. Contributed mainly by Benjamin Lang.
- Deprecated functions
power.scABEL2()
andsampleN.scABEL2()
removed. regulator = "ANVISA"
no longer allowed in the scaled ABEL functions.OwensQ()
simpler/faster implemented. Now based solely on numerical integration in combination with non-central t.- Owen’s T-function, used in
OwensQOwen()
now based on algorithm AS76 and remarks to that algorithm to avoid numeric errors of the implementation viaintegrate()
.
- Data.frame
ct9.6.6
indata("data2x2x3")
added which was missing since a long time ago.
On CRAN 2016-07-14.
- Minor bug in
sampleN.2TOST()
fixed.
- Deprecated argument
point
in functionsCI2CV()
/CVfromCI()
removed.
Implementation_scaledABE_sims.pdf
in/doc
subdirectory updated to reflect changes in code of the scaled ABE functions.- The S3 method plot for class
'pwrA'
now has an argumentratiolabel
for labeling the axis concerning theta0. Wish of Benjamin Lang. - Various enhancements in man-pages.
- Power and sample size for FDA RSABE now take into account a CVcap if defined as finite.
- Misleading term
'Null (true) ratio'
in output of sample size functions changed to'True ratio'
.
Published on GitHub 2016-06-14.
- Objects of class
'regSet'
have an additional component'est_method'
which controls the simulations via key statistics of the evaluation using the EMA’s ANOVA or the FDA’s recommended ISC inxyz.scABEL()
functions. power.scABEL()
/power.scABEL2()
as well assampleN.scABEL()
/sampleN.scABEL2()
are now unified. The regulator component'est_method'
is used for switching between simulations based on the EMA’s ANOVA evaluation or ISC evaluation, respectively.
power.scABEL2()
/sampleN.scABEL2()
are therefore deprecated and will be removed in future versions. A corresponding warning is thrown.
- URL of PowerTOST on GitHub added, URL for bug reports added to
DESCRIPTION
.
Published on GitHub 2016-06-10.
- In functions
scABEL.ad()
andsampleN.scABEL.ad()
if former argumentregulator="ANVISA"
settings are used.
On CRAN 2016-06-06.
Released to beta-testers 2016-05-04.
- Functions for power and sample size of BE decision of highly variable drugs or drug products via ABEL (average BE with expanding limits) updated to incorporate the regulatory settings of Health Canada (new functions
power.scABEL2()
andsampleN.scABEL2()
based on simulations of intra-subject contrasts evaluation). - The same functions now accept as regulator argument an object of class
'regSet'
and allow via this way User definitions of regulatory settings. - New function
reg_const
made visible to define objects of'regSet'
. Class'regSet'
has an S3 print method.
- Default value of argument
theta0
in functionspower.scABEL()
,power.scABEL2()
andpower.RSABE()
changed to 0.90 to be in agreement with the setting in the corresponding sample size functions. - Function
scABEL()
(calculation of widened acceptance limits) no longer acceptsregulator="USER"
. This case may be handled via an object with class'regSet'
, as defined by help of functionreg_const()
. - Functions
CVfromCI()
/CI2CV
now usepe
instead ofpoint
as argument due to more consistency with their dualCI.BE()
. For backward compatibilitypoint
may be used also but then a warning is thrown. Argument point will be removed in future versions. - Functions for expected power for TOST and non-inferiority updated to avoid numeric dificulties with
integrate()
ifmethod="exact"
. - Documentation (typos in man-pages) rigorously enhanced. Thanks to Helmut and Ben.
On CRAN 2016-04-12.
- plot method of
'pwrA'
objects reworked by Helmut Schütz to avoid some ugly overlays.
- Functions for expected power for TOST and non-inferiority updated (including corresponding sample size functions). Functions now include an exact method which calculates the expected value of the power with respect to the (prior) distribution of σ2 (inverse Γ distribution). Formerly only an approximation according to Julious/Owen was implemented. Contributed by Benjamin Lang.
- The functions for iteratively adjusting alpha for the EMA recommended ABEL method now have a new argument
tol
for convergence tolerance of the internally useduniroot()
. It was formerly hardcoded astol=1e-5
. Contributed by Helmut Schütz.
On CRAN 2016-03-09.
- In all sample size estimation functions for scaled ABE which resulted in
NA
for sample size for very low variability. Thanks to Shuanghe for detecting this bug.
- All functions for scaled ABE now have an argument
imax=100
for the maximum number of steps for sample size search. Wish of Helmut Schütz.
On CRAN 2016-01-15.
Released 2016-01-04 to alpha testers.
- New functions
scABEL.ad()
andsampleN.scABEL.ad()
to iteratively adjust α in order to control the consumer risk and adapt the sample size to compensate for a potential loss in power with the EMA method of scaled ABE (ABEL). Contributed by Helmut Schütz.
- Default
theta0
changed to 0.9 in sample size estimation for scaled ABE (as recommended by the two Lászlós).
On CRAN 2015-12-02.
- New functions for calculation of power, type 1 errror and sample size for 2 TOST instances. Contributed by Benjamin Lang.
On CRAN 2015-09-30.
Released 2015-09-23 to alpha testers.
- New functions
power.HVNTID()
andsampleN.HVNTID()
introduced to calculate power and sample size for the BE decision via the FDA procedure for highly variable NTIDs (see the FDA’s dabigatran / rivaroxaban guidances).
power.HVNTID()
andpower.NTIDFDA()
now return the power (p(BE)
) and the components for the scaled ABE criterion, the conventional ABE test and the test for the ratio swT/swR <= 2.5 if the argumentdetails=TRUE
(wish of Helmut Schütz).power.RSABE()
now returns the power (p(BE)
) and the components for the scaled ABE criterion, for the point estimate criterion and for the conventional ABE test alone if the argumentdetails=TRUE
. Analogous changes were made inpower.scABEL()
. See man-pages.
On CRAN 2015-08-26.
power.TOST()
withmethod="exact"
reworked to give correct values in casealpha>0.5
.OwensQOwen()
adapted to deal with upper integration limitR==Inf
.
- New power calculation method introduced: Direct integration of the bivariate non-central t-distribution (
pmvt()
of packagemvtnorm
), also an exact calculation method but with somewhat lower precision and longer run-time. Contributed by Benjamin Lang. - New function
power.TOST.sim()
to obtain the power via simulations of the TOST. Only intended for checking purposes.
On CRAN 2015-07-10.
- Maintenance release with
NAMESPACE
adapted to import the necessary functions from base R installation (CRAN request). power.NTIDFDA()
andsampleN.NTIDFDA()
now have an design argument to choose between"2x2x4"
(full replicate 4-period) and"2x2x3"
(full replicate 3-period design).- Some minor documentation improvements.
On CRAN 2015-06-03.
- Functions
power.scABEL()
andsampleN.scABEL()
now allow the power and sample size calculations for scaled ABEL according to the (inofficial) regulatory settings of Brasilian ANVISA (argumentregulator="ANVISA"
). - Function pa.scABE() also allows
regulator="ANVISA"
. - New helper function
scABEL
for calculation of the (widened) ABE acceptance limits. - Deprecated function
power2.TOST()
removed.
On CRAN 2015-01-23.
- Function
power.TOST()
now handles balanced as well as unbalanced studies. Functionpower2.TOST()
is therefore deprecated and will be removed in later versions.
- Internal change in interface to the (hidden) 'raw' power functions (sem used in function calls instead of se, n, bk).
BE_power_sample_size_excerpt.pdf
in subdirectory/doc
changed to reflect the internal changes.
On CRAN 2015-01-07.
- Bug in
OwensQOwen()
removed (debug code left over), THX to Helmut for discovering this.
- Function
CVfromCI()
and aliasCI2CV()
now handle unbalanced studies. Contributed by Benjamin Lang. - Typos in
BE_power_sample_size_excerpt.pdf
(discovered by Ben) corrected.
On CRAN 2014-12-19.
- Bug in
OwensT(h, a)
for the case ofa=-Inf
removed. Thanks to Benjamin Lang for discovering that nasty bug.
- Function
pvalue.TOST()
introduced to calculate the two p-values of the TOST procedure. Contributed by Benjamin Lang.
- Functions
power.noninf()
,exppower.TOST()
,exppower.noninf()
adapted to deal with unbalanced studies.
On CRAN 2014-11-13.
- Minimum sample size in
sampleN.dp()
introduced to avoid errors with small CV (<= 0.1) for the crossover design.
- Functions
power.dp()
/sampleN.dp()
cover "incomplete block designs". - Liu’s 2x2x2 design with 2 repeated measurements in each period added (see
?known.designs
under Notes).
- Partitition of n(total) to (sequence) groups reworked in most power functions if design is unbalanced.
On CRAN 2014-10-06.
- Functions
pa.XYZ()
adapted so that they also work under R < 3.1.1 (request of Uwe Ligges of CRAN) although withminpower >= 0.5
.
On CRAN 2014-09-30.
- Some minor bugs removed and spelling in man-pages corrected.
- Print method for class
pwrA
now callsplot()
. - Power analysis in case of n=12 for the plan now drops n below 12 subjects.
Build 2014-09-19, released to alpha/beta testers only.
- Functions for power analysis of a sample size plan for ABE (
pa.ABE()
), scaled ABE (pa.sABE()
) and scaled ABE for NTIDs (pa.NTIDFDA()
) analyzing power for deviations from assumptions for the sample size estimation. - Experimental functions for power calculations / sample size estimation for dose proportionality studies using the power model.
On CRAN 2014-08-12.
- Design constant
bk(ni)
fordesign="paired"
corrected. THX to Helmut Schütz who detected this bug.
On CRAN 2014-07-02.
- Improvements in documentation.
- Function
power.TOST()
now throws a warning if used with imbalanced designs (n not an even multiple of the number of sequences). - Internal change of start value of sample size search in
sampleN.TOST()
to avoid failed searches if variability is high and theta0 is close to 1.
On CRAN 2014-04-30.
- Utility function added which calculates 1–2α confidence interval(s) given point est., CV and n using log-tansformed evaluation.
- Utility function added which calculates 1–2α Fieller confidence interval(s) given point est., CV (, CVb) and n for the ratio of untransformed means.
On CRAN 2014-01-31.
- Bug removed where noncentrality parameters in the power calculations became
NaN
(not a number).
- The package is now pre-compiled to 'byte code' via the compiler package for speed reasons. F.i.
OwensQOwen()
gains a sixfold speed boost. - Some bulk code changes to make the power calculations for extreme cases more bullet proof without computation time burden.
OwensQ()
now tries to return a value via nct-approximation if its value is due to numeric difficulties falsely equal zero. This approximation is up to 6 decimals correct as far as tested.OwensQ()
issues a warning if the nct-approximation is used.
- Improvements in documentation (man-pages and *.pdf) to reflect the code changes.
Build 2014-01-03, not released to the public.
OwensQ()
now usesOwensQOwen()
in case of high delta and/or high upper integration limit. Thus extreme cases can be handled properly where the former implementation viaintegrate()
was prone to fail. Thanks to Jiři Hofmann and Helmut Schütz for pointing me to such extreme cases.
On CRAN 2013-12-27.
- Date typos in the history (
NEWS
) corrected from PowerTOST 1.1-00 on. THX to Julien Grassot.
CVfromCI()
now accepts either both CLs or one CL and the point estimate. Contributed by Helmut Schütz.power.RatioF()
andsampleN.RatioF()
now have an argumentsetseed=TRUE
which avoids the dependence of the power from the state of the random number generator (due to the calculation method ofpmvt()
of packagemvtnorm
). Thanks to Benjamin Lang.
On CRAN 2013-09-02.
design="2x2x3"
(TRT|RTR) implemented inpower.scABEL()
,sampleN.scABEL()
and inpower.RSABE()
,sampleN.RSABE()
.
power.scABEL()
now throws a warning if CVwT ≠ CVwR in the design"2x3x3"
(partial replicate).- Simulation details for the full replicate design slightly changed to obtain better numeric agreement of power to subject data sims.
On CRAN 2013-06-21.
- Fat bug corrected in
sampleN.NTIDFDA()
which lead to false sample size for cases where the test of equal variabilities of Test vs. Reference comes into effect.
On CRAN 2013-06-17.
- Flaw in sample size search corrected which does not indicate a failed search (
n=NA
) if started with a too high n. Thanks to Helmut Schütz.
- Functions
sampleN.scABEL()
,sampleN.RSABE()
andsampleN.NTIDFDA()
return a data.frame with the input and the sample size result. The"Sample size"
column contains the total sample size. The"nlast"
column contains the last n value handled. Might be useful for restarting.
- Start values for sample size search in functions
sampleN.scABEL()
,sampleN.RSABE()
reworked. Failed sample size searches are now more seldom observed.
Build 2013-05-15, relased to alpha testers only.
- Functions
power.NTIDFDA()
andsampleN.NTIDFDA()
introduced to calculate power and sample size for the BE decision via the method of the FDA for narrow therapeutic index drugs (NTIDs, for details see the FDA’s warfarin guidance). Power and sample size are based on simulations.
On CRAN 2013-05-03.
- Flaw in implementing simulations of
"2x3x3"
design with different intra-subject variabilities in functionspower.RSABE()
andsampleN.RSABE()
as well as in functionspower.scABEL()
andsampleN.scABEL()
corrected.
- Methods and implementation details of the simulations for scaled ABE documented in a PDF file in the
/doc
subdirectory of the package. - Simulation method for the EMA scaled ABEL changed to conform better with power values from simulations via subject data.
- Warning section in the help file of
power.scABEL()
introduced to reflect the fact that simulations via subject data and via the methods implemented inpower.scABEL()
gave empirical power values that are only approximately in agreement.
On CRAN 2013-02-28.
- Functions
power.RSABE()
andsampleN.RSABE(
) introduced to calculate power and sample size for the BE decision via linearized scaled ABE criterion as favored method of the FDA. Power and sample size are based on simulations.
Default ofnsims
changed to 1E5 (suggested by Helmut Schütz).
- Argument
setseed
introduced in the scaled ABE functions to avoid different outcomes depending on the state of the (pseudo) random number generator. Ifsetseed=TRUE
aset.seed(123456)
is issued prior to each call of the simulation functions. - Documentation improved.
On CRAN 2013-02-08.
- Functions
power.scABEL()
andsampleN.scABEL()
introduced to calculate power and sample size for the BE decision via scaled (widened) BE acceptance limits based on simulations. Thanks to Helmut Schütz on the BEBA Forum for power testing these functions.
Not released, integrated in 1.1-00
- Upper one-sided CL of the CV and therefore argument
alpha2
removed fromexpsampleN.noninf()
andexpsampleN.TOST()
because it lead to some confusion in users thinking this had to do with the algorithm via expected power.
CI2CV()
as alias toCVfromCI()
introduced because myself always typed this name if aimed to calculate the CV from a given CI.- Function
CVCL()
now returns a 2-element vector also if an one sided interval is requested.
On CRAN 2012-10-26.
- Bugfix in
power.noninf()
to get the correct power iftheta0
is belowmargin
(ifmargin <1
) ortheta0
is abovemargin
(ifmargin >1
).power.noninf()
calculated up to now the power of an inferiority test. Thanks to Helmut Schütz.
- New helper functions
CV2mse()
andmse2CV()
. - New function
CVCL()
to calculate a confidence interval of a CV.
On CRAN 2012-08-07.
- In
power.TOST()
,power2.TOST()
andpower.noninf()
to use the correct degrees of freedom depending on argumentrobust
.robust=FALSE
wrongly used the robust dfs. Thanks to Ben.
On CRAN 2012-07-20.
- In internal function
.Q.integrand()
. - In
nmin
- has to be a multiple of steps to assure balance in sequence groups.
Again thanks to Helmut Schütz for detecting both.
On CRAN 2012-07-18.
- Workaround introduced to handle numeric problems in
integrate()
ifCV<5.3E-6
. Thanks to Helmut Schütz.
- Minimum sample size adapted to design used (f.i.
n=2
ifdesign="paired"
).
On CRAN 2012-04-05 (Easter egg).
- Functions added for 'expected' power and sample size calculations based on it for the non-inferiority test for sake of completeness.
- Functions
CVpooled()
,exppower.TOST()
andexpsampleN.TOST()
now also implemented forlogscale=FALSE
, i.e., contain this argument in their calls. - Function
OwensQOwen()
made public. This is an implementation of the algorithm given by Owen in the original paper (Biometrica 1965) via repeated integration by parts.
This function is only for comparative purposes. - Function
OwensT()
made public. It is needed internally inOwensQOwen()
but may be useful for other purposes.
On CRAN 2012-03-26.
- PowerTOST 0.9-7 is a small bug fix of PowerTOST required by CRAN. It contains the old release number 0.9-6 in the package man-page.
- Functions added for power and sample size calculations based on non-inferiority t-test. This is not a TOST procedure but eventually useful if the question of 'non-superiority' within a BE study must be evaluated.
Hint: Evaluation of Fluctuation in the EMA MR NfG (1999) between modified release formulation and immediate release product.
On CRAN 2012-03-05.
- Little bug in
sampleN.TOST()
removed which causes extra doubled output of n and power ifn=4
. Thanks to Ben on the BEBA Forum.
On CRAN 2012-02-13.
- Bug in
power.TOST()
removed which prevented calculation of power according tomethod = "exact"
.
- Sample size tables for replicate design
"2x2x3"
in/data
sub-directory added. - Sample size tables for replicate design
"2x4x4"
in/data
sub-directory added. - Scripts in the
/test
sub-directory made public.
On CRAN 2011-12-24.
- Function
power2.TOST()
added to allow power calculations for studies with unbalanced (sequence) groups. - Argument
exact
replaced bymethod
inpower.TOST()
,sampleN.TOST()
. See help for these functions. - Attention! The sample size for the parallel group design is now the total sample size (to be consistent across all functions).
- Sample size tables added for the
"2x2"
crossover and for the"parallel"
group design to alleviate validation/qualification of the package.
Seedata(package="PowerTOST")
. - Scripts added in the
/test
sub-directory that create the sample size tables from the data section. - Updated
BE_power_sample_size_excerpt.pdf
in the/doc
sub-directory.
On CRAN 2011-12-15.
- Paired means design introduced.
'robust'
argument added to nearly all functions.
Withrobust=TRUE
the degrees of freedom for the so-called robust evaluation (df2
inknown.designs()
output) will be used.
This may be helpful if planning is done for higher order designs evaluated via mixed model or via intra-subject contrasts (aka Senn’s basic estimator).- Due to the necessary
NAMESPACE
from R1.4.0 on the internal functions (names starting with.
) are no longer exported.
On CRAN 2011-10-20.
- Problem with slash in \name field of manual resolved (requested by Brian Ripley).
On CRAN 2011-05-18.
- Bug removed which gave incorrect exact power values in case of
alpha>=0.5
(very unusual setting). Thanks again to Craig Zupke.
Cross checked results of power at equivalence margins against SASProc Power
.
On CRAN 2011-05-16.
- Code in Owen’s Q adapted to account for large delta or large
b
leading to integrand function almost zero over the whole range which then gave an error inintegrate()
. Thanks to Craig Zupke.
On CRAN 2011-03-11.
- Number of maximal steps in sample size search in the sample size functions, formerly hard coded as 50, made accessible to users via argument
imax
. Needs to be adapted only in rare extreme cases. - Start value for sample size search improved around
theta0=1
(logscale) ortheta0=0
(untransformed).
On CRAN 2011-01-18.
- In
known.designs()
.
On CRAN 2011-01-10.
- Error in df for
"3x3"
and"4x4"
crossover designs removed.
- Function for pooling CVs of different studies made public. See
?CVpooled
.
On CRAN 2010-11-25.
- Helper function
CVfromCI()
added to estimate the CV from a confidence interval. Useful if no CV but the CI was given in literature.
On CRAN 2010-11-25.
- Input argument
diff
removed fromsampleN.TOST()
,expsampleN.TOST()
,power.TOST()
, andexppower.TOST()
.
- Documentation improved.
On CRAN 2010-08-27.
- Little bug causing warnings in case of the
"2x2"
alias"2x2x2"
design corrected.
On CRAN 2010-08-12.
- Functions added for the power and sample size for the ratio of two means with normally distributed data on the original scale (based on Fieller’s confidence (‘fiducial’) interval).
AFAIK, until now only implemented in the commercial nQuery.
- The argument
diff
(Null ratio / Null diff.) is now namedtheta0
since it was annoying for users to call itdiff
in case of ratios (logscale=TRUE
). The parameterdiff
is still supported but will be removed in the next release. Therefore a warning is thrown ifdiff
is used.
On CRAN 2010-07-21.
- Previously internal hidden functions
.CV2se()
and.se2CV()
made public.
- Some internal code consolidation
- Minor enhancements in help pages, more examples.
- Short documentation of used statistical apparatus
BE_power_sample_size_excerpt.pdf
for classical power / sample size in directory/doc
added.
On CRAN 2010-05-07, first public release.