Package: PRIMsrc

---------------------------------------------------------------------------------
Date   : 2015-07-28
o RELEASE 0.5.7
- Initial release to CRAN.
- Compliance with new R CMD check, which now checks code usage via "codetools".
  Functions and packages from default packages other than base which are used in the package
  code are now imported via the package namespace file (NAMESPACE).
  Added new field 'Imports' in the package description file (DESCRIPTION) 
  to match the functions and packages newly imported via NAMESPACE.
- Added Cumulative Hazard Summary statistic (derived from the Nelson-Aalen estimator) 
  as new peeling criterion option in the PRSP algorithm.
- Built and tested under R-devel (2015-07-20 r68705) and release update to GitHub. 
---------------------------------------------------------------------------------
Date   : 2015-08-28
o RELEASE 0.5.8
- Removed pre-selection of variables (covariates) by regular Cox-regression
  and made the remaining Elastic-Net pre-selection of variables optional by
  passing an additional argument in the main function `sbh()`.
- Main function `sbh()` now returns the parameters used for configuring the parallelization.
- Replaced real dataset #2 of breast cancer data with lung cancer data for reason of size.
- Added S3-generic `print()` function and updated S3-generic `summary()` function.
- Created a new internal subroutine `cv.presel()` for (optional) variable pre-selection.
- Changed main argument of plot functions from `x` to `object`.
- Minor corrections in the manual.
- Built and tested under R-devel (2015-08-02 r68804) and release update to GitHub.
---------------------------------------------------------------------------------
Date   : 2015-09-07
o RELEASE 0.5.9
- Replaced plotting function `plot_scatter()` by S3-generic `plot()` function.
- Corrected all plotting functions for the case of a NULL graphical device.
- Cross-validated estimates of box endpoint quantities of interest now contains 
  sample size for all peeling steps.
- Minor updates and corrections in the outputs of S3-generic functions.
- Minor updates and corrections in the documentation file and manual.
- Built and tested under R-devel (2015-08-02 r68804) and release update to GitHub.
---------------------------------------------------------------------------------
Date   : 2015-09-15
o RELEASE 0.6.0
- The matrix of original dataset is now returned by the main function `sbh()` 
  and not the submatrix of pre-selected covariates only.
- Corrected bugs in the output of main function `sbh()`: 
  . the returned vectors of 'screened' and 'used' covariates are now in reference 
    to the original index of variables.
  . the value of traces and rules are now matched accordingly.
- The value of `object$cvfit$cv.trace` of the `PRSP` object that is returned 
  by the main function `sbh()` now only contains the vector of the modal trace values 
  of covariate usage at each step.
- Updated S3-generic `print()` function as well as `plot_boxtraj()` and `plot_boxtrace()` 
  accordingly.  
- Minor updates and corrections in the documentation file and manual.
- Built and tested under R-devel (2015-09-14 r69384) and release update to GitHub.
---------------------------------------------------------------------------------
Date   : 2015-10-11
o RELEASE 0.6.2
- Rename example datasets #4 and #5 into #1b and #4, respectively, 
  for consistency with companion article.
- Added argument `decimals` to main function `sbh()` to output results in
  user-specified significant decimals.
- Added examples for all S3-generic functions.
- Corrected output of decision rules in S3-generic `print` function in case `vs=TRUE`. 
- Renamed results `varsign`, `selected` and `used` as `CV.sign`, `CV.selected` and 
  `CV.used`, respectively. Moved them to `cvfit` field of return `PRSP` object.
- Minor improvement in output plot axes names of `plot_boxtrace()` function.  
- Updates of corresponding modifications in the documentation file and manual.
- Built and tested under R-devel (2015-09-14 r69384) and release update to GitHub.
---------------------------------------------------------------------------------
Date   : 2015-11-16
o RELEASE 0.6.3
- Changed random splitting in the cross-validation step to random stratified splitting 
  with/by conservation of events.
- Changed default values of metaparameters `alpha` to 0.05 (instead of 0.10) 
                                           `minn` to 5     (instead of 10).
- Modified computation of replicated cross-validated maximal peeling length in order to avoid 
  getting below the minimal box support threshold (i.e. the greater of `beta*n` or `minn`) 
  that could occur when combining results from the cross-validation loops and replicates. 
