BUG FIX project_to_curve()
: Return error message when x
or s
contain insufficient rows.
BUG FIX unit tests: Switch from svg()
to pdf()
as support for svg()
might be optional.
project_to_curve()
: Fix pass-by-reference bug, issue #33. Thanks to @szcf-weiya for detecting and fixing this bug!BUG FIX: Fix warning in stats::approx()
due to changes made in R 3.6.
DEFUNCT principal.curve()
and get.lam()
.
BUG FIX: Removed extra dependencies in princurve by removing vignettes; fixes #28.
DEPRECATION principal.curve()
and get.lam()
.
DOCUMENTATION: Use the magick
package to generate animated GIFs in the vignette, instead of the animation
package, because animation
uses ffmpeg
which is not installed on all CRAN systems.
DEPRECATION: Added deprecation which will be triggered starting from 2018-08-01 upon calling principal.curve()
or get.lam()
.
DOCUMENTATION: Added vignettes on the algorithm behind princurve and on benchmarking results between princurve 1.1 and 2.1.
BUG FIX principal_curve()
: Don’t apply rownames to curve as approx_points could be set to a different value other than nrow(x)
.
TESTING: Skip comparison unit test between princurve 1.1 and 2.1 on CRAN.
MINOR CHANGE project_to_curve()
: Attempt to fix rchk warnings by not using x(i, j) = v
notation but instead x[j * x.nrow() + i] = v
.
DOCUMENTATION: Fix in README documentation.
BUG FIX principal_curve()
: avoid division by zero when the initial principal curve has already converged.
BUG FIX project_to_curve()
: set dimension names of outputted s
correctly.
DOCUMENTATION: Added cran-comments.md
and revdep
to repository.
MINOR CHANGE: Removed adjust_range()
; use grDevices::extendrange()
instead.
TESTING start_circle()
: Added unit tests.
BUG FIX start_circle()
: Make sure circle is centered and scaled correctly.
MINOR CHANGE: Move smoother functions from inside principal_curve()
to a list smoother_functions
.
TESTING smoother_functions
: Added tests to ensure each of the smoother functions work correctly.
SPEED UP project_to_curve()
: Significantly speed up this function by not allocation objects that don’t need allocation, and pre-allocating objects that do.
SPEED UP principal_curve()
: Added approx_points
parameter. This allows approximation of the curve between smoothing and projection, to ensure principal_curve()
scales well to higher numbers of samples.
BUG FIX: Fixed issues with legacy principal.curve()
and get.lam()
(#8).
TESTING: Perform direct comparison between the current princurve and princurve 1.1-12 to check whether principal.curve()
and get.lam()
produce output with exactly the same format and almost exactly the same values.
SIGNIFICANT CHANGE: Remove the ord
parameter from project_to_curve()
, in order to reduce the amount of Rcpp code a little bit.
DOCUMENTATION: Improved citations (#10).
DOCUMENTATION: Improved news (#11).
SPEED UP project_to_curve()
: Do not compute lambda
accurately as it is only used to order the points in x
.
MINOR CHANGE: Added ...
argument to whiskers()
.
DOCUMENTATION: Minor fix in output documentation of principal_curve()
.
DOCUMENTATION: Added more information to the README.
MINOR CHANGE: Support both news()
and markdown news on GitHub.
SIGNIFICANT CHANGES: Reimplemented project_to_curve()
completely in Rcpp, thereby completely removing all Fortran code from princurve.
TESTING: test both on linux and osx.
TESTING: Added tests to ensure project_to_curve()
works similar to legacy get.lam()
.
MAINTAINER: Changed the maintainer from Andreas Weingessel to Robrecht Cannoodt.
SIGNIFICANT CHANGES: Added functions principal_curve()
and project_to_curve()
with a slightly different interface than principal.curve()
and get.lam()
.
DEPRECATION: Prepare get.lam()
and principal.curve()
for deprecation planned on 2018-07-01. Will contact maintainers of reverse depending packages.
BUG FIX: Allow start_circle()
to work when the number of dimensions is larger than 2.
DOCUMENTATION: Rewrite the README in markdown.
DOCUMENTATION: Use roxygen2 for the documentation.
MINOR CHANGES: Clean up code to ensure consistent code formatting.
TESTING: Added tests for principal_curve()
and project_to_curve()
.
TESTING: Enabled continuous integration using travis-ci.org and ci.appveyor.com.
MINOR CHANGES: Update for R 2.0.
DEPRECATION: Removed whiskers()
BENCHMARKING: For larger data sets, most of the time is spent in get.lam()
.
BUG FIX: smooth.spline(x,y)
will only use and return values for “unique” {x}:s. This means that the fitted {y}:s maybe be fewer than the input vector. In order to control for this, we use predict()
.
NEW FEATURE: Now smoother
can also be a function taking arguments lambda
, xj
and ...
and return y
of the same length as lambda
and xj
.
NEW FEATURE principal.curve()
: Arguments start
and stretch
can be NULL, which behaves the same as if they are “missing” [which is hard to emulate with for instance do.call()
].
NEW FEATURE: Added converged
and nbrOfIterations
to return structure.
SPEED UP/MEMORY OPTIMIZATION: Now the nxp matrix ‘s’ is allocated only once. Before it was built up using cbind() once per iteration.
SPEED UP: Now the smoother function is identified/created before starting the algorithm, and not once per dimension and iteration.
MEMORY OPTIMISATION principal.curve()
: Now the result matrix allocated as doubles, not logicals (as NA is), in order to prevent a coersion.
BUG FIX: An error was thrown if smoother
was a function.
MINOR CHANGES: Cleaned up source code (removed comments).
MINOR CHANGE: Depend on R >= 1.9.0
MINOR CHANGE: Changed license to GPL version 2 or newer, as granted by Trevor Hastie.
MINOR CHANGE: Don’t require defunct modreg
.
PACKAGE
to Fortran calls.T
to TRUE
.MINOR CHANGE plot.principal.curve()
: Rename argument object
to x
.
MINOR CHANGE lines.principal.curve()
: Rename argument object
to x
.
MINOR CHANGE points.principal.curve()
: Rename argument object
to x
.
MINOR CHANGE: Rename internal functionstart.circle()
to startCircle()
.
DESCRIPTION: Added Title and Maintainer field.
MINOR CHANGES: Changed F
to FALSE
.
DOCUMENTATION: Added keywords to get.lam()
.
DOCUMENTATION: Expanded documentation of principal.curve()
: added default values to usage, description, keywords and aliases.
MINOR CHANGES: Changed precision in getlam.f
from v(2,10)
to v(2,p)
.