Code quality improvement: T/F replaced with TRUE/FALSE for CRAN policy compliance.
Global assignment (<<-) in ORmn removed using environment object pattern.
options(warn) replaced with suppressWarnings() in ORmn, RRmn, RDmn, RDmn1 to prevent options leak on error.
Unsafe 1:length() pattern replaced with seq_along()/seq_len() across 14 files.
Redundant comparison in G2SWEEP (BasicUtil.R) fixed.
Max function uses na.rm=TRUE for consistency with Min.
DESCRIPTION cleaned up: removed redundant Author/Maintainer fields.
CumAlpha function improved to handle chaning z values and arbitrary time points.
OBFBound function added for exact O'Brien-Flemming bounds.
GLM function validated again, and the result is OK.
Thanks to Pete Laud, RDmn and RRmn are corrected. ORmn will be improved further later.
RDmn1 for extreme case (R1=1, R2=1) fixed.
g2inv function bug with p=0 fixed.
UNIV can compute geometric mean and CV excluding NA values
g2inv function for generalized type 2 inverse matrix for non-square matrix is newly introduced.
G2SWEEP checks if the input is a square matrix.
dunnett adjustment no longer use Miwa algorithm
Functions for group sequential design (seqBound, CumAlpha, PocockBound, Drift, ExitP, seqCI) are added.
If the matrix dimension for Dunnett test is less than 11, Miwa algorithm is used for multi-variate t distribution.
RRinv revised
RDmn1 can handle more extreme cases.
Typo correction
TTEST, mtest, tmtest, ztest, vtest functions are added.
Every time just before calling mvtnorm::pmvt, mvtnorm::qmvt, set.seed(5) is called.
RanTest with no fixed effect and only 1 random effect return correct result.
T3test supports H and E options
LIbin, LIpois, LInorm, and RDLI are removed, and will be included in a separate package.
Skewness function revised.
Bugs of some cases at RDmn1, RDmn, ORmn1, ORmn are fixed.
LIbin, LIpois, LInorm, and RDLI are introduced.
RanTest function added for test with random effect.
T3MS will be deprecated soon. Use EMS instead.
SLICE function's options are renamed.
Typos in manual are corrected.
GLM, REG, aov1, aov2, aov3 functions return yhat and residuals with Resid=TRUE option.
aov1, aov2, aov3 functions return beta coefficients with BETA=TRUE option.
T3test is significantly improved for complex cases.
RDmn handles more extreme values.
LSM plotting order is ascending by default.
ORmn: Special cases of OR - 0, infinity or NaN - are checked in the input.
GLM and REG supports weighted regression with WEIGHTS option.
REG displays tests using HC0, HC3, and White's first and second moment specification test.
Code refactored to cope better with a singular or ill-conditioned matrix.
Some unused arguments such as eps (in GLM, REG, aov1, aov2, and aov3) are removed.
e1, e2, e3 arguments are simplified to reduce unnecessary calculation.
corFisher function for correlation test by Fisher's Z transformation is added.
RDmn, RRmn, ORmn use MN weights for point estimates also.
RDmn1 finds confidence interval better.
Some typo fixed.
RDinv, RRinv, ORinv, ORcmh for stratified or meta-analysis of 2x2 are added.
GLM reports adjusted R-squared
QuartileRange returns type 2 IQR by default.
UNIV returns MAD and type 2 IQR too.
Coll calculates like SAS, not like SPSS
lfit help updated
RD, RR, OR, RDmn1, RRmn1, ORmn1, RDmn, RRmn, ORmn functions for 2x2 table with or without stratification are added.
Description corrected in satt help.
GLM function's arguments changed: SOLUTION to BETA, LSMEANS to EMEAN
ANOVA function is removed, because it is almost a duplicate of GLM function.
GLM function's arguments changed.
Descriptive statistics functions such as N, Mean, SD, SEM, Min, Max, Median, UCL, LCL, trimmedMean, Range, QuartileRange, Skweness, SkewnessSE, Kurtosis, KurtosisSE now accept a non-numeric vector that can be converted to a numeric vector.
A bug with no incercept model in e3 is fixed.
A bug at "adj" option in LSM fixed, which also affects GLM.
PLOT option related codes are revised.
UNIV added for descriptive statistics
G2SWEEP became faster for large sparse matrix
REG function warns in case of completely aliased model and data and increases epsilon tolerance to 1e-5.
Diffogram and plotDiff option 'Title' removed. Use 'main' option instead.
Descriptive statistic functions (Mean, SD, ...) return NA with inappropriate inputs.
geoMean and geoCV added
reverse option added to PDIFF
Diffogram added
PLOT option added to LSM and PDIFF
LSM supports grouping when a term is specified.
PDIFF and est support common multiple comparison methods, such as "lsd"(no adj), "bon", "tukey", "scheffe", "duncan", and "dunnett".
ESTM function added.
CONTR function added.
SLICE function added.
satt changed the way of weights calculation. Now, one can give integer weights.
lsm now properly supports models without intercept.
e2 now properly supports single factor models (Type II SS of Oneway ANOVA) without intercept.
Checks inputs and errors during calculation more.
aov2 and e2 support no intercept model.
aov1, aov3, ANOVA, GLM handle no intercept model properly.
A column of estimability will be shown when some coefficients are not estimable in REG and GLM.
Some errata in help/manual are corrected.
CV (coefficient of variation) in percentage added.
cSS has now m arguments for non-zero mean hypothesis.
A bug with no intercept model in lr fixed.
Incomplete interaction term names of PDIFF fixed.
LSM does not show estimates which are not estimable, and supports more models
est has more arguments to test estimability
lr0 function for simple linear regressions with each independent variable
lr function for linear regression with g2 inverse
tsum wrapper function for tsum0, tsum1, tsum2, tsum3
bt function removed to remove dependency on knitr
NOINT option in REG, ModelMatrix is removed. Use conventional R formula.
Order of coefficients (parameters) changed to be more similar to SAS.
T3MS revived.
EMS has different arguments from T3MS.
GLM function now has lsm option for least square mean
LSM function added for Least Square Means in SAS
PDIFF to do pairwise comparison
BY function to run functions by levels of a variable
tsum0, tsum1, tsum2, tsum3 functions for the summary table of a continuous dependent variable
bk function to beautify the output of knitr::kable()
bt function to beautify the output of tsum2, tsum3
G2SWEEP function explained
regD function optimized
T3MS renamed as EMS, because it can handle other types also.
CIest function's arguments and return values changed.
regD function added for influence diagnostics
T3test a bug fixed for one row table
CIest added for confidence interval estimation
e3 function revised for RANDOM test functionality
satt added for Satterthwaite approximation
T3MS added for Type 3 Expected Mean Square formula
T3test added for hypothesis test with different error term
Unnecessary lines in source removed
Contrast input for cSS changed from column vectors to row vectors.
REG can return lfit result with summarize=FALSE argument.
Type III SS function improved
Miscellaneous errata corrected
Code refactored
An erratum is fixed
First version
TO DO: Function to add - e4, aov4
TO DO: Items to add - R2, R2ADJ - v0.4.1 lr does this.