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.