Published on Github 2020-07-24 and submitted to 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
) naïvely 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 orginating 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
dissappeared 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.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).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)
can’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.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 data.frame 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()
(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.