Changes to package DoE.base

This package is under development. 
Suggestions and bug reports are very welcome. 

09/08/2011, Version 0.22-3
- automatic block creation possible for many more situations by incorporation 
  of block factor catalogs for 2 and 3-level factor full factorials 
  (block.catlg used to be in FrF2, block.catlg3 added, Yates used to be in FrF2, 
  Yates3 added)
- bug fix: the number of bocks could be smaller than requested without warning 
  in case block.gen specified a linearly dependent set of generators

05/08/2011, Version 0.22-2
- removed generic for factorize and factorize.default, 
  which had been included for avoiding problems with function factorize 
  from sfsmisc; as their inclusion created problems, 
  the conflict with sfsmisc was solved via selective import 
  from sfsmisc in package FrF2.

04/08/2011, Version 0.22-1
- catered for class design objects from package conf.design 
  in functions lm.design, aov.design, formula.design (error messages)
  and summary.design (summary for data frames)
- added warning for split-plot experiments, 
  indicating which effects might have too small p-values, 
  to outputs from functions print.lm.design, summary.lm.design 
  print.aov.design and summary.aov.design 

03/08/2011, Version 0.22
- added blocking facility to function fac.design, 
  i.e. full factorials can now be blocked
  (one level of blocking only; automatic possible, 
  if only one prime of each type is needed 
  (confounds the highest possible degree of interaction); 
  otherwise, user must specify block generators)
- added some functions for prime and pseudo factor 
  factorization 
- added dependence on package conf.design

31/07/2011, Version 0.21-3
- added a branch to function print.design for an exception 
  for class design from package conf.design

04/06/2011, Version 0.21-2
- added names to the list generated by make.formulas 
  in support of making Fractional factorial 2-level designs 
  with center points fit for response surface analysis

27/04/2011, Version 0.21-1
- bug in function print.design: 
  for many designs, printing in standard order prompted two printouts, 
  one in standard order and one in actual run order (wrongly placed return)

31/01/2011, Version 0.21
- made the run.no.in.std.order column in the run.order attribute 
  a factor with properly ordered levels for oa.design and fac.design
- introduced option std.order for print.design
- enabled response.names<- function for wide designs
- fixed bug in param.design that led to problems with long-to-wide reformatting 
  for designs without responses
- improved treatment of one-column response matrix in add.response
- modified aggregate.design to keep previous responses, apart from the individual ones
- fixed bug in summary.design that made summaries fail for combined designs 
  like parameter designs
- fixed bug in function generator.design that led to showing wrong block 
   generator information for full factorial blocked designs

05/01/2011, Version 0.20
- added function contr.XuWu for calculating normalized contrasts for GWLP 
  calculation
- use contr.XuWu in length functions instead of normalization to square root of n, 
  which makes these functions work appropriately for designs with imbalanced 
  individual columns
- implemented several improvements with the purpose of supporting adequate selection 
  of mixed level screening designs, following Groemping 2011
  - added relative projection frequency tables in functions 
    P3.3 and P4.4 with option rela
  - implemented option rela also into functions length3, length4 and length5, 
    for obtaining the total relative number of words (cf. Grmping 2011)
  - implemented new function GR for generalized resolution (generalizing 
    Deng and Tang 2009)
  - also enhanced functions oa.min3, oa.max3, oa.max4, oa.min34 with rela option,
    added functions oa.maxGR for maximizing generalized resolution and 
    oa.maxGR.min34 for optimizing numbers of relative length 3 or 4 words 
    among designs with maximum generalized resolution (and in case of ties 
    absolute length 4 words for best relative length 3)
  - added options regarding the new optimization facilities 
    to function oa.design (additional choices for column option)
- improvement for fix.design: message box that informs about permissible changes

05/08/2010, Version 0.12
Methods of lm and aov for class design:
- added a generic for function aov, a default method (which is the function 
  from package stats) and a method for class design, as well as 
  summary and print functions that ensure that enough information 
  is printed regarding the number of observations and the formula used 
- added an explanation about the implications of the existence 
  of lm and aov generics for match.call-requests
- introduced a method for function coef for lm.design objects that omits 
  NA coefficients
Design diagnostics:
- improved memory usage in functions length3 and length4 
  (replace mm3 and mm4 by vec3 and vec4 with sum)
- added functions length2 and length5 for occasional uses, 
  plus an overall function lengths for all four implemented lengths
- added option J to length functions for optional output of 
  J-characteristics instead of lengths 
  (for supporting theoretical investigations rather than 
  practical design generation)
- added function oa.max4 (for supporting theoretical investigations rather than 
  practical design generation)
