Changes in 2.48 o tidying function calls (missing ...'s in metods) and Rd files (missing method defs.) o bootLexis crashed if lex.id was non-numeric. Fixed now. o new functions: unLexis removes Lexis atttributes; legendbox explains the contents of the plot from boxes.Lexis o vignettes groomed o cutLexis would give erroneous results if the Lexis object was not sorted by id and the cut= argument was a data frame Changes in 2.47 o a function, Lexis2msm added, converts a Lexis object to a data frame suitable input to msm::msm o in functions modLexis, and thus glm.Lexis and gam.Lexis the warning about several transions out of the state is changed to a cat() o id = lex.id added as default in coxph.Lexis o glm. gam. and coxph.Lexis now print the list of transitions modeled differently Changes in 2.45/2.46 o A bug in preceding / succeeding was fixed. o a print method for Lexis objects added. It rounds timescales and lex.dur to the same number of decimals. Default 2. Other numerical variables are rounded too, default 3. .lex columns and time scales are printed first. The printed order of variables is returned invisibly. o an AaJ.Lexis method has been added which gives the Aalen-Johansen estimator of state probabilities. Wrapper for survfit for a multistate setup in a Lexis object. o glitch in Lexis when assigning entry.status when exit.status is numeric. Only worked if notes = TRUE (the default). o cal.yr returned an object of class c("cal.yr","numeric"), now changed to c("cal.yr","double"). 'numeric' seems not to be a useful class designation when 'double' is meant. o COEF.polr was wrongly defined, caused a crash of ci.lin() on a polr object. Fixed. o Using a factor as response in a binomial glm/gam model caused df2ctr called from ci.lin to crash. Fixed. o Update of the utility df2ctr where gam models with factors crashed. Now levels of factors in models are now properly extracted from gam objects. o A column with AIC is now added to the Anova entry of an apc object returned by apc.fit. o Grooming of code and vignette for ci.Crisk. ci.Crisk now also accepts a list with one element to compute cumulative risk and expected life time with simulation c.i. o coxph.Lexis did not allow states to be referred to by number in the from= and to= arguments. Fixed. o Cleanup of the code for addDrug.Lexis. prefix argument has a different meaning, suffix argument dropped as a consequence, and in order to comply with nomencalure of gen.exp() the dosage argument is now called dpt. o addCov.Lexis gave funny results if lex.id was a factor. Fixed. Changes in 2.44 o addCov.Lexis now always return a data.frame o New function: addDrug.Lexis adding drug exposure variables from files with drug exposure information to a Lexis object. Changes in 2.43 o a bug in addCov.Lexis ignored clinical mesurements prior to start of follow-up. This lead to a major redesign of addCov.Lexis by taing advatage of rcutLexis. It lost the add.scales argument, but time since clinical measurement is returned as a timescale by default. o ci.Crisk added. Computes simulation-based confidence intervals for cumulative risks in a competing risks situation. o sortLexis, orderLexis and order.Lexis added; order/sort of a Lexis object by (lex.id,time). o precursor.states now defaults to transient(Lx) for cutLexis, mcutLexis and rcutLexis, so precursor.states is no longer a required argument. o mcutLexis reported wrong number of ties resolved; fixed o Bug in mcutLexis accidentally omitting new states as precursor states o Bug in boxes.Lexis causing text in boxes always to be printed in bold font is fixed. Default font is changed to 1 instead of 2 o factorize.Lexis now only turns lex.Cst and lex.Xst into factors with the same set of levels. o Relevel.Lexis now behaves like Relevel, specifically: a character vector as second argument (ref=) will cause a reordering of levels of lex.Cst and lex.Xst, earlier it would merely cause a renaming of states, which could cause undetected rubbish. Changes in 2.42 o Extra line feed in output from coxph.Lexis to make output nicer o function 'rcutLexis' added allowing multiple transitions per person to be specified for cuts, including recurrences. Only keeps track of most recently occupied state, not history. Changes in 2.41 o A bug in addCov.Lexis messing up states due to unexpected sort order of a merge, has been rectified. o the ccwc function could select invalid controls when there was only one eligible non-case, due to the documented behaviour of sample for vectors of length 1. Changes in 2.40 o plotCIF and stackedCIF have been modified to comply with changes in survival (Esa Laara) Changes in 2.39 o mat2pol added: function that takes a set of curves represented as columns in a matrix (mat) and plots then as stacked polygons (pol) o the argument formula for glm.Lexis, gam.Lexis and coxph.Lexis is moved up to be the second argument, making simple specification of models for two-state (survival) models easier o addCov.Lexis was not exported as a proper method for Lexis, due to a mis-named argument in the definition. o addCov.Lexis produced erroneous results because of mistaken sorting order variables o A new function harm generating a basis of harmonic functions o Cleanup of documentation for Relevel o ci.lin argument ctr.mat now allows a list of 4 data frames to compute differences of differences of predictions. Useful for some interaction models o Bug in notes from ccwc corrected (MP) o Minor editorial changes in annotation of output from coxph.Lexis o The by= argument to summary.Lexis crashed the function if the Lexis object was a data.table. Now fixed. o Documentation of boxes.MS slightly amended. Changes in 2.38 o Minor editorial changes in urls in documentation files o The poisreg family now works with anova o Superfluous 'names' attributes on all variables in data sets bdendo and bdendo11 have been removed. Documentation for both now in the same file. bdendo11.Rd removed. Changes in 2.37 o ci.surv added to facilitate calculation of survival function from a smooth parametric model o Bug in apc.LCa - wrong labeling of resulting list element has been rectified. Changes in 2.36 o Lexis gains a 'notes' argument allowing to silence notes o Documentation of bootLexis upadated and groomed o Description of units of measurement in diet dataset corrected o Problems with default reference period/cohort in apc.fit fixed o apc.lines gains an argument shade= enabling shaded confidence limits of estimated curves. o Scaling of the trend internally in projection.ip to avoid numerical problems in solve() o Default vertical scaling of the box size in boxes.MS increased a bit Changes in 2.35 o Major re-write of vignette of follow-up data o glm.Lexis example updated o Lexis now gives a note and not a warning when dropping persons with no follow-up time o Epi.Rd included as man page, allowing easy access to the index via ?Epi. o simLexis updated to cope with poisreg family in modeling input o timeSince function added to tell which time scales are defined as time since entry to a state. Allows for a slightly more compact output from summary.Lexis, when timeScales=TRUE. o such timescales are NA before entry. In modeling we may want these to be 0, hence the model tsNA20 (timescale NAs to zero), that does this for such time scales. And optionally for all. o improved readbility of error message from ci.lin Changes in 2.34 o cleanup of ci.lin to exploit the (post 3.5.0) behaviour of coef/vcov which are now in sync o apc.fit nomenclature for drift extraction has been changed from "weighted" to "Y" in concert with BxCs recent paper. Changes in 2.33 o Fixed bug in gen.exp causing a crash when purchase dates were indestinguishable from FU-dates by match() but not by %in%. o Previously, apc.fit with dist="bin" returned odds in the Age component. Now returns probabilities. o Argument names and -order have been changed for glm.Lexis, gam.Lexis and coxph.Lexis, they are now x, from, to and formula. o Utility functions to describe state characteristics and relationships have been added: absorbing(), transient(), preceding(), succeeding(), before() and after() Changes in 2.32 o gen.exp: time since drug cessation was only computed for latest cessation, not for intermittent ones. Rectified and expanded set of result variables that keep track of patients' status are added. gen.exp also gains an argument, rm.dose, indicating whether doses purchased should be counted if time-allocation of purchases are limited by the push.max argument. Several disjoint FU-periods for persons are now allowed. o The changed functionality of vcov() returning 0s for aliased parameters (instead of omitting them) is now used and hence ci.lin is simplified. o A small utility in.span(A,x) checks if the vector x is in the column span of the matrix A. At the same time thinCol to remove linearly dependent columns from a matrix is now a function of its own. It was previously buried inside detrend, but the functions decurve and detrend needed it. Changes in 2.31 o A new link function, poisreg, added for (event,time) response data, courtesy of Martyn Plummer o Functions glm.Lexis, gam.Lexis and coxph.Lexis fitting models using Lexis objects have been added. The two former use the poisreg family. Slightly experimental still. o Bug in LCa.fit rectified, non-needed elements of npar can now be omitted, previously all 5 named items of the list were required. o matshade now allow NAs in x or y coordinates, causing separate shaded areas to be drawn. Changes in 2.30 o A function decurve added; it removes not only a linear trend but also a quadratic term from a designmatrix. Belongs in the realm of APC models. o Small changes in pc.lines, and addition of pc.matshade to make shaded confidence limits in APC plots Changes in 2.29 o ci.lin with a list of two prediction frames as argument to ctr.mat now also honors the vcov and sample arguments. Also expanded to accept a single data frame to mimick ci.pred and extending this to honor arguments vcov and sample. This facility ignores the offset, though. o matshade gains an argument plot that starts a new plot. Defauts to is.null(dev.list()), so if no plot frame is open one will be made. Changes in 2.28 o Added function matshade() that plots shaded confidence bands. o Epi:::ci.dfr (called from ci.lin) redesigned so that it actually works in most cases. Changes in 2.27 o Documentation of LCa.fit improved - really disturbing typos rectified. o Ns groomed to have knots= have precedence over df=, o Code of ci.dfr groomed, gam objects are now also accommodated when using the list(dfrx,dfrr) version of the ctr.mat argument. Bug causing a crash with splines fixed, however not elegantly. Changes in 2.26 o ci.lin did not honour a reference data frame of 1 row as promised. Fixed. Changes in 2.25 o N2Y now also completes the Lexis triangles in the last age-category by fitting the sum to the average of the two prevalent numbers. o ci.lin(vcov=TRUE) now returns a list whose first element is named 'coef' (previously 'est') and which is a vector (previously a 1-column matrix). Old performance was illogical. ci.lin also now accepts a list of two prediction dataframes as the ctr.mat argument. On the basis of these it computes the row-wise difference (RR for ci.exp). o bootLexis for bootstrapping persons from a Lexis object added. nid.Lexis (and nid.default) counting the number of persons in a Lexis object added as utility. o Dataset BrCa used for illustration of the Crowther and Lambert paper added together with a vignette using the data to illustrate a subset of the analyses as in the paper, plus some extra. o Relevel had a minor bug producing warnings where none were needed. Changes in 2.24 o Bug in Relevel functionality when using a 2-column structure for grouping levels fixed. Now also transfers ungrouped levels to the result as new levels. o Substantial update of the vignette on follow-up data with Epi. o Documentation groomed. Changes in 2.22 o vcov() use in ci.lin() updated to work with the new definition of vcov. o Relevel now also accepts a two-column structure as input --- basically a list of what each factor level should be mapped to. o A few changes and groomings of the vignettes Changes in 2.21 o minor changes in documentation of LCa.fit o the addScales argument to addCov.Lexis now implemented, along with small changes in the naming of the examination types in the absence of given ones. Changes in 2.20 o Vignettes now pre-build on order to keep source o Enhanced options for seq.states= argument to mcutLexis() allowing the last seen event determine the state. Inspired by a vigette in the survival package describing the feature. Changes in 2.19 o Typos in documentation of LCa.fit fixed o Bug in knot calculation in LCa.fit fixed. Meaningless models emerged if explicit knots were supplied for cohort effects. Prior to 2.19 only supplying *number* of knots for effects would give meaningful models if a cohort effect were included (with or without age-interaction). WISH: gen.exp has now got a wrapper, genExp.Lexis, explicitly using the Lexis structure. Changes in 2.18 o addCov.Lexis was fundamentally flawed, re-written, argument names and order changed too. o Documentation links between addCov.Lexis and gen.exp are introduced. Changes in 2.16 o Function addCov.Lexis added. Allows addition of covariates (clinical mesurements) taken at a particular time to be added to a Lexis object. Changes in 2.15 o typo in stackedCIF code corrected (caused a crash with ony one group) Changes in 2.14 o plotCIF, stackedCIF plotting Nelson-Aalen-Johansen estimators of cumulative risks added, courtesy Esa Läärä o Convenice wrappers for grep to select elements: fgrep, ngrep, lgrep1. o A bug in Ns has been fixed, thanks to Lars J Diaz (DK) and Stephen Wade (AUS). o surv1, surv2, yll, erl: NAs in input rates are now changed to 0 (with a warning) instead of crashing the function. o documentation of ci.cum groomed. Changes in 2.12 o New function ci.ratio to compute RR with CIs from independent estimates of rates Changes in 2.11 o Small errors in calculation of knots in the simLexis macro corrected o A severe bug in mcutLexis which caused omission of certain cuts has been fixed. Changes in 2.10 o Bug in lls() caused a crash when objects had funny names (such as '[.Lexis'). Fixed. Changes in 2.9 o Grooming of code and documentation for mcutLexis. Changes in 2.8 o A function, mcutLexis, to cut at several different event times, preserving intermediat event histories has been added. o Errors in the erl.Rd corrected: Description of the argument "immune" was wrong, as were the description of the timepoints where rates were supposed given. o Inaccuracies in the vignette for simLexis patched. o lls() now also lists the size of objects o For illustrative purposes the DMepi dataset has been included Changes in 2.7 o '[.Lexis' redefined to comply with data.table as used from popEpi Changes in 2.6 o Added function erl computing Expected Residual Lifetime in an illness-death model added, together with companions surv1, surv2, erl1 and yll (Years of Life Lost). Changes in 2.5 o Argument "timeScales" added to summary.Lexis, printing names of timescales and which of them (if any) are defined as time since enty into a state. o rm.tr added; removes transitions from a Lexis object o boxes.MS no longer isssues a warning when show.BE is set to TRUE. o LCa.fit rewritten and expanded to encompass both age-period and age-cohort multiplicative interactions. o APC.LCa added, fits all possible Lee-Carter type models and APC-models. boxes.APC.LCa plots the relationship between models including the residual deviances, and optionally places boxes to provide overview of best fitting models. Changes in 2.4 o Ns updated with the possibility of clamping effects to have 0 slope beyond the outer knots, see argument "fixsl". Changes in 2.3 o Cplot (usually called from rateplot) now checks if age- and period-groupings are of the same length, and tells you if they are not, instead of just plotting (almost) nothing. o Grooming of LCa functions, and in particular the documentation. o Update of apc.fit so that also Y^2/D (the observed information about the rate) and Y (person-time) is allowed as weight when defining the inner product inducing orthogonality between linear and non-linear effects. Changes in 2.2 o LCa.fit added: Fits Lee-Carter models with smooth age and time effects to rate-data. print, summary, plot and predict methods also supplied. Changes in 2.1 o The show.BE="nz" feature in boxes.Lexis is now documented o "[.Lexis" is now exported and works... Changes in 2.0 o cbind, rbind and "[" methods for Lexis objects have been added o Consequential fixes in simLexis Changes in 1.1.72 o Improved man page for N2Y Changes in 1.1.71 o Bug from calling lme4::vcov from within ci.lin fixed Changes in 1.1.70 o Bug in calling lme4::fixef from within ci.lin fixed o ci.lin with sample=TRUE now samples from the posterior of the parameter vector and then transforms this by the contrast matrix (earlier the sampling was from the posterior of the ctr.mat transformed parameters). Changes in 1.1.69 o ci.cum now has an argument ci.Exp (defaults to FALSE) that computes the ci of the cum.haz on the log-scale. This is useful if you want to transform c.i.s to the survival scale and want the c.i.s for the survival function to stay inside [0,1]. o ci.pred updated to automatically use the inverse link for transformation of results. Also now only accepts glm objects. o Ns now have arguents ref= and detrend=. ref= allows a reference value to be specified (where the Ns is 0); this is independent of the supplied data. detrend= projects the columns of Ns() on the orthogonal of the variable supplied; this is strongly dependent on the data. Changes in 1.1.68 o ci.lin has been groomed to use internally (newly, from 1.1.68) defined methods COEF and VCOV to extract coefficients and variance-covariances of these from different types of objects. Changes in 1.1.67 o The simLexis vignette has been groomed a bit o The function ci.pred (a wrapper for predict.glm) added Changes in 1.1.66 o A crr.Lexis method has been added to simplify the use of the Fine-Gray model when data are set up in a Lexis object. o ci.lin and ci.exp now recognises crr objects. o A wrapper, ci.pred, for predict.glm has been added, it returns predictions with confidence intervals. Changes in 1.1.65 o Despite the note, dropped rows from construction of a Lexis objects were not put in the "dropped" attribute. Changes in 1.1.64 o Fixed the sim-Lexis vignette Changes in 1.1.64 o Added function ZArray, which generates an array of 0s just as NArray generates an array of NAs. o Updated code to avoid "::" and ":::" as far as possible, as well as "<<-". Hence excluded records from construction of a Lexis object is now put in an attribute "dropped" of the Lexis object. Changes in 1.1.62 o Bug fix in the example code for boxes.Lexis Changes in 1.1.61 o ci.lin updated to recognize objects of class "lmerMod" from lmer. Changes in 1.1.60 o Documentation for DMlate updated. Changes in 1.1.59 o boxes.Lexis updated so that also no. of beginners and enders are properly formatted if larger than 999 Changes in 1.1.57 o boxes.Lexis updated with arguments show.BE and BE.pre, allowing annotation of boxes by the *number* of persons strating and ending in different states. Changes in 1.1.57 o simLexis substantially updated and groomed to accept Cox-models for transitions too. Example in the documentation and vignette is expanded accordingly. Changes in 1.1.56 o Typos in documentation corrected. o When records with too short follow-up are encountered by Lexis, they are dropped from the resulting object, but they will be availabe in the object drop.sh in the global environment. o The col and border arguments to plot.pState were not repeated automatically, so needed fixing. o More elaborate warning and error-messages if initiators in absorbing states are handed to simLexis. Changes in 1.1.55 o Documentation of clogistic is clarified w.r.t. likelihood contributions of matched sets. Changes in 1.1.54 o apc.fit updated to use the Ns wrapper, and automatically use knots located so that the marginal number of events is the same between knots. o plot.apc and lines.apc defined as methods for apc objects. They are just wrappers for apc.plot and apc.lines. o gen.exp example slightly modified to give better output. Changes in 1.1.53 o Population figures in N.dk, M.dk and Y.dk updated Changes in 1.1.52 o col.txt argument to plotEst was not working properly. Fixed o txt argument to plotEst can now be an expression vector allowing sub- and superscripts and mathematical expressions. o Relevel did not issue warning or error when a given level was being specified as member of more than one new level. It now stops with an error. o The convenience wrappers Ns (for ns) and NArray (for array) have been added Changes in 1.1.51 o boxes.Lexis fixed so that rates could be computed from matrix input to. Changes in 1.1.50 o Calculation of p-values in ci.lin has been modified, thyanks to Krista Fischer. Changes in 1.1.49 o Default of "border" argument to plot.pState changed to "transparent" Changes in 1.1.48 o Slight tidying of code in apc.fit. Automatic determination of reference points for period and cohort fixed to produce median correctly. Changes in 1.1.47 o Bug in simLexis (specifically in Epi:::simX) where factor levels were wrongly used, is now corrected. Versions earlier are likely to produce wrong state allocation in simulated dataset and not crash. Changes in 1.1.46 o lex.id handling in simLexis changed, allows for easier simulation in chunks which may be necessary to avoid memory problems. Changes in 1.1.45 o simLexis introduced. Allows simulation from multiple timescale mulitste models. Accompanying utilities supplied too: pr.Lexis, prev and plot.prev. Changes in 1.1.44 o A number of dead links in the documentation have been resurrected. o attach() purged from Lexis.diagram, Lexis.lines and ccwc. o Bug in computing AUC in ROC fixed, thanks to Karl Ove Hufthammer. Documentation clarified with respect to definition of test. o Bug fix to remove warning when more than one variable name was supplied in the by= argument of summary.Lexis. Changes in 1.1.43 o N2Y fixed so that local variable bindings are recognized (M. Plummer) o summary.Lexis expanded with the argument by=, allowing a summary by a factor. Also, the default behaviour is now to return only the transition summary, and only optionally the transition rates; giverned by the Rates= argument Changes in 1.1.42 o Bug that caused a crash of ROC when vaiables in the "form" argument were only in the "data" argument data frame and not in the global environmant. Now fixed thanks to Ben Barnes of the Robert Koch Institute, German Center for Cancer Registry Data Changes in 1.1.41 o boxes.Lexis now returns an object of class MS, which easily allows plotting of slightly modified multistate displays using the new command boxes.MS. The facility in boxes.Lexis to produce weedy code for the same purpose has been removed. o boxes.Lexis now allows to show *both* number of transitions *and* rates between the states. o stack.Lexis now takes the Lexis attributes "time.scales" and "breaks" across from the Lexis object to the stacked.Lexis object. Changes in 1.1.40 o subset, transform and Relevel methods have been added for objects of type stacked.Lexis. Changes in 1.1.39 o effx has been expanded with an extra argument eff=, which defaults to NULL, allows "RR" for relative risk for binary data, and "RD" for rate differences for failure data. Also logical response is admitted for binomial and failure responses. o factorize and Relevel are now synonyms. Methods for Relevel are Relevel.default, Relevel.factor, Relevel.Lexis, for factorise only the factorize.default and factorize.Lexis exist. o A mistake in estimating sequential residuals in apc.fit() has been corrected. The wrong model (adc instead of rc, in the case parm == "AD-C-P") was used for the basis of residuals. Thanks to Shih-Yung Su from Taiwan. o as.Date.cal.yr is added, even though it was removed earlier: cal.yr is a class for date variables and the conversion function should be around. o A bug in ci.pd causing calculations to go wrong if vectors were supplied as input. Correction thanks to Patrick Rymer. o A bug in factorize.Lexis is fixed. Now appropriately groups factor levels in the state factors lex.Cst and lex.Xst. Relevel.Lexis is defined as an alias for factorize.Lexis. Thus the functins Relevel() and factorize() are now identical. Changes in 1.1.36 o A bug in boxes.Lexis causing arrow-coloring to go out of sync fixed o Array problems in stat.table fixed Changes in 1.1.35 o none. Just compiled for the archive with R 2.15.0 Changes in 1.1.34 o plotEst now has an arguments col.txt and font.txt which allows the use of different colors and fonts for the annotation of the estimates. Models likely to be multiplicative incurs a logarithmic x-axis in the plot. o ci.exp introduced - a wrapper for ci.lin, getting the exponentiated parameters with CIs. o A bug causing unintended reordering of levels using boxes.Lexis is fixed. o Method etm for Lexis objects included. This just takes a Lexis object, and fishes out the relevant information to be able to call the function etm from the etm package (empirical transition matrix). This function is now physically defined in the file(s) foreign.Lexis.R(d). Changes in 1.1.32 o gen.exp was re-written and simplified. o Small cosmetic changes to the code for N2Y Changes in 1.1.31 o The extractor functions entry, exit, status and dur have now an argument by.id=FALSE. If set to TRUE, only one record per lex.id is returned and the resulting object has lex.id as (row)names attribute. Changes in 1.1.30 o DMlate expanded with the column dooad o Documentation for as.Date.cal.yr fixed o Bug in gen.exp fixed (It was assuming a data frame called dfr existed was wrong, but not spotted by the example because in the example one actually did exist!) Changes in 1.1.29 o New function gen.exp for generating time-varying exposure variables from drug purchase records. Changes in 1.1.28 o splitLexis now allows NAs in the timescale on which you split. Records with NAs are simply left untouched, but a warning is printed. o A bug in boxes.Lexis preventing rates to be printed was issued. Changes in 1.1.27 o A few typos corrected o Functions a.lines, a.points, cp.lines and cp.points added to facilitate plotting points and curves from APC-models. o apc.fit did not return the reference cohort/period if it was not supplied in a model with explicit drift. Changes in 1.1.26 o A new function N2Y added which computes person-years in Lexis triangles from population prevalence data. o Demographic example data from Denmark added: N.dk - population size at 1 Jan Y.dk - risk time in Lexis triangles M.dk - mortality data B.dk - births in Denmark 1902 ff. Changes in 1.1.25 o Added sd() function to stat.table() o tmat.Lexis has an argument Y=FALSE which if set to TRUE will return the person-years in the diagonal. o boxes() now explicitly defined with methods boxes.Lexis and boxes.matrix that explicitly call boxes.default (which is the function doing the work (almost identical to the former boxes.Lexis). Changes in 1.1.24 o countLexis did not take the "timescales" and "breaks" attribute across to the resulting Lexis object. Changes in 1.1.23 o A missing defualt value for new.scale in doCutLexis caused a crash o A missing default value for new.scale in doCutLexis caused a crash when using the count=TRUE argument to cutLexis. Changes in 1.1.23 o ci.lin and ci.cum now have a sample= argument that causes return of a sample from the normal distribution with mean equal to the estimates and variance equal to the estimated variance of the estimates. To be used to do "parametric bootstrap" of complicated functions of the parameters, such as state occupancy probabilities from multistate models. o ci.lin now supports objects of class mipo (Multiple Imputation Pooled Objects --- see the mice package). o tabplot removed --- it was a proper subset of the mosaicplot from the graphics package Changes in 1.1.22 o A bug in boxes.Lexis prevented the use of ht= and wd= arguments to set boxes to a prespecified size. The scaling of these is now also clarified in the man file for boxes.Lexis. Changes in 1.1.21 o Specifying period of cohort effects with only two parameters caused apc.fit to crash. Fixed by adding a few ",drop=FALSE" in subsetting of matrices. o Since as.Date.cal.yr was not used anywhere, it has been removed from the package. o A function Wald added to do Wald test of several parameters or linear combinations of them. It is a small extension on top of ci.lin. Changes in 1.1.20 o CITATION file added. Changes in 1.1.19 o ci.lin amended by an argument subint= allowing to select subsets of parameters matching several strings. Changes in 1.1.18 o boxes.Lexis has been made a bit more versatile for production of box-diagrams from multistate models. Changes in 1.1.17 o A comma was missing in the code-output from boxes.Lexis o mstate.Lexis function changed name to msdata.Lexis, according to the change in convention in the mstate package. Code simplified as it is now using the functionality in stack.Lexis. o A factorize.Lexis function has been added, it basically changes the variables lex.Cst and lex.Xst to factors with same set of levels. A useful facility when we want boxes.Lexis to work. Changes in 1.1.16 o boxes.Lexis now resets the graphical parameters (par()) on exit. o plot.Lexis now has a default Lexis object as argument, allowing use of the function to plot empty Lexis diagrams without setting up a Lexis object first. The bogus object has timescales c("Date","Age") but 0 follow-up time. Changes in 1.1.14 o ci.lin now has an argument df to allow for t-quantiles in ci calculations. o lls() function revised to give nicer (left justified) output. Changes in 1.1.13 o ci.lin now supports objects of class clogistic. o utility function ci.mat() added --- earlier defined inside ci.lin and ci.cum, but also useful on its own. o lls() and clear() added, to ease overview and clearing of workspace (and attachments!) o apc.frame now sets the option "apc.frame.par" with the offset and scaling of calendar time part of the apc frame. This is recognised now by apc.lines automatically. o Function pc.points, pc.lines, pc.matlines, pc.matpoints added to ease plotting the calendar time region of an apc frame; live off the option "apc.frame.par". Changes in 1.1.12 o Added function clogistic for conditional logistic regression. Changes in 1.1.9 o A function PY.ann.Lexis is added. It writes the length of (pieces of) lifelines in a Lexis digram produced by plot.Lexis. o plot.Lexis now sets an option "Lexis.time.scale" which is queried by lines.Lexis and points.Lexis, so that time.scale is only needed in plot.Lexis. Changes in 1.1.8 o apc.fit had a bug in the specification of knots when using the argument model="bs". Fixed. Changes in 1.1.7 o boxes.Lexis has been further enhanced with the facility to plot rates instead of no. transitions on the arrows if required. The code has been tidied a bit too. o The man file for boxes.Lexis and subsidiaries have been renamed to MS.boxes.Rd Changes in 1.1.5 o boxes.Lexis have been enhanced to accommodate two-way transitions between states. Annotation by number of transitions has been improved to accommodate this too by always putting the number on the left side of the arrow. Changes in 1.1.3 o ci.lin() and ci.cum() have been expanded to accept objects of class "MIresult" from the mitools package (Esa Läärä). o The boxes.Lexis() now gives a more versatile piece of code, which computes the text widths and heights. Changes in 1.1.2 o cutLexis crashed if new.state=TRUE and new.scale=FALSE were specified. Fixed. Changes in 1.1.1 o Functions stack.Lexis, tmat.Lexis and mstate.Lexis have been added to facilitate practical multistate modeling. The two latter provides an interface to the mstate package. o Functions tbox, dbox, fillarr, boxarr and boxes.Lexis added to facilitate drawing of multistate box diagrams. Changes in 1.1.0 o Two new datasets DMrand and DMlate with random samples from the Danish National diabetes register. The examples from these illustrate most of the recently added multistate stuff. o Minor bug in check.time.scale was fixed (misplaced parentheses in the argument to any(), causing a warning). o cutLexis introduces a new timescale "time since event", which has missing values for any follow-up time prior to event. Hence requires that the Lexis plotting functions explicitly discards the units with missing on timescales in use. Accomplished by the new function valid.times. o cutLexis now places the new states after the precursor states and before the other ones in the factors lex.Cst and lex.Xst. o splitLexis uses the first timescale by default. Which in particular means that in the case of only one time scale it is not necessary to specify it, so this has become acceptable now. o Vignettes has been updated. o Example for ci.cum has been fixed to be compatible with the new survival package as of 2.9.0 as announced. o apc.fit fitted the wrong model when using parm="AC-P". Fixed o The axis scaling of apc.plot has been improved. o apc.frame now by default plots a reference line for RR=1, this may be switched off by the (newly introduced) parameter "ref.line=FALSE". Changes in 1.0.10 o Fixed parse errors in documentation. Changes in 1.0.9 o Thanks to Mike Murphy, Professor of Demography, Department of Social Policy, London School of Economics, a bug causing a crash of apc.fit if only one row in the model matrix corresponds to the reference level was fixed. o Also thanks to Mike Murphy, a much more efficient calculation of median period and cohort is now used. o apc.fit expanded with an argument allowing logistic regression model instead of a Poisson model only. Changes in 1.0.8 o tab.Lexis removed and replaced by summary.Lexis which gives a better summary of the transitions and transition rates. o A bug in ci.pd (confidence interval for probability difference) has been fixed. Changes in 1.0.7 o Stat.table data= argument fixed. Changes in 1.0.6 o Lexis now converts character values of entry/exit.status to factors for lex.Cst and lex.Xst. And produces a warning if the entry.state is defaulted to the first level of exit.state (i.e. when exit.state is given as charcter or factor). o splitLexis gave wrong results for factor states. cutLexis gave wrong results for character states. Fixed by letting Lexis coerce character mode entry.status and exit.status to factors for lex.Cst and lex.Xst. In split.lexis.1D was the problem with the factor states, they were coerced to numeric when stuffed into the new.Xst matrix. Now states are turned to numeric before the call to split.lexis.1D and the factor attributes re-instituted after the split. o Added transform method for Lexis objects. Changes in 1.0.5 o Typos in documentation of APC functions corrected. o cutLexis updated to handle various instances by MP. A few BxC additions to MP's code: - cutLexis2 is renamed cutLexis. BxC's old cutLexis killed. - count=FALSE as argument to cutLexis, just calls countLexis if TRUE. - cutLexis no longer returns the working column lex.cut - cutLexis was missing the attributes "time.scales" and "breaks". Added. - cut= is allowed, simplifying cut of split Lexis objects. - documentation accordingly altered. o splitLexis amended so that lex.Xst is returned as a factor if lex.Cst is a factor. splitLexis crashed if lex.Cst and lex.Xst were factors. o Lexis now allows omission of entry.status --- if exit.status is numeric/logical/factor, entry.status (and hence lex.Cst) will be set to 0/FALSE/first level. o Lexis made sure that lex.Cst and lex.Xst have the same class. If they are factors, the set of levels is taken to be the union. Changes in 1.0.1 o cutLexis now works properly - no it did not! o cutLexis now accepts a (smaller) dataframe with cutpoints and states as input. Changes in 0.9.6 o Bugfix in timeBand, crashed when type="factor" was chosen. levels was given as 0:(lengh(breaks)+1), changed to 0:lengh(breaks) Changes in 0.9.5 o The Lexis definition now assumes that entry is 0 if only one of exit or duration are given as a one-component list. o tab.Lexis is now properly working as a method for Lexis objects. Changes in 0.9.4 o The lex.-variables in Lexis objects are now called lex.dur, lex.Cst, lex.Xst, lex.id (duration, Current state, eXit state and identification) o An extra option states= added to Lexis. If used the state variables are returned as factors. o The utility function deltat.Lexis() has been renamed to dur(). o state() now returns a dataframe of both (entry,exit) states a default. The reason for this is that lex.Cst and lex.Xst may be factors (which actually would be the logical thing to have by default, but it is not enforced only allowed). o entry() and exit() now by default returns matrices with entry and exit times on all timescales. If only one timescale is requested, they return a 1-column matrix. o A minor typo in stat.table corrected: in the definition of the quantile function prob=probs changed to probs=probs. o cutLexis() bugs corrected. Now works with split data too, but requires specification of censoring states --- i.e. states that will be replaced by the new state obtained at the cut date. Changes in 0.9.3 (since 0.9.0) o New function cutLexis() to allow cutting of follow-up time at a specific date for each person, where a new state is assumed. o New function tab.Lexis() which tabulates records as well as events and person-years from a Lexis object. o splitLexis got state information wrong if breaks were not unique. Fixed. Changes in 0.9.0 o effx and effx.match updated following Tartu 2007 to avoid attaching the data, and to correct the parsing of the list of control variables. Changes in 0.8.0 o A new function Lexis() to define follow-up on multiple timescales has been added. An object of class Lexis is defined and a number of utilities for the class are available. Time-splititng is now done by splitLexis(). o The old Lexis function for time-splitting has been renamed to W.Lexis for backward compatibility. o The function epi.eff() has been replaced by effx() and effx.match(). Changes 0.7.2 to 0.7.3 o Icens is now able to handle a constant underlying rate. (A bug in expand.data was fixed). Changes 0.7.0 to 0.7.2 o Bugs in ROC fixed, and the functionality of the grid option slightly chnaged. Changes 0.6.1 to 0.7.0 o Function Icens() for estimation of rates from intervalcensored follow-up data by Martyn Plummer added. o Function epi.eff by Michael Hills is added. Estimates effects in various epidemiological study types. Changes 0.6.0 to 0.6.1 o Coding errors in thoro dataset corrected. Only concerning dates and status for livercancer diagnosis. o Lexis.lines now allows col.life, lwd.life, pch.fail, col.fail and cex.fail to have the same length as the data, i.e. to produce individualized lines and points. As Lexis.diagram calls Lexis.lines, this facility is also available through Lexis.diagram. Changes from 0.4 to 0.6 o ci.pd() amended to support the Agresti-Caffo method for confidence intervals for difference between proportions. Newcombes method 10 is still used in twoby2. o apc.fit() added. Fits age-period-cohort models with a range of possibilities for parametrizations. o Functions for time-splitting at arbitrary times and at recurrent failures have been added: isec(), icut(), fcut1(), fcut() and ex1(). Eventually they will be superseded by new facilities in Lexis. o Function apc.plot() to make a plot of an apc fit is added. It is just a wrapper for apc.frame() and apc.lines(), with suitable computation of the paramters supplied to apc.frame. o Lexis.lines(): pch.fail and col.fail expandS to vectors of length two if only one value is given. o ci.cum() aimed at computing cumulative hazard functions from parametric functions for hazards. o Problem in print.floated() with printing of objects of class "floated" fixed. o Problem in ci.lin when subset did not match any factor names and diff=T was given the function crashed. Fixed, and documentation updated. o cal.yr produces objects of class c("cal.yr","numeric"). Functions as.Date.numeric and as.Date.cal.yr added.