- Corrected behaviors in case `n` is less than `minn` and `n` is equal to `minn`.
- Corrected minor errors in `list2array()` and `list2mat()` internal functions.
- Corrected minor errors in `plot()` and `predict()` S3-generic functions.
- Updates in the manual file, including added explanation about the outputs of 
  averaged covariate traces, box membership indicators and box decision rules.  
- Updates in the CITATION file.  
- Built and tested under R-devel (2015-11-04 r69597) and release update to GitHub.
---------------------------------------------------------------------------------
Date   : 2017-05-30
o RELEASE 0.7.0
SIGNIFICANT USER-VISIBLE CHANGES
- Renamed class object 'PRSP' by 'sbh'.
- Renamed input value `arg` by `cvarg`.
- Renamed input value `cpv` by `pv`.
- Renamed input value of `parallel` by `parallel.rep` and added two more parallelization options 
  `parallel.vs` and `parallel.pv` for variable screening (pre-selection) 
  and computation of p-values, respectively.
- Renamed output value `selected` by `screened`.
- Removed input value `cvcriterion`. Now specified in `cvarg` (see below).
- Removed options `NULL` and `none` from cross-validation type `cvtype` and criterion `cvcriterion`.
- Removed argument `thr`. Now done internally.
- Added new user option `cv` in main function `sbh()` for optional cross-validation.
- Added new user option `vs` in main function `sbh()` for optional variable screening (pre-selection) procedure.
- Added new user option `vstype` in main function `sbh()` for variable screening (pre-selection) type.
- Added new user option `vsarg` in main function `sbh()` for variable screening (pre-selection) parameters.
- Added new user option `onese` in main function `sbh()` for using the 1SE rule.
- Added new user option `verbose` in main function `sbh()`.
- Modified user input in main function `sbh()` by using (`X`, `y`, `delta`) instead of `dataset`.
- Modified `sbh()` output values of `object$cvfit$cv.rules` and `object$cvfit$cv.sign` of the 'sbh' object. 
  Results now contain `used` (selected) covariates instead of `screened` (pre-selected) ones.
- Changed default value of replications `B` to 30 (instead of 10).
- Changed default value of metaparameter `alpha` to 0.01 (instead of 0.05).
- Changed format and values of argument `conf` for setting up the parallel backend in case a parallel 
  cluster of computers is desired. 
NEW FEATURES
- Implemented four variable screening (pre-selection) procedures before variable usage (selection) 
  procedure is done. User can now choose between: 
  1. PRSP: Univariate Patient Recursive Survival Peeling (PRSP) algorithm
  2. PCQR: Penalized Censored Quantile Regression by Semismooth Newton Coordinate Descent algorithm 
     adapted from package "hqreg"
  3. PPL: Penalized Partial Likelihood adapted from package "glmnet" (default)
  4. SPCA: Supervised Principal Component Analysis adapted from package "superpc"
- New `sbh()` output values in `object$cvprofiles` of the 'sbh' object (in matrix format) to plot 
  cross-validation criterion as a funtion of both variables screening size profiles 
  and peeling length profiles, as it applies.
BUG FIXES
- Improved treatment of no variable pre-selection.
- Removed extraneous codes in main function `sbh()`.
- Corrected rare exception in the determination of cross-validated tuning parameter in `cv.ppl()` 
  and `cv.pcqr()` for variable selection procedures 2 and 3 above, respectively.
- Corrected discrepancy in a given step between `object$cvfit$cv.boxind` and `object$cvfit$cv.stats`. 
- Corrected internal function `cv.folds()` to handle degenerate cases of cross-validation and the case 
  when an outcome `y` is not provided (in which case a regular random splitting is performed that is not 
  supervised stratified).
- Simplified management of replications in case of failure: any failed replication is simply removed.
- Corrected number of replications to match the exact same number as user request and not a multiple 
  of the number of available cpus.
- The seed now applies to the computation of permutation p-values.
UTILITIES
- Updated real dataset #2 of lung cancer genomic data (miRNA) to inlude 5 additional clinical variables.
DEPRECATED AND DEFUNCT
- Management of parallelization is now done by specific user input, independently of `cvtype` 
  and `cvcriterion` options.
- Parallel cluster or communication mechanism now only allows type 'Socket' or 
  'Message-Passing Interface' ('MPI'). "PRIMsrc" no longer supports 'Parallel Virtual Machine' ('PVM').