- removed function P4.3 because it is considered redundant
- further improvement to documentation of generalized word length 
Bug fix:
- made nruns a minimum requirement rather than an exact requirement in function 
  oa.design, as was always documented; 
  the previous version returned a full factorial, whenever the requested 
  minimum number of runs itself was not feasible; 
  now the smallest orthogonal array with at least nruns runs is returned

09/06/2010, Version 0.11-1
Bug fix: function summary.design gave wrong statement on alias information 
for FrF2 designs with only one alias entry for main effects or 2fis. 

23/04/2010, Version 0.11
- documentation of generalized.word.length: corrected typos and made it more understandable
- made generators.character able to look up designs in arbitrary selected catalogues
- made generators.design use the new catlg.name entry in design.info for FrF2 designs,
  so that summary.design works for such designs

03/04/2010, Version 0.10
- meaningful error message, if full factorial is too large;
  now indicate before trying to create full factorial how many runs this will have
- implemented child arrays with substantial contributions from Boyko Amarov
- included child arrays into oacat
- moved documentation of oacat from oa.design documentation to a separate file
- made show.oas show lineage information and child arrays
- made show.oas return the displayed information as a data frame
- allowed for show=0 and show="all" in show.oas
- removed arrays L18.2.1.3.7 and L36.2.11.3.12, which were identical to Taguchi arrays 
  L18 and L36; Taguchi arrays are available now as L18, L36 and L54; the corresponding 
  arrays with regular labelling (L18.2.1.3.7, L36.2.11.3.12, L54.2.1.3.25) 
  can be constructed as children from Kuhfeld parent arrays, as indicated in oacat 
- adapted formula.design to reflect formula in (future) Dopt designs
- adapted summary.design for lhs and Dopt type designs to display optimality 
  criteria
- added functions P3.3, P4.3 and P4.4 for pattern of length 3 (4) words 
  of projections onto 3 (4) factors
- added an explanation of generalized word length to the documentation 
  word length based functions
- added some word length information to summary.design for smaller type oa designs
- made option quote for summary.design take effect on more aspects

24/02/2010, Version 0.9-17
- fixed documentation issues
- added functions length3 and length4 for calculating numbers 
  of generalized words of lengths 3 and 4 in support 
  of automatic choice of better designs than just populating columns 
  from left to right
- added functions oa.min3, oa.min34 and oa.max3 for looking at best 
  and worst arrays
- added optimization possibility (default: no optimization, like previously) 
  to oa.design (using option columns)
- added some large (128, 256, 2048) resolution V non-regular arrays for 2-level 
  factors from textbook by Mee 2009
- improved print.design for blocked and split-plot structures: 
  structured the printout to display structuring lines between blocks or plots
- improved summary.design for FrF2-type designs: 
  - removed empty aliased entries (i.e. empty entries for main or fi2s 
    that were displayed as character(0) previously)
  - added the possibility to displaying the design itself with the summary
    (default: designs with up to 40 runs and 12 factors are displayed, others not;
    controllable by option brief)
  - added display of generator information via function generators 
    (generic with methods)
    - note that function generators.design does not work for designs of 
      types FrF2.param... and FrF2.folded
    - note that this feature does not work on blocked or splitplot designs 
      that were produced with old versions of FrF2, 
      as calculated generators would be wrong in some cases
      (this is protected against by checking for the new entry FrF2.version 
      in design.info of newer FrF2 designs) 
  - removed message on non-usage of center points with formula.design
bug fixes:
  - nlevels of length 1 with ID produced uncaptured error
  - various factor specifications with only one factor produced uncaptured error
  - full factorial is returned whenever possible; originally, 
    a (arbitrarily badly-aliased) design from the orthogonal array catalogue was returned, 
    if one existed with same size as full factorial


13/01/2010, Version 0.9-14
- fixed new bug in plot.design that stopped the function to work for designs 
  with responses

13/01/2010, Version 0.9-13
- modified function plot.design to enable selection of some factors only
- fixed bug in plot.design that led to creation of an insubstantial warning
  for many designs

13/01/2010, Version 0.9-12
- created function show.oas, which allows to inspect the available orthogonal 
  arrays according to a few criteria
Bug fixes:
- fac.design and oa.design did not provide reasonable error messages, 
  if nlevels contained integers below 2

02/01/2010, Version 0.9-11
- extended print.design and summary.design to accomodate specialities of 
  D-optimal designs
Bug fixes:
- summary.design gave the wrong number of blocks 
  (block size instead of number of blocks)
- export.design for csv files exported row names without header, 
  which led to a numeric variable X when reimporting the file 
  with default behavior

27/11/2009, Version 0.9-10
- bug fix of Version 0.9-9 really implemented

27/11/2009, Version 0.9-9
- bug fix: column names of desnum attribute were not updated to new names when
     using `factor.names<-` replacement for the design

