Published on GitHub 2022-05-02.
item{} discovered by
CRAN pretest.Published on GitHub 2022-05-02.
item{} leading to notes on r-devel-linux.Published on Github 2022-02-12, on CRAN.
r-devel-linux-x86_64-fedora-gcc and
r-devel-linux-x86_64-fedora-gcc). THX to Brian D.
Ripley.method.B(..., print = FALSE, details = TRUE) falsely
A instead of B was given.Published on Github 2021-06-21, on CRAN.
path.out is missing, R’s temporary folder will be
used.regulator "HC" in
method.B() to support Health Canada’s approach (upper cap
of scaling ~57.4%). If alpha = 0.5 only the PE has to lie
within 80.0–125.0% (highly variable Cmax). However, both
option = 1 (Satterthwaite) and option = 3
(Kenward-Roger) are only approximate because Health Canada prefers a
mixed-effects model. THX to Philippe Liége.swT (full replicates), swR (and
swR.rec if outlier(s) are detected) to the data frame of
results (previously only in the result file). Referring to the columns
in examples of man pages, vignette, and testthat.R
adapted.method.A() and ABE() changed the ANOVA
from ‘Type I’ (default) to ‘Type III’ in order to get the correct test
for carryover. Clarified in the vignette.regulator "EMA" (default) or
"GCC" in method.A() and
method.B(). Hence, at least version 1.5.3 of
PowerTOST is required.On CRAN 2021-05-14.
path.out in examples changed from "~/" to
tempdir(). CRAN policy violation noted by Brian D.
Ripley.method.B.R:
options(contrasts = c("contr.treatment", "contr.poly")) is
the default. If a user has set other ones, restore them on exit.Published on Github 2020-07-24, on CRAN.
path.in or path.out (if
print = TRUE | plot.bxp = TRUE) is not given.
Previously the user’s home folder "~/" was automatically
used. Man pages updated accordingly.normalizePath() in get.data.R and
info.env.R for clarity (i.e., the OS-dependent
full path is given in the result-file).graphics.off() from the beginning of
get.data.R. Caused the error in check() where
a PDF is created.plot.bxp = FALSE.Published on Github 2020-04-08, on CRAN 2020-04-09.
DF obtained by
method.B(..., data = rds30, option = 1) from 17.86418 to
17.86417 and reduced tolerance in function
expect_equivalent() of testthat from 5e-7 to
1e-6. Prevents errors with r-devel on Linux and r-patched on Solaris.
Required due to changed default tolerance settings in v.1.1-23 of
package lme4 of 2020-04-07. Not relevant because the CI
passed the test already with the more strict tolerance and in practice
only four to five significant digits (not seven) are required for the
CI. Furthermore, all tests passed with the current release (R3.6.3) on
all operating systems.README.Published on Github 2020-01-09, on CRAN.
ext to lower-case. Mixed-case threw an
error.as.data.frame(read_excel(..., col_names = FALSE, .name_repair = "minimal"))
in get.data(). Since the file may contain a commentary
header, we need col_names = FALSE and construct the names
later (i.e., the default col_names = TRUE is not
possible).verbose = TRUE in all methods:
print(anova(...), digits = 6, signif.stars = FALSE).verbose = TRUE. Added response to verbose-output of
method.B (automatically in method.A).write.csv(rds01, 'rds01.csv', quote = FALSE, row.names = FALSE)
naively uses just write.csv(rds01, 'rds01.csv')).method.B(): rds29 and
rds30 instead of rds18. Satterthwaite DF
(..., option = 1) and Kenward-Roger
(..., option = 3).rds29 (TRTR|TRTR, n=12), rds30 (TRR|RTR|RRT,
n=14). Requested by a reviewer of the manuscript.Published on Github 2019-11-11, on CRAN (carnival release).
README.CV.calc.R when at least one studentized outlier is
detected but no standarized outlier.README.README.Rmd and vignette (THX
to Yihui Xie on r-help for the latter).Published on Github 2019-08-25, on CRAN.
NULL to the user’s
home folder "~/".print(..., , digits = 7) if
verbose = TRUE. More significant digits not needed since
given in the result data frame in full precision anyway.README.Rmd knitted to README.md.Published on Github 2019-07-24, on CRAN.
hyperref.sty
is corrupt or missing (local rendering works on Windows and Linux).
Therefore, on CRAN in the PDF-manual URLs in references are converted to
truncated (i.e., wrong) URLs in footnotes. Notified Uwe
Ligges.na where found (THX to Igor Rubets).README.md included.NEWS.md instead of NEWS.info.data().Published on Github 2019-07-22, on CRAN.
importFrom(pbkrtest, getKR) since error on
win-builder.r-project.org'pbkrtest package required for Kenward-Roger's method' (not
locally!)logtrans = TRUE if a user asks for an internal
dataset which does not have the column logPK.method.B (..., option = 3).get.data() if na-specifier
does not match the data in columns PK and/or
logPK.logPK only in rds01 and
rds02 because given by the EMA. Removed in
rds06, rds12, rds14,
rds18, rds19, rds20,
rds21 (TRTR|RTRR) and rds03,
rds17 (TRT|RTR). Man-pages corrected. Reduces the footprint
of the library by 5%.path.in and/or path.out not given or
specified folder does not exist: Changed cat() to
warning().method.A().suppressMessages() no more needed (vignette and
testthat). Issue originating in rlang and
ggplot2 resolved. Both packages don’t contain a
NEWS file. THX Hadley for leaving us out in the dark!stringsAsFactors = FALSE in res-list of all
methods.options(ow) after models (THX to
DL).method.A() and the vignette.Published on Github 2019-06-14, on CRAN.
on.exit(...)
immediately after changing an option).Published on Github 2019-06-14, on CRAN.
Published on Github 2019-06-12, submitted to CRAN (passed checks at R-release and R-devel).
\list{}{}.
Note that this is discouraged acc. to the R-Extension Manual
2.1.1!\tests for testthat().{\eqn{foo\textsubscript}{bar}} to the simple
{\eqn{foo_{bar}} in two man pages.StartupWarnings seemingly unavoidable until
rlang will be corrected.CV.calc().
Studentized/standardized does not exactly agree with SAS (uses
type = 2 by default).Published on GitHub 2019-05-30.
info.data().get.data() CSV-file: Issue with characters in the
header which were == sep resolved. [MT]get.data() Sub/seq in data frame was empty for complete
sequences.info.env() returned path.out as
path.in.method.A().get.data().
Calculation was correct but output in result-files wrong.nTT was NA in get.data() for
TRTR|RTRT. Now design (full/replicate) is obtained from
info.design().CV.calc(..., ole = TRUE) if an outlier is detected
not in both methods (studentized, standardized).method.B(option = 1) output to file.PowerTOST T is always first. The order is
only relevant in method.A(..., adjust = TRUE) and an
unbalanced RTR|TRT-design. In this case the order of subjects/sequence
is reversed by calling scABEL(..., n = rev(ret$Sub.Seq)).
THX to DL for discovering this bug.repBE) acc. to rlang issue 669.
THX to MT.CHECK disappeared in R 3.6.0. Throws other
ones in examples which change the working directory. Wrapped all
examples in man pages in \dontrun{}.subject (any order is
acceptable). Now the word ‘subject’ is allowed in the header.set can be an empty string "" to
support reading from CSV- files. Only required for XLS (the name of the
sheet) now.fence for box plots instead of the hard-coded
3 as a multiplier of IQR. The default 1.5 in most (all?) software
packages detects a lot of outliers. 3 seems to be too liberal.
The new default 2 is a compromise.TRTR|TRRT|RTTR|RTRT to
TRTR|RTRT|TRRT|RTTR. More logical (stacking sequences of
the other full replicates). Adapted scripts and man pages
accordingly.PowerTOST and the EMA’s Q&A
dataset II.CHECK about undocumented objects.info.data(). THX to DL. Function which.data()
removed.method.A(adjust = TRUE) assesses additionally the
empiric Type I Error based on the recalculated CVwR (if
applicable).TRR.RTT to RTT.TRR for consistency
(R always first).get.data() for such a case.ABE() has new arguments theta1 and
theta2 (defaults 0.80 and 1.25).
Useful for NTIDs (EMA) or wider limits of Cmax (GCC).info.design(). Sorts sequences according
to the preferred order (T first) and throws a message if the design is
untested.lme/lmer).Lazy data: true in DESCRIPTION allows
direct access of objects within data().Released to collaborators 2017-06-24.
sep are lost.method.B(option = 1) cann’t print to file with internal
data.which.data(): ref to rds.
Warnings in CHECK: 'rdsXX' not found.Released to collaborators 2017-06-23.
foo(path.in = path.in, ...) but the
variable path.in is not defined before. Throws
object 'path.in' not found in CV.calc().'descr' was read from an external file and the code
stopped for data not matching the id in which.data().'subject'.path.in the file
browser opens on Windows (other operating systems?).verbose=TRUE the anova was not shown in
ABE().which.data(): returns data frame
'id' of checksum (MD5), file “DS”, set (“01”, … “XX”), ref
(“refXX”), descr. Used in get.data() to obtain required
variables of the currently attached internal data set based on its
MD5-checksum.";" to
"," (more common). Suggested by DL.CV.calc from NAMESPACE. Man-page
not needed any more. THX to DL!subset() in get.data() and
CV.calc() by direct assignment. No need for the hacks any
more.DS.xls and adapted man examples accordingly.
CRAN policy: Data sets should not be larger than 1 MB. BTW, why is the
zip so much larger than the tarball? Before removing DS.xls
their sizes were similar.data(ref02) followed by
print(ABE(details = TRUE, print = FALSE, data = data))
works. Problems: The descriptive header (variable descr)
doesn’t exist in the internal data set as well as its name. Hence, the
same with the default print = TRUE in all functions gives
an error. Stupid: The data set must be chosen outside of the function
call. foo(data = data(ref02)) gives an error.data = NULL (default NULL)
to top-level functions.method.B(): Changed print(anova.lm(modB))
to print(anova(modB)). [DL]NAMESPACE. [DL]\data and the documentation. All data sets
observe the pattern refXX.rda in order to come last in the
man page.Released to collaborators and beta-testers 2016-06-19.
ABEL to replicateBE
since ABE is now supported as well.ABE() for conventional (unscaled)
ABE.\data\ref01.rda (already factorized data frame)
and man page.enf.info(): If path(s) NULL, show
the user’s home folder in the lines Input from and
Output to.Released to collaborators and beta-tester Mahmoud Teaima 2016-06-19.
plot.bxp. If FALSE (default)
the boxplot will be shown in the default graphics device. If
TRUE the boxplot will be saved in PNG format (720×720 px)
to path.out. Argument ask is also
observed.path.in and/or path.out not given or
not existing, the user’s home folder will be used. Updated the man pages
accordingly.Released to collaborators and beta-tester Mahmoud Teaima 2016-06-18.
ask (default FALSE). If
TRUE and a result file already exists, the user is asked
whether it should be overwritten.lme4 from listed packages in
env.inf(). lmer, summary, and
anova obtained from lmerTest.get.data() name of file from
"_results_" to "_ABEL_".get.data(): path.out only required
if print = TRUE. Default path.out in
method.A() and method.B() set to
NULL.Released to collaborators and beta-tester Mahmoud Teaima 2016-06-16.
method.A() if
adjust = TRUE.path (used for in- and
output) substituted by variables path.in and
path.out.env.info(), get.data(),
CV.calc(), method.A(), method.B()
stand-alone in order to support package-building.method.A(): Changedlm(foo ~ subject + period + treatment, data)lm(foo ~ sequence + subject%in%sequence + period + treatment, data)verbose = TRUE). [suggested by
Mahmoud Teaima]Released to collaborators 2016-06-11.
env.inf() only the packages which are used by
the respective functions.readxl. Throws a message if the installed version is
<1.0.0. Is there a method to automatically update a
package?Released to collaborators and beta-tester Mahmoud Teaima 2016-06-01.
verbose = TRUE.DF and alpha up after the number of
subjects. More logical to me.CVwR is recalculated and BE is
additionally assessed based on the new limits.ola = TRUE) for the
reference. Defaults to FALSE. Studentized and standardized
residuals are calculated and shown in box plots. Note: Only standardized
(a.k.a internally studentized) residual are available in Phoenix
WinNonlin.Released to collaborators and beta-tester Mahmoud Teaima 2016-12-16.
";" and "."nTR <12. Suggested by MT.nRR <12 in one of the full replicate 3-period designs
(acc. to the EMA’s Q&A
Rev. 12).verbose (default FALSE) to
method.A()/method.B() to support detailed
information without debugging.'/' in the path-argument from
method.A()/ method.B() to
get.data().lmer/lmerTest
from v0.83 to support comparing the performance of packages. Wish of
DL.Released to collaborators and beta-tester Mahmoud Teaima (Faculty of Pharmacy, Cairo University) 2016-12-14.
Miss.per for data sets with NA = '.'
fixed. [MT]path does not exist, R’s working directory is used
with a warning. [MT]Released to collaborators 2016-12-14.
names(Miss.per) is removed (not used in
output). [MT]Miss.seq and Miss.per in
get.data(), unnecessary function complete()
removed. [MT]Released to collaborators 2016-12-14.
lmer/lmerTest (was called by
option = 1 in previous versions), since Satterthwaite’s DF
are not compliant with the EMA’s Q&A document (the SAS-code uses
implicitely DDFM = CONTAIN).DF of the treatment difference to the
output.Released to collaborators 2016-12-11.
complete() to construct a dataframe of
complete data based on the subjects and design. Called by
get.data() to calculate the number of missing values
independent whether the DS contains this information (NA in
PK) or not. Not vectorized yet.Miss.seq: Missings / sequence.Miss.per: Missings / period.Released to collaborators 2016-12-10.
na.action = na.omit to lme() since
its default (na.fail) stopped the model.method.B() from
option = 1 to option = 2. No DDFM applied.
lme4/lmerTest (option = 1) - like
Phoenix WinNonlin by default - uses Satterthwaite’s DF.PK and
logPK) to lower case. Stops if variables are not coded as
subject, period, sequence, and
treatment.R and
T.Released to collaborators 2016-12-09.
(.) removed before names of variables. [MT]Released to collaborators 2016-12-09.
Nsub.seq fixed. [MT]/ is added to the path if not present. [MT]method.B() (_lmer or _lme).
[MT]lme4 is added to the list of packages (it was an
implied subroutine call from lmerTest). [MT]Released to collaborators and beta-tester Jiři Hofmann 2016-12-07.
Nsub.seq in DA12 (with N=77) falsely
gave 149 in both sequences.res$CI and
res$GMR instead of unique().Released to collaborators 2016-12-02.
sequence+subject%in%sequence+period according to the
EMA’s Q&A (setup in SAS) and the templates of Phoenix WinNonlin.
Note that for unique coding of subjects the nested structure is
superfluous / the model overspecified . The more simple model
subject+period gives exactly the same residual error.Released to collaborators 2016-11-28.
readxl.
Cave: If the sheet(s) contains a commentary header, in the argument
skip the number of rows not to be used must be
given.Released to collaborators 2016-11-27.
CV.calc() as suggested by DL. Moved the
calculations from get.data(). Adapted calls in
method.A() and method.B().Nsub.seq [MT].Released to collaborators 2016-11-26.
adjust = TRUE for an unsupported design.Released to collaborators 2016-11-24.
PowerTOST for assessment of the empiric
Type I Error and (optionally) iteratively adjustment of α (only
Method A). New argument adjust (default
FALSE). Results only to the console. Changed hard-coded
parts to the respective functions of PowerTOST.logtrans (default TRUE). If
TRUE, the raw data (column PK) are internally
log-transformed. If FALSE the already log-transformed data
(column logPK) are used.logPK. If erroneously a call is made with
logtrans = FALSE (and the column logPK is
missing), the code switches to internal log-transformation (as if
logtrans = TRUE would have been called) and throws a
warning.res.Released to collaborators 2016-11-23.
method.B() has a new argument option:
1 (default) evaluates by lmerTest() and
2 by nlme().print (default TRUE) and
details (default FALSE).foo(..., print = FALSE, details = TRUE) returns a data
frame of results in full precision.intervals() instead of a hard-coded confidence
interval. [DL]nlme. [MT]Released to collaborators 2016-11-22.