KNOWN BUGS
- None at this time.
PACKAGE INSTALLATION
- Corrections and updates in manual and documentation files (Rd files).
- Updates in documentation files (DESCRIPTION, NEWS, CITATION and README).
- Built and tested under R version 3.4.0 (2017-04-21) and release update to GitHub.
---------------------------------------------------------------------------------
Date   : 2017-06-24
o RELEASE 0.7.1
BUG FIXES
- Corrected PRSP variable screening procedure in the case `cvcriterion`=`cer`: the procedure now looks 
  for a minimizer instead of the maximizer of the profile.
- Corrected misbehavior of PCQR and PRSP variable screening procedures when one replication could fail.
- Minor correction in the precision of computation of log-rank p-values if no cross-validation is requested:
  Now default to `decimals` parameter.
PACKAGE INSTALLATION
- Corrections and updates in manual and documentation files (Rd files).
- Updates in documentation files (DESCRIPTION, NEWS and README).
- Built and tested under R version 3.4.0 (2017-04-21) and release update to GitHub.
---------------------------------------------------------------------------------
Date   : 2017-07-18
o RELEASE 0.7.2
BUG FIXES
- Corrected return value of the 1-SE optimal value in cross-validated variable screening subroutines 
  in case the cross-validation could fail.
- Corrected return values of screened variables (with directions of directed peeling) in case the 
  cross-validation could fail.
PACKAGE INSTALLATION
- Corrections and updates in manual and documentation files (Rd files).
- Updates in documentation files (DESCRIPTION, NEWS and README).
- Built and tested under R version 3.4.1 (2017-06-30) and release update to GitHub.
---------------------------------------------------------------------------------
Date   : 2017-08-07
o RELEASE 0.7.3
SIGNIFICANT USER-VISIBLE CHANGES
- Changed default values and behavior of parameters 'S' and 'L' in the PRSP variable screening procedure 
  and PRSP algorithm itself, that are used for the cross-validation of the optimal model size (cardinal 
  of subset of top-screened variables) and the optimal number of peeling steps (optimal peeling sequence 
  length). See manual.
BUG FIXES
- Updated S3-generic `plot()` function. The scatterplot is now plotted only if exactly two dimensions are 
  specified, i.e. two of the `used` (selected) covariates of the 'sbh' object are specified.
PACKAGE INSTALLATION
- Corrections and clarifications in manual and documentation files (Rd files).
- Updates in documentation files (DESCRIPTION, NEWS and README).
- Built and tested under R version 3.4.1 (2017-06-30) and release update to GitHub.
---------------------------------------------------------------------------------
Date   : 2017-09-24
o RELEASE 0.7.4
SIGNIFICANT USER-VISIBLE CHANGES
- Simplified user experience by removing the PRSP parameter `minn` that was redundant with `beta`.
- Simplified user experience by removing the PRSP parameter `L` used in the PRSP variable screening 
  procedure and for fitting the Survival Bump Hunting (SBH) model itself that was redundant with the 
  automatic cross-validation option. The optimal number of peeling steps (optimal peeling sequence 
  length) is now determined systematically by cross-validation. See manual.
- Changed name and default value of parameter 'S' in the PRSP variable screening procedure to 'msize' 
  and NULL, respectively. See manual.
UTILITIES
- Improved speed of the PRSP variable screening procedure. 
BUG FIXES
- NA values are now correctly handled in the internal function `is.empty()`.
- One-step only peeling is now correctly handled by the PRSP algorithm.
- Vector of peeling steps in S3-generic `predict()` and `plot()` functions now correctly handled.  
PACKAGE INSTALLATION
- Corrections and clarifications in manual and documentation files (Rd files).
- Updates in documentation files (DESCRIPTION, NEWS and README).
- Built and tested under R version 3.4.1 (2017-06-30) and release update to GitHub.
---------------------------------------------------------------------------------
Date   : 2017-11-01
o RELEASE 0.7.5
BUG FIXES
- Corrected variables names mismatch when no variable screening was requested.
- Corrected handling of missing values in internal functions of package "survival".
- Corrected handling of no cross-validation case in the SPCA variable screening procedure.
PACKAGE INSTALLATION
- Updates in documentation files (DESCRIPTION, NEWS and README).
- Built and tested under R version 3.4.2 (2017-09-28) and release update to GitHub.
---------------------------------------------------------------------------------
Date   : 2018-08-25
o RELEASE 0.8.0
BUG FIXES
- Removed extraneous condition for stopping rule in internal function `prsp()`.
- S3-generic `plot()` function can now be plotted if only one dimension is specified, i.e. only
  one of the `used` (selected) covariates of the 'sbh' object is specified. In this case, 
  the scatterplot will be plotted using the `used` (selected) covariate and an arbitrary 
  dimension, both specified by the user.