26/11/2009, Version 0.9-8
- added a function col.remove for removing responses and non-design columns 
  while preserving the class design structure
- added a remove option to `response.names<-` 
- added to function `factor.names<-` the possibility of choosing 
  whether or not to modify contrasts
- made documentation of class design more explicit for attributes desnum 
  and value of assignment functions `response.names<-` and `factor.names<-`
- provided for lm.design and formula.design for Dopt designs (to be implemented 
  soon in DoE.wrapper)
- modified summary.design:
  - cat instead of message for design generation info for RcmdrPlugin.DoE
    (--> no longer shown as warning in RcmdrPlugin.DoE)
  - improved output for ccd, bbd and lhs designs 
    (further enhancements to come, which require pending changes in DoE.wrapper)
- modified export.design to include more meaningful headers for factor levels 
  legend in case of quantitative designs
bug fixes: 
`factor.names<-` now also modifies the legend of the alias information 
  for FrF2 designs. Furthermore, it correctly handles designs with quantitative 
  factors and does not modify the desnum attribute of lhs, ccd and bbd designs.

05/11/2009, Version 0.9-7
The fix in 0.9-6 was not as robust as intended, reverted to the previous version. 

04/11/2009, Version 0.9-6
provided a more robust bug fix for the "lm.default" not found bug: 
modified the call of the stored lm objects so that they can be handled 
without package DoE.base loaded, and excluded lm.default and lm.design 
from exporting again; 
also removed most arguments from lm.default

03/11/2009, Version 0.9-5
- bug fix: 
  export also lm.default and lm.design, as registration as S3 methods did not 
  suffice to have them found; this messed up function update (error message: 
  lm.default not found)
  Thanks to Alex Loguinov for the bug report.
- fixed broken links in documentation to formula.design

25/09/2009, Version 0.9-4
- corrected another link in documentation for lm.design

17/09/2009, Version 0.9-3
- added meaningful title to showData display (was always undesign(dataframe))
- corrected a link in documentation for lm.design

14/09/2009, Version 0.9-2
- add.response now converts the name of a numeric variable to a valid R name. This 
  solves issues with using add.response indirectly when applying it with a calculated response. 
- oa.design and fac.design now also convert factor names to valid R names using make.names
- param.design now converts given response names to valid R names.

11/09/2009, Version 0.9-1
- changed message to cat in print and summary
- added function SN for signal-to-noise ratio 
  (target only, since other versions are not scale invariant)
- added generic, default and design method for showData (in support of RcmdrPlugin.DoE)

07/09/09, Version 0.9
- export function contr.FrF2 
- fixed bugs in oa.design and fac.design for factor.names as an unnamed list 
  for cases with nfactors unspecified 
- made all experimental factors for function fac.design R factors per default 
  (previously, numeric 2-level experimental factors were exported as numerics)
- created method for aggregate for aggregating related response columns for the wide 
  designs (useful for repeated measurements and parameter designs)
- made contrasts option of function qua.design more user-friendly
- added function change.contr to change contrasts for design objects 
  even more user-friendly than with qua.design
- made function formula.design (method for function formula) a serious function that 
  covers the currently available design types for packages DoE.base, FrF2 and DoE.wrapper
- added a generic, a default and a class design method for function lm,
  the class design method of which does default analyses and adds the class lm.design 
  to the output object
- added a summary method for class lm.design that adds a class summary.lm.design 
  to a standard output object from summary.lm
- added print methods for classes lm.design and summary.lm.design in order to
  make sure that automatic changes to the data body (like 
  omission of center points or aggregation) cannot go unnoticed
- added function iscube (identical to the one in package FrF2) as an internal function  
  in support of lm.design
