Design Package Change Log

This change log is now handled by CVS. See it here.

1996 | 1997 | 1998 | 1999 | 2000 | 2001 | 2002 | 2003 | 2004


Submitted Design.readme, zip, statlib.index to Statlib for DOS/Windows 8Nov96

Re-submitted 27Nov96 (deposited in incoming)

Installed 13Dec96 by M Meyer

5Dec96: added sensuc function

13Dec96: Deposited Design.shar UNIX version of 11Dec96

18Dec96: Fixed bug in sensuc for Cox models, improved documentation

19Dec96: Added event= for sensuc


7Jan97: Deleted nomiss from Makefile Enhanced plotting symbols for sensuc

16Jan97: Fixed conflict for book price in Overview

13Feb97: Added LOGICAL logeq in mlmats.f - prob. caught by IBM RISC/6000

7May97: Fixed removal of NAs in datadensity.plot.Design

7May97: Fixed survest example in survplot help file

15May97: Fixed survest.psm for case of no predictors

26May97: Fixed sdate variable in prostate data frame: class date -> dates, attr(,'format') date ->'ddmmmyy') Improved First.lib.s for Windows help (Jens' correction)

3Jun97: Allowed tol= to be passed to validate.lrm Fixed print.calibrate.default mean(,na.rm=T)

15Jun97: Fixed handling of scored() in plot.Design bootcov.s: added bj survreg.distributions.s: fixed scale for Hazard, extreme dist. added bj - Buckley-James model

24Jul97: Compiled print.calibrate.default to fix mean() na.rm=T problem - had forgot to source() it in Changed First.lib.s and recompiled 3 fortran routines to work with 4.0 beta 3

4Aug97: Fixed bootplot.bootcov bug if(missing(labels.)) if which= given Added show.influence function in with which.influence show.influence was written by Jens Oehlschlaegel-Akiyoshi

7Aug97: Fixed mlmats.f UNIX version - had forgotten

21Aug97: Fixed - forgot to create info.matrix for null model Took away rounding of predictive accuracy indexes, added one round() in print.lrm.s

29Aug97: Added sigma= parameter for ols, which allows fastbw() to be used on models with R2=1

5Sep97: Changed plot.Design to preserve order of levels of categorical variables for the x-axis, added method='dotchart', pch=, sortdot=

12Oct97: Removed [.factor from Design's model.frame.default - left in Hmisc

14Oct97: Changed predict.Design, model.frame.default to keep names attribute of contrasts vector Changed .First.lib to print warning that default contrasts option is overridden by Design

16Oct97: Added regcoef.only argument to lm.pfit in ols.s Made bootcov handle penalized models (lrm, ols)

10Nov97: Make First.lib create a new menu button for Design help for S-Plus 4.0

13Nov97: Improved help button

18Nov97: Fixed bug in help button

24Nov97: Changed .First.lib to improve help Recompiled help files to improve indexing

27Dec97: Added inside, added strat() variables in lrm, modified print.lrm, Varcov in Design.Misc


28Jan98: Corrected customized help menu for 4.0 release 3 for Windows

5Feb98 - Disabled help menu button in .First.lib - problem with menus disappearing

7Feb98: Made plot.Design, survplot.survfit, survplot.Design respect las=1 for y-axes, and utilize the mgp.axis.labels function in Hmisc

9Feb98: Fixed computation of mean survival time for log-logistic distribution in survreg.distributions - courtesy of Victor Moreno SERC, Institut Catala d'Oncologia (

11Feb98: Added example in plot.Design for plotting odds ratios against a user-specified reference value Added example in plot.Design for passing predicted values to trellis' xyplot function

25Mar98: Add group= parameter for val.prob Fixed problem with bootcov and predab.resample re-ordering factor levels Took out calls to for all releases of 4.0

27Mar98: Took datasets out of library, put on web page

8Apr98: Added sample weights (frequency) to val.prob

8Jun98 Fixed summary.Design to force [.data.frame to keep all factor levels - had bombed when doing a categorical predictor and the user specified the constant setting. Thanks to Jens O.

17Jun98 Added new plot output for bjplot, plot method for objects produced by residuals.psm (automatically does survplot on censored resids.)

30Jun98 Had .First.lib create a function desh() that will create a valid help button on version 4.x

1Jul98 Improved help button

28Jul98 pentrace: fixed stratification for cph but not tested added add=T for plot.pentrace added subset= for pentrace (meant especially for bootstrapping) added which, method, arguments, changed default criterion to corrected AIC added method='optimize' to solve for the best combination of penalty parameters using nlminb() return rather than

3Aug98 Tightened convergence criteria for pentrace method='optimize' Added hint in help file re: specifying penalty too large works better Fixed bugs in example code in lrm help file

31Aug98 Passed ... to survplot from survplot.residuals.psm.censored.normalized Fixed but in predict.Design for scored() predictors Clarified copyright with respect to R

4Sep98 Implemented 31Aug98 changes in Windows S-Plus Added nmin and lwd.overall arguments for val.prob

10Sep98 Added two chisquare tests for val.prob(..., group=)

16Sep98 Added calculation of Eavg/P90 and median odds ratio in val.prob Passed weights properly to loess, used weights for Pavg, Obs, added Brier score goodness of fit chisquared test

1Oct98 Added quantiles and flag options to plot.val.prob

2Oct98 Fixed .First.lib to work with S-Plus 3.3

22Oct98 Janez Stare added to an algorithm to detect alternating solutions, and to average them

28Oct98 Added cex.n.risk to survplot

11Nov98 Added check in predab.resample for detecting re-samples with differing numbers of categories of Y selected for ordinal logistic

29Nov98 Added rm.impute function- does approx. Bayesian bootstrap with propensity score matching to analyze repeated measures data with non-random dropout (Lavori et al, Stat in Med)


9Jan99 Added pl=F argument to plot.anova.Design, returned result Added example in anova.Design's help file showing how to use the bootstrap to get confidence limits for the ranks of predictors in the model, using chi-square - d.f. to rank the variables Added examples in help files for plot.Design and predict.Design showing how to use trellis graphics (xyplot or xYplot)

20Jan99 Added to print.nomogram.Design: prints points per unit change in linear predictor, linear predictor units per point

23Jan Improved makefile, renamed MakeDesign, made it work with AIX and probably many other systems, improved README

2Feb Added examples of plotting predicted values when simultaneously varying 3 predictors, in help Overview. Added part of this to help for predict.Design

16Feb Modified functions that set options() to be in effect after the function is finished to use TEMPORARY=F to be consistent with 5.x

21Feb Changed anova.Design to print (by default) F stats and sums of squares for ols fits. Can ask for chi-square stats using test='Chisq'. Print p-values < .0001 as '<.0001' instead of 0.0000

6Mar Added which= to print.anova.Design, to show details of hypotheses being tested

7Mar Added, conf.type to predict.Design to allow C.L. for predicted mean or individual (for ols) Added to ols Added conf.type to plot.Design to allow plotting of C.L. for indiv.

15Mar Added factors argument to gendata (for internal use) Added contrast function (facilitates Type II and III contrasts and many others)

19Mar Added group= to predab.resample so that you can do balanced bootstrapping to handle k-sample problems (and to force every level of an ordinal response variable to be represented in every bootstrap sample). This will benefit validate() and calibrate(). Also added group= to bootcov.

25Mar Fixed nstrata initialization in lrm for case where model has no predictors (Thanks to Victor Moreno

1Apr Added what='partial R2' or 'remaining R2' to plot.anova.Design

3Apr Added what="proportion R2" to plot.anova.Design - shows proportion of overall model R2 explained by each predictor

22Apr Sense existence of guiCreate in .First.lib to allow Design to run under Sqpe (for ESS, For(), etc.) Added, Dialog.Design to automagically create menus for entering predictor values and getting predicted responses using the S-Plus 4.5+ GUI.

25Apr Changed specs.Design to use print() method instead of print directly

28Apr Corrected placement of check for wrong # intercepts in predab.resample Added regcoef.only=T to contrast Varcov(). Thanks to Bill Pikounis.

6May99 Fixed bug in predab.resample for group= for cells with 1 observation Affects validate, calibrate with group=

19May99 Fixed bug in contrast.Design that prevented printing when type='average' Fixed bug in gendata - using.X function not defined for Windows, implemented use of data sheeet

20May99 Added check in Design for mismatch in levels used in fit vs. those specified to datadist Re-wrote .First.lib to work with S-PLUS 2000 in which help button is placed inside the main Help button. Greatly expanded Overview examples, adding code to simulate test data Changed function storage for Windows to use __BIGFILEs for storage efficiency Changed Design to store units attribute of input variables. This is used by Dialog.

27May99 Updated Design.Misc, Design, datadist, na.detail.response to use eval(, local=F) instead of get(objname)

29May Updated Surv, residuals.cph, survfit, survfit.cph.null, survfit.cph for S-Plus 4.7

2Jun Fixed nomogram to leave par() in original state (esp. for margins) Fixed plot.summary.Design to properly find longest bar for labeling when a transformation is used Changed pentrace, plot.Design, plot.xmean.ordinaly, residuals.lrm, survplot.Design, survplot.survfit to use mgp.axis in place of axis This fixes problem with las=1 on y-axis

3Jun Fixed plot.hazard.ratio to properly restore par() upon exiting Enhanced Design() to work with models without a response

7Jun Changed default for `type' in `cph' to be figured from `method', internal to `survfit' Put in Therneau's corrections for survfit.coxph into survfit.cph for survival4

Version up to Here Used for S-Plus 2000

9Jun Fixed problem with units in Design() Enhanced Design.trans to respect units attribute Enhanced specs.Design to use units attribute

21Jun Fixed Design() to not treat an ordered factor variable as scored() unless all its levels are legal numerics

24Jun Changed .First.lib to use correct path if not in SHOME

30Jun Changed plot.Design to respect val.lev when x is not a factor

30Jul Fixed bug in Varcov.glm that caused improper confidence limits plotted with plot.Design, and other problems (found by Bill Cox)

3Aug Fixed line wrapping in Overview help file for Unix (Tim Hesterberg)

16Aug Fixed bug in digits and row names in latex.anova.Design

19Aug Made lrtest test for fit failures Changed datadensity.plot.Design issue warnings instead of stop when there is a variable name mismatch Fixed bug in Dialog.Design not passing where= to

17Sep Added to fastbw the ability to compute R^2 for ols fits. For all fits, also now stores a matrix of coefficients for all models in the result ("Coefficients").

18Sep Added val.surv function (see val.prob). Augmented survest.psm and .cph with what='parallel'. val.surv is used to check calibration of survival models in external datasets using Cox-Snell residuals and related methods

Version up to here used for SP2000 service release

28Oct Added to contrast the ability to specify only one list of predictor settings, to facilitate getting C.L. for averages of predictions when one predictor is varied Fixed bug in contrast for SP2000 where table() returns an object with a dim even if a vector

18Nov Fixed subtitle in plot.pentrace

19Nov Changed all class to oldClass, unclass to oldUnclass, defined these functions for pre-S+ 2000 users. Done for compatibility with S-Plus 5.x

20Nov Fixed problem in Hmisc [.factor to caused strat() information to be lost for cph. Problem appeared when data had NAs and model frame was run through na.delete.

27Nov Changed nomogram.Design to preserve certain character variables (lims, adj). Allows nomogram to work with asis variables that underneath are character strings/factors.

29Nov Took labcurve out of help/List

8Dec Fixed bug in fastbw introduced when R^2 was added, that surfaced when bootstrapping (Thanks to Rob Balshaw

23Dec Changed wording in output of val.prob re: grouped proportions Fixed bug in predab.resample that surfaced from using calibrate.cph with bw=T: predab.resample was c()'ing original fit$terms to fit object from fitter for resample, system was finding terms from fitter (no Design info). Thanks to Fredrik Lundgren <


22Jan Changed reporting of dataRep information in Dialog to use the minimum frequency over all levels of vary instead of for the first level

29Feb Changed format of object created by contrast.Design for easy trellis plotting, with error bars

25Mar Changed default variance-covariance matrix when penalization is used with ols or lrm to be the inverse of the penalized information matrix rather than the sandwich estimator, as Therneau has done limited simulation studies showing that the latter yields variances that are too low. You can get the old behavior by specifying var.penalty="sandwich".

30Mar Added ability to turn off Design by specifying options(Design=F), by modifying model.frame.default. This is useful when using for example lm with a no-intercept model in the middle of a session in which Design is in effect. Once finished you can use options(Design=T).

27Apr Changed First.lib.s to not try to use regexp for 3.3

2May Changed options(Design=F) to options(UseDesign=F) (see 30Mar00)

14Sep Changed all functions that used .Options$name <- value to use oldopt <- options(name=value);on.exit(options(oldopt)) to work with V 5.x, 6.x Changed print.anova.Design first argument from object to x, as Splus 6.0b2 reported a non-existing object x. Fixed predab.resample, Design.Misc (e.g., num.intercepts) to refer to full list element names, e.g. coefficients, not coef Change call to to in calibrate.default, validate.ols, bootcov; in Splus 6 returns a matrix for coefficients and is not as fast as .bare. Put setOldClass commands in open code in model.frame.default.s, for ols, lrm, psm, cph, bj, anova, summary, etc. Remove putting 'model.matrix','Design' oldclass on model.matrix results computed in Design fitting routines (all versions) Fixed bug in computation of emax in validate.lrm to keep emax from being NA if some of the probabilities are 0,1 Fixed sascode - 6.0 won't let you append to tty in cat()

25Sep Changed nomogram.Design to note use structure (has bug in 6.0b2)

12Oct Added option to robcov to use an improved Efron-MacKinnon-White-Horn-Horn-Duncan estimator in the case of ols.

12Nov For SV4 changed sys.frame to in anova.Design, with another related change. Changed pch default to 16 for unix for plot.anova.Design

13Nov For SV4 changed summary.Design object to be of class summary.Design only, not also 'matrix' Same for anova.Design For bj, ols, psm, lrm, cph: changed to single class object with new element of fit list: fitFunction, a vector of old classes corresponding to fitting functions inherited by generic methods. Added specific methods that call *.Design when needed. Changed [.Surv to use ... instead of i,j arguments Removed Surv methods for SV4 that are same as system-supplied Changed cph to use new control parameter for, Change coxphFit service function in cph to sense 3 different versions of

14Nov Modified plot.summary.Design, latex.summary.Design, plot.anova.Design so that object may be treated as a matrix for purpose of subscripting: stats <- matrix(oldUnclass(stats), nrow=nrow(stats), dimnames=dimnames(stats)) calibrate.cph - added error check for surv=T missing on cph Changed names of .C routines called because of SV4 changes, in survfit.cph and .null and residuals.cph, summary.survfit. Some arguments changed too. Corrected severe error in survfit.cph: strat -> stratum May have affected results for survest?? Fixed severe error in survfit.cph.null: double(0) -> as.double(0) In several functions changed inherits(fit,xx) to inherits or any(fit$fitFunction==xx) Removed generic methods bootplot confplot Modified Therneau's cox.zph to allow fit objects with sole class of 'Design'

18Nov00 Fixed call to first.word in latex.anova, latex.summary

19Nov00 Made perim a matrix without attributes for SV4 in plot.Design

20Nov00 Better trapping of infinite transformed values in nomogram.Design Use multiple options() in on.exit for predict.Design: SV4 had problems with options(multiple lists) causing options with blank names to appear

21Nov00 Better trapping of surv=T omitted in cph for Survival.cph etc.

24Nov00 Added several arguments to latex.anova.Design to control decimal places Changed residuals.old to use a modified version of lm.influence because now for some reason lm.influence doesn't use pre-existing X matrix Fixed error in show.influence, changed to ignore Intercept and interaction terms (temporarily)

26Nov00 Added perim= usage in plot.Design so that when multiple curves are shown on a plot the user can erase portions of the plotted curves where the x-axis variable is sparse for the subset of observations corresponding to the current curve. "Corresponding" can mean within a certain tolerance or any other user-specified criterion in the user-written perim function.

4Dec Changed summary.Design in several places to fetch columns of data frames by names rather than subscripts. Don't know why it worked pre-SV4 Fixed Function.Design, latex.Design for case of restricted interaction when rev=T Changed name of latex.Design to latexDesign for dispatch reasons (see Design.Misc.s) Changed latex.ols, lrm, cph, psm, pphsm to use latexDesign Fixed bug in latex.Design, Function.Design that pertained to restricted interactions between two rcs when terms were reversed to put variable with smallest # terms first

7Dec Fixed bug in coxphFit for S-Plus 3.4


25Jan Improved .First.lib for Windows to not use GUI if it's not in effect (thanks: Bill Pikounis)

23Feb Defined .R. in First.lib.s, to sense running under R, used version$os instead of platform() Changed how under.unix sensed in First.lib.s

10Mar Took rcspline.eval, .restate out of Design (in Hmisc already) Added vnames= parameter to plot.Design (applies only when variables to plot not listed so that all are plotted) Added abbrev option to plot.Design, removed old use of abbrev inside function (didn't appear to be used)

19Mar Thanks to, fixed calculation of global gof stat in residuals.lrm

26Mar Changed oprm to prm in Function.Design; Thanks to Geskus, Ronald <>

2Apr Moved var.inner from Design.trans.s to Hmisc model.frame.default.s

3Apr Added new function in Design.Misc.s getOldDesign to get Design attributes from the old location of attr(fit$terms,'Design') and print an error message if they are not found. Now the standard way to fetch Design attributes is at <- fit$Design; if(length(at)) at <- getOldDesign(fit)

13Apr RADICAL CHANGE (though invisible to users):

-17Apr - made each fitting function explicitly invoke Design() - stored Design attributes in fit$Design - defined glmD function to do this (in Design.Misc.s)

17Apr Made sensuc look for fitFunction in addition to oldClass Changed functions to use storeTemp instead of assign. Changed calibrate.* to use storeTemp instead of assign ... where=1

9May Changed all .First.lib to issue options(contrasts=) up front.

22May Fixed anova.Design, bootcov, predict.Design, robcov, survplot, which.influence. Needed to sense presence of fitFunction object before checking its value.

26May Changed calls to first.word to not use expr=

18Jul Updated all platforms on web page, gave to Insightful for inclusion in 6.0 for Windows 28Jul Used an improvement to var.inner in Hmisc by Thomas Lumley <> to make Design work with formulas such as y ~ rcs(x,k) where k is a variable. 4Aug Added check for NULL strata in asnum.strata inside survest.cph (Thanks Mike Kattan) 10Aug Fixed bug in fit.mult.impute in Hmisc making it not work correctly with new version of Design (Thanks Mike Kattan)

14Aug Changed num.intercepts to use length instead of null, and fit$coef instead of fit$coefficients, as uses $coef Changed predab.resample to use $coef instead of $coefficients Changed survreg.fit2 in validate.psm to rename $coef as $coefficients; same for sfit in calibrate.psm

15Aug Changed summary.survfit to keep stats table as in Therneau's (Thanks Mike Kattan)

16Sep Changed lrtest in Design.Misc to return a structure and not print; added print.lrtest

18Sep Fixed bug in where names= was omitted

9Oct Fixed bug in bootcov when X has 1 column by adding drop=F

8Nov Fixed bug in ie.setup- na.rm not allowed in unique() - Thanks Josh Betcher

23Nov Added fun= to print.contrast.Design to anti-log contrasts, etc.

22Dec Changed print.ols to use fit$var for all calculations involving the covariance matrix, instead of using summary.lm; this makes robcov and bootcov cleaner. Warning about this removed from robcov. When penalized estimation is used, print.ols no longer labels test stats as Z but rather uses t

28Dec01 Changed cph, psm to use new formals() in Hmisc for S the same as for R


07Feb02 Removed na.keep.s, na.detail.response.s, na.delete.s (in Hmisc already)

21Feb02 Removed is.factor() test in Design() leaving is.character and is.category, because bug in S+ 6.0 for Linux tested an imputed variable is is.factor even if not a factor

31Mar Changed many as.character([-1]) etc. to as.character([-1] etc. to work with R

1Apr Fixed bug in validate.lrm - was validating 1st intercept for slope shrinkage. Now respects kint. Deviance and Brier were fixed to look at y>=kint instead of y.

4Apr Added note to help file for predict.lrm to clarify that kint= may not be specified when type="fitted","fitted.ind","mean" is used

5Apr Omitted storing atr in lrm if xpres; makes offset work Fixed survplot.Design, survplot.survfit to properly handle xlim[2] with conf='bands' (Thanks: Eric Bissonette)

8Apr To work with R, added DesignAssign in Design.Misc.s to change assign vector to S-Plus list format assign; use for S-Plus too now

9Apr Changed default for log= in plot.Design to '' instead of 'c'; 'c' didn't work in R; apparently '' works everywhere Changed nint= to n= in calls to pretty in plot.summary.Design and nomogram.Design.s, value.chk in Design.trans, as R calls nint n

11Apr Removed format.sep from Function.Design, put in Hmisc Misc.s Removed Function <- from Function.Design, already in Hmisc transcan.s Removed matxv.s; already in Hmisc Removed Mean and Quantile def in psm.s; already in Hmisc transace.s Removed solvet.s; already in Hmisc Removed units.s; already in Hmisc Removed from Surv.s; in Hmisc Changed is.inf to is.infinite in several functions Changed residuals.lrm for 'gof' to compute weighted residuals directly as there's no summary in R for lm.wfit objects

12Apr Fixed bug in robcov - forgot drop=F in X[]

17Apr Changed survreg.distributions to isolate the auxiliary information for Design into survreg.auxinfo list, all versions. NOTE: If install new Design library over old one in S+ 6, should delete survival.distributions in library/Design/.Data Design uses survReg.distributions for SV4 and builtin survreg.distributions for older S+ and for R, so the survreg.distributions object in Design is no longer used. For R and SV4 changed psm to use new survreg (survReg in S+) Changed anova.Design to use formula(fit$terms) instead of attr(fit$terms,'formula') Changed predict.Design to use terms(fit$terms) instead of terms of attr(fit$terms,'formula')

20Apr NOTE: When testing psm using new survreg (survReg in S-Plus 6.x), found old psm and old survreg were not giving correct model LR chi-square; suspect were also testing H0:sigma=1 Changed pentrace and bootcov to use updated survreg.fit2 in validaet.psm.s rather than calling directly

21Apr Improved bootcov to ignore resamples where there is a fit failure, not just quit

22Apr New print method for survest.psm Changed calibrate.psm to use survreg.fit2 (in validate.psm.s) instead of sfit

28Apr Changed survfit(r,data=list(r)) to survfit(r) in survplot.residuals.psm... Fixed sc.pres in bootcov to require exact match on 'scale' Fixed cph and predict.Design to not run pmin(attr(Terms.ns,'factors')) if only strata in model

1May Changed coxphFit in cph.s to return list(fail=T) instead of character string if non-convergence, singularity, etc. Changed validate.cph accordingly

Used for S-Plus 6.1

7May Fixed survest.cph to check for absence of estimates from summary.survfit caused by user requesting times where limited data for one or more strata

15May Removed na.keep na.delete na.detail.response from Design (in Hmisc) Version used for

20May Changed print(data frame) to print(as.matrix) in print.contrast

22May For R, changed fastbw to not use .Fortran('avia') - kept getting segmentation fault Changed summary.Design to use fit$formula instead of fit$terms

24May Fixed bug in print.lrtest (Thanks Carl Moons)

27May Changed survreg.auxinfo to treat t=0 as special case for hazard for Weibull distribution Changed survest.psm to set lower=upper=1 at t=0 for what='survival' Added fail=FALSE to psm for .R.,.SV4.

Created R 1.0-1

30May Fixed use of getOldDesign in latex.cph, specs Changed anova.Design to store formula(fit) instead of formula(fit$terms) - to work with R on old fit objects. Added formula.Design for R (=formula.default) to faciliate this. Changed predict.Design for R to pass to delete.response the result of terms(formula(fit)) rather than terms(fit$terms). Was resulting in invalid formula object. Write oldDesignFit2R (in Design.Misc.s) to convert old Design fit objects to work in R (especially when read by read.S). Fixes problem with old ols stats object not having Sigma. Changed to as.character(formula(fit))[2], sep='') from as.character(fit$formula)[2], sep='') in summary.Design

2Jun Changed print.nomogram.Design print as matrix for R (R would not let me put all blanks for row.names)

4Jun Changed psm and related functions to sense existence of survReg in S-Plus instead of relying on .SV4. (also bootcov, calibrate.psm, pentrace, pphsm, print.psm, survest.psm, validate.psm Fixed Design() to handle weights. Checked for psm.

5Jun Changed psm to use sum of weights in calc of R^2 instead of N if weights present

6Jun Added case weights to lrm for R

16Jun Changed R help files to use \dontrun instead of if(FALSE)

25Jun Fixed fitPar to look for 'ols' in fit$fitFunction in addition to 'class'; verified Dialog works for S+ 6.1 for Windows

16Jul Fixed bug in plot.Design when plotting all variables and an interaction term is in the middle; was relying on variable numbers rather than names in adj[[]]. Thanks:David Wiltsee <>

21Jul plot.Design method='dotchart' - not format( ) character values; allows right-justification

30Jul Fixed bug in survplot.psm.residuals.censored - had misspelled lognormal so that x-variable not antilogged before passed to theoretical distribution Fixed left margin calculation in plot.summary.Design

31Jul Intercepted logic in predict.Design for type='terms' when center.terms=T to remove an intercept from first element of adjto if not in first column of X (fixes problem for lrm) Also fixed updating of missing(non.slopes). Fixed all fitting functions for R by temporarily overriding default drop=T for [.factor and by specifying drop.unused.levels to model.frame.default; R was giving invalid model frame (wrong levels at integer values) when levels changed inside model.frame.default execution Finished changing all T, F to TRUE, FALSE for R CMD CHECK

16Aug Fixed glmD for S-Plus by keeping fitFunction component and using only one class for SV4

26Aug Fixed bug in print.lrtest, to return nothing, to avoid infinite loop. Thanks: Xin Wang <>

2Oct Changed plot.anova.Design to use dotchart2 instead of dotchart, add plotmath usage for R

8Oct Added plotmath for plot.Design by calling labelPlotmath, added inclusion of units in plot labels Checked for existence of .Random.seed in predab.resample before printing it

3Nov For R changed survplot.survfit, survplot.Design to set par(xpd=NA) if n.risk and y.n.risk specified

15Nov Incorporated Bill Pikounis' <> improvements in bootcov that allow both cluster and group to be specified.

22Nov Fixed bug in lrm when NAs and offset were both present. Thanks: Stefano Calza <>

23Nov Did this also for psm, cph Fixed predict.Design to work with offset variables for R (and probably S-Plus). Added function addOffset4ModelFrame to add an offset variable to a data frame if it's not already there, default value = 0 (and warning, as user did not define offset) Fixed loop over resulting model frame to ignore offset var.

24Nov Improved bootcov to include a fitter for glm (for glmD fits) Thanks: Fredrik Lundgren <> Fixed glmD to include assign, to make anova, summary, etc. work Improved plot.Design to use R plotmath for ylab=X * Beta Fixed bootcov for S-Plus, to address fact that needs something as family= other than what glm stores in fit object.

26Nov Put glmD before glm in class or fitFunction, wrote print.glmD, summary.glmD. Moved glmD code to new glmD.s Augmented lrtest to get deviance and null.deviance instead of stats for glmD fits

1Dec Changed lrm to incorporate weights (like R) for SV4 (S+ 6.x)

2Dec Fixed class of glmD object for non-SV4 S-Plus. Fixed tlab in summary.Design from empty scale attr for glmD fits. Thanks: Fredrik Lundgren

6Dec Wrote oos.loglik for glmD to allow bootcov to do simultaneous CLs. Thanks: Fredrik Lundgren Wrote oos.loglik.Design dispatcher for SV4 Renamed predict.Design predictDesign, wrote predict.Design as dispatcher. predict.lrm etc. were not getting called in SV4 Added, .ols, .cph, .psm, .glmD, make them call predictDesign Also changed gendata, nomogram.Design, plot.Design, summary.Design, survfit.cph.s to call predictDesign Changed all T and F in help files to TRUE and FALSE

7Dec Several fixes in validate.tree, especially for tree() fits Thanks: Constantinos Kallis <> Changed panel.Dotplot to make y as.numeric(y) up front

12Dec One more fix in validate.tree. Thanks: C Kallis

22Dec Changed name of all fi= arguments in latex methods to file=

27Dec Added README files on web server s/library/splus6 .zip files

31Dec Version 1.1-1 for Unix,Linux,Windows put on web site.

CHECK FOR SYSTEMATIC R DIFFERENCE: missing(arg) is updated


17Jan Made all versions of use double precision for x,y and incorporate weights

8Feb Corrected ols, lrm, psm, cph to remove from nact$nmiss elements corresponding to %ia%; corrects name length mismatch when %ia% variables present Corrected print.ols to use t distribution rather than normal for testing coefficients

13Feb Repositioned match.arg(what) in survplot.Design so that ylim evaluates with a scalar for what

23Feb Fixed DesignAssign to ignore formula argument and to always use atr$name to get term names, as terms(formula) doesn't expand "." in formula. Thanks: Chang-Heok Soh <>

24Feb Changed DesignAssign to use Terms as 3rd argument, not formula. 23feb change hurt Function.Design, latex.Design's handling of outer transformations Changed bj, cph, glmD, lrm, ols, psm accordingly

27Feb Fixed predict.Design for cph fits with type='terms' (and others) to not drop model.matrix row dimension (added drop=FALSE) Thanks: David Verbel <>

15Mar Added .noGenerics <- TRUE to First.lib.s; causes faster loading of package for R since new methods not used

19Mar Changed keywords to lowercase in robcovf.r, and len to leng for Insightful's porting to S+ 6 on Windows

First port to S-Plus 6 for Windows by Insightful since 6.0 appeared

3Apr Fixed bug in plot.Design allowing partial matching of Limvals$values names. Thanks: Leping Zhou <>

7Apr Improved plot.Design: if 'time' is a predictor and time= was specified, put time= in dotlist. Use length rather than missing(time) to sense time specified. Set time=NULL if put in dotlist.

8Apr Fixed contrast.Design to define db=da if b omitted, to avoid later error message

9Apr Added if(.R.) {; par(new=TRUE)} for plot.summary.Design

16Apr Added univarLR in Design.Misc: computes all univariable LR chi-square statistics from a Design multivariable additive fit Wrote glsD, Design's implementation of gls in nlme, with cluster bootstrapping. Debugged for R.

24Apr Changed survplot.survfit, survplot.Design to always issue par(xpd=NA) ro R

25Apr Fixed validate.cph to allow for null models (2 lines changed) Thanks: Hyung Kim <> In calibrate.cph used cph with only strat predictor if NULL model Changed groupkm to give NA result if stratum has only 1 obs (before used 0 obs)

4May Fixed bug in latex.anova.Design to properly typeset P values as ''

6May Fixed datadist for ordered factors caused by bug in S-Plus 6 on Linux: sort(c(1,2,3,NA)) == 1:3 Put warning message in Design if ordered factor is used without scored() and options(contrasts)[2] is not 'contr.treatment'. Thanks: Leping Zhou <>


16May Changed axisf in nomogram.Design for R, as R wasn't really passing cex to axis. Used par(cex) for R.

10Jul Re-wrote text.anova.Design, removed restrictions, changed x y arguments to at=

20Jul Fixed nomogram.Design for R 1.8 (R-devel); can no longer do dataframe[1:n,] <- otherdataframe where otherdataframe his more than one row and dataframe has one row (to duplicate obs); changed to do this with a list and rep

28Jul Similar change for summary.Design Changed predab.resample to not print .Random.seed

VERSION USED FOR CRAN 2.0-0, Splus6, Splus2000

6Oct Fixed big bug in vif - removed solve( ). Thanks: John Fox <>,Rajarshi Guha <>

16Oct NOTE: Problem in predictDesign if ordered factor used but not used with scored( ). model.matrix(Terms or Terms.ns) returns wild values, reason unknown. Need to explicitly use scored. Thanks: Wilson Wang <>

17Oct Changed non-standard keywords in help files for R to \concept{}

22Nov Fixed bug in summary.Design introduced in sep03- reordered where xadj duplicated Thanks: Emir Veledar <>

16Dec Removed formula.Design from Design.Misc.s Thanks:


Changed cph to work with namespaces in R by adding getN function to invoke getFromNamespace when needed
Removed logic in Design() to deal with cluster( ) variables with cph. term.labels may be incorrect length due to its not including offsets in R.
In predict.cph made non.slopes default to NULL (was no default). Same for predictDesign. Thanks: Mike Kattan; Also for incl.non.slopes
For R fixed bj, cph, groupkm, survfit, val.prob to get from survival namespace if needed
Changed psm and survreg.fit2 in validate.psm to get from namespace for survival if needed for R
Changed Function.Design for SV4 to internally sense if Cox model and take intercept = - centering constant. Changed intercept logic to sense length rather than missing( ). Thanks: Mike Kattan (KattanM@MSKCC.ORG)
Fixed survfit.cph, survfit.cph.null for S-Plus 6.2 and later, to include weights argument to agsurv2. Thanks: Krista Kilmer (
Removed conversion of design matrix X in ols to single precision for S-Plus. Thanks: Patrick Aboyoun (
Fixed bug in addOffset4ModelFrame for predictDesign
Fixed survest.cph to not run result through naresid if newdata, x, linear.predictors not specified. Was messing up validate.cph if original data had NA. Replaced glsD with modified version by Patrick Aboyoun that makes glsD work with S-Plus6 in addition to R
Changed cox.zph to make it work with frailty models when object is from coxph. Thanks: Patrick Aboyoun
Added theta, phi, ticktype arguments to plot.Design for R when method='persp'. Thanks:
Put the project in CVS at
Removed ticktype and replaced it with the more general perspArgs which can be a list of any extra arguments to pass to persp for R or S-Plus

-- ColeBeck - 12 Mar 2004
Topic revision: r7 - 06 May 2004, ColeBeck

This site is powered by FoswikiCopyright © 2013-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Vanderbilt Biostatistics Wiki? Send feedback