- Minor typos corrections and URLs updates.
NEW FEATURES
- Added new peeling criterion `grp` that stands for "group" to carry out a modified 
  version of Survival Bump Hunting (SBH), called Group Survival Bump Hunting (GSBH) 
  using our PRGSP algorithm, derived from our original Patient Recursive Survival Peeling (PRSP).
SIGNIFICANT USER-VISIBLE CHANGES
- Modifications of options in plot functions accordingly.
- Renamed plot functions `plot_boxtraj()`, `plot_boxtrace()`, and `plot_boxkm()` to 
  `plot_traj()`, `plot_trace()`, and `plot_km()` respectively.
KNOWN BUGS
- None at this time.
PACKAGE INSTALLATION
- Updates in manual and documentation files (Rd files).
- Updates in documentation files (DESCRIPTION, NEWS, CITATION, and README).
- Built and tested under R version 3.5.1 (2018-07-02) and release update to GitHub.
---------------------------------------------------------------------------------
Date   : 2018-09-10
o RELEASE 0.8.1
BUG FIXES
- The program was mis-behaving if the group membership indicator variable (`group`) was 
  different from a factor. Argument `group` now correctly handles the case of a numeric 
  or character vector as well as a factor.
PACKAGE INSTALLATION
- Minor updates in manual and documentation files (Rd files).
- Minor updates in documentation files (DESCRIPTION, NEWS, and README).
- Built and tested under R version 3.5.1 (2018-07-02) and release update to GitHub.
---------------------------------------------------------------------------------
Date   : 2018-10-04
o RELEASE 0.8.2
BUG FIXES
- Fixed errors (release >= 0.8.0) of group membership indicator variable (`group`) in 
  S3-generic `plot()` and `plot_km()` functions.
- The main function `sbh()` now handles a rare exception of no steps in the peeling sequence
  of the PRGSP or PRSP algorithm.
- Corrected rare exception (release >= 0.7.0) in the determination of cross-validated tuning parameter 
  in `cv.ppl()` and `cv.pcqr()` for variable selection procedures 2 and 3 described above, respectively.
- Updated S3-generic `plot()` function. The scatterplot now correctly plots all possible 
  values of argument `proj` of the specified dimensions.
- The peeling profiles are now returned, and can be plotted, even when the option `cv` in main 
  function `sbh()` for optional cross-validation is tuned off.
SIGNIFICANT USER-VISIBLE CHANGES
- Changed default value of metaparameter `beta` to 0.10 (instead of 0.05).
- Added argument `asp` to S3-generic `plot()` function for proportional display option.
- Added argument `ci` to `plot_km()` function for confidence interval display option.
- Moved user option `vscons` for variable screening (pre-selection) conservativeness from 
  parameter `vsarg` to main function `sbh()` .
UTILITIES
- The S3-generic `predict()` function now allows the `newdata` to be of greater dimensionality than
  the input data `X`. It also returns additional values.
- User can now use any of the three cross-validation criterion when runing a Group Survival 
  Bump Hunting (GSBH) using our PRGSP algorithm.
- The cross-validation criterion now uses the log-rank test p-values to put an upper bound
  on the number of peeling steps and prevent risks of over-fitting. The optimal peeling length 
  is now the maximum step that maximizes or minimizes the usual cross-validation criterions 
  LHR, LRT, or CER, respectively, AND for which the log-rank test p-value is significant at the 
  0.05 level. 
PACKAGE INSTALLATION
- Clarification about a possible apparent disconcordance in the way box estimates are reported. 
  See details section in manual of main function `sbh()`.
- Minor updates in manual and documentation files (Rd files).
- Minor updates in documentation files (DESCRIPTION, NEWS, and README).
- Built and tested under R version 3.5.1 (2018-07-02) and release update to GitHub.
---------------------------------------------------------------------------------