- bug fix: [.design generated a warning for logical i 
- bug fix: repeat.only element of design.info of wide format repeated measurement designs 
  was TRUE, which led to inconsistent behavior (fixed in function reptowide)

24/08/09, Version 0.8
- updated qua.design to also be able to make quantitative designs qualitative (except lhs designs), 
  fixed several bugs in qua.design, added a test file, and tidied the code
- made functions fac.design and oa.design tolerate factor.names to be an unnamed list
- bug fix: plot.design did not work, if design.info had a quantitative element with all entries NA
- removed bug for add.response, if some but not all response values are NA and replace=FALSE
Thanks to Matthias Burger for initiating the following improvements:
- exported function origin and added a usage example (was unintentionally internal before)
- eliminated instances of partial argument matching in function html.data.frame
- use functions comment and comment<- from package base and do not define special function here
- fixed installation note regarding global binding of result
- improved markup in Rd files


17/08/2009, Version 0.7
- added function plot.design for allowing to deviate from plot.design 
  in package graphics as appropriate
- splitted documentation for class design into documentation of class itself 
  with direct accessor functions on the one hand and methods for the class 
  on the other hand
- generalized function des.recode to be usable within FrF2 as well in place of the 
  previously existing internal function within FrF2; 
  made the function visible rather than internal
- bug fix: explicitly disabled qua.design for designs with center points for the time being
  (it is intended (but not trivial) to allow switching away from quantitative later)

12/08/2009, Version 0.6-1
- added further design types to designs for which run.order is displayed
  (for upcoming version of FrF2)
- bugfix: function design.info refused to assign correct design info element 
  to blocked designs

11/08/2009, Version 0.6
- further restricted the designs to be treatable by function cross.design 
  (splitplot and combined designs excluded, wide version designs excluded, 
  designs with response.names excluded);
  this should not limit reasonable use much and greatly reduces the number 
  of cases to be distinguished
- improved the design.info content for designs output by function cross.design, 
  particularly the generators element (in case of FrF2.generator designs), but also 
  for the elements generating.oa, origin, residual.df, clear, res3, map, nlevels 
  (the last two are set to NULL and replaced by elements cross.map and cross.nlevels 
  respectively)
- modified the type of designs output by function paramtowide to be the type of the 
  inner array design suffixed by .paramwide
- modified the design.info for wide parameter designs to refer to the inner array 
  only (the outer array is usually the noise array that is aggregated over in various 
  ways for analysis purposes)
- modified summary.design (printing of response for wide format designs) 
- added function qua.design for switching between quantitative and qualitative factors 
  and choosing contrasts for qualitative factors (limited freedom of choice for contrasts!)
- documentation bug fix: nruns in oa.design gives the *minimum* number of runs


31/07/2009 Version 0.5
- changed R version to R-2.8.0 or newer (extractor for class design does not work 
  with earlier versions)
- added function print.design for printing useful information along with the design
- added function summary.design for providing key information from design.info in 
  convenient format
  (will be developed further and may still change)
- added functions reptowide and reptolong to reshape the experiment for 
  repeated measurements (repeat.only=TRUE) between wide and long shape;
  still experimental when applied to non-standard designs
- added function cross.design for crossing designs, 
  algorithm modified from function direct.sum from package conf.design
- added function param.design for creating Taguchi style inner/outer array designs, 
  and function paramtowide for setting these to wide format
- added type all to export.design so that both csv and html can be output at the same time; 
  meant for non-Excel users who want to work with csv file but nevertheless need the legend from 
  html file
- new function add.response to combine exported design with externally input response data;
  this is still somewhat experimental
- extended extractor method for designs to allow limited replication possibilities
- added modification step to creator attribute of designs modified by extraction
- removed intercept column from desnum attribute for designs created with 
  fac.design or oa.design or modified with factor.names
- bug fix: there were unintended names attached to the selected.columns element in design.info;
  these were not always correct and have now been removed
- bug fix: [.design did not always work correctly if j was not specified
- bug fix: run.no.in.std.order for run.order attribute of functions fac.design 
  and oa.design was previously made unique (by uniqueness of row.names for data frames); 
  corrected to yield the run numbers only
- bug fix: renamed randomized to randomize in functions oa.design and fac.design, 
  in line with package FrF2, and adjusted documentation accordingly

15/07/2009   Version 0.4-1
- bug fix in function fix.design: error checking for changed factors 
  had a bug and stopped perfectly legal edits from being stored.


13/07/2009   Version 0.4
- all experimental factors are now R-factors, even if they are numeric
- export.design can now also export the R workspace only, without csv or html
- bugfix: export.design did not correctly check replacing of files in case of 
  capital letters in file names
- modified export.design to handle factor labels with blanks from (future) GUI 
  package RcmdrPlugin.DoE
- added S3 generic for fix with default and design method
- extended design.info for output objects from function oa.design to include nruns, 
  nfactors and nlevels
- improved documentation of class design and the respective parts of the value 
  sections of functions oa.design and fac.design
- included function contr.FrF2 and constant Yates from package FrF2 
  (not exported; also remain in package FrF2)

27/06/2009   Version 0.3
- added list element creator to design.info attributes of created designs
  and improved documentation of class design and its accessors
- bug fix in documentation to export.design and several other small changes 
  in documentation and package description
- substantially improved and extended documentation to function oa.design

26/05/2009   Version 0.2
- modified internal function html.data.frame, 
  so that top row of html file created by export.design 
  is only one row when file is opened in Excel 
  (changed top row formatting from <h3> to <b>)
- added options filename and replace to function export, 
  in order to protect users from inadvertent replacement of existing 
  files and to allow filenames different from design names
- moved documentation of constant Letters from oa.design.Rd 
  to Utilities.Rd