plot_bs() builds the x-axis correctly for a basis built with values outside of
the boundary knots.Rcpp::stop() for consistent error signaling.
(Thanks to @Enchufa2, re #63)cpr()'s progress argument has been extended to control if a progress bar is
used for just the cpr steps, or if a more detailed progress form of the
influence weight calculations is reported.
influence_of_iknots() gains parallel execution via pbapply() (#17)
plot.cpr_cp() gains the argument comparative which, when set to FALSE and
only one cpr_cp is passed in for plotting, the graphic will appear more like
the plot.cpr_bs() results. When comparative = TRUE or more than one
cpr_cp is present, the behavior from v0.3.0 is retained.
cp.formula() gains the methods.args argument to pass arguments to the
regression method instead of relying on ....
d_order_statistic() and p_order_statistic() were added. These functions allow
you to get the density or distribution function for the jth order statistic
from a sample of size n from a distribution with defined density and
distribution functions within R.
sign_changes() will count the number of sign changes of the first or second
derivative of a spline function.
get_spline() returns standard errors and derivatives (#60)
loglikelihood() is not exported in the namespacesummary.cpr_cp() now calculates the "wiggle" of the function by default, that
is, changes the default from wiggle = FALSE to wiggle = TRUEcp() and cn() both have the default keep_fit argument set to TRUE. This
change was made to simplify the prediction methods.print.cpr_bt() returns the object invisibly, it used to return a str(x).print.cpr_cn() returns the object invisiblyprint.cpr_cnr() returns the object invisiblyprint.cpr_cpr() returns the object invisiblyRefactor of c++ defining basis functions, derivatives of basis functions, b-splines structures
cp.formula() checks the formula and requires that bsplines() is used once
and is the first term on the right hand side of the formula.
help(cpr-defunct) for details.cpr() has examplesImports to Suggests (re #36)ggplot2::aes_string()First public release.
plot.cpr_cn() supports rgl and plot3D graphicsget_spline() is an S3 method for getting a data.frame of interpolated values
of a spline given a cpr_cp object. Later development will add methods for
cpr_cn objects.predict.cpr_cp() and predict.cpr_cn() methods addedmatrix_rank() addedupdate_bsplines() and update_btensor() methods added (#27)Documentation improvements.
influence_of() and plot.cpr_influence_of() provide a clean interface for users
to explore the influence of a set of knots on a spline function. (#19)color (TRUE/FALSE) option added to plot.cpr_bs().plot.cpr_cn() lets the user plot 2D surfaces for tensor product surfaces. The
plots are for the whole surface if the input is a 2D tensor product, and is a
2D slice evaluated at a given value for other margins for 3+ dimensional
tensor products.is. a collection of is.cpr_cp(), is.cpr_bs(), ... functions added.spdg has been added to the package.build_tensor() definitionThis version has a fairly polished set of tools for b-splines, cpr, and cnr. This version seems to be in a good place for use in the three major papers
Continued development should be focused on bug fixes and minor enhancements.
cnr() (#8)cnr() (#10)show_xi to cpr:::plot.cp() and using ggplot2::geom_rug() to show the
location of the knots for each of the control polygons plotted.summary() for cpr_cn and cpr_cnr objects added.plot() method for cpr_cnr objects.margin option in cnr() allows the user to specify which marginals CNR will
be applied to.sec.axis option from ggplot2_2.2.0 for the plotting of the knot
sequence and numeric values in plot.cpr_bs() (#18)from and to arguments for plot.cpr_cpr() fixed (#14)iknots argument in btensor()keep is correctly handled in the cnr() call.show_xi correctly handled in the plot.cpr_cp() call.knot_expr() created to help with plotting the knot
locations in cpr:::plot.cpr_bs().plot.cpr_cp() allows the user to suppress the plotting of the control polygon.
When plotting multiple control polygons and splines, this option will make it
easier to view the spline functions.First version of univariable cpr methods ready for deployment
cpr::cp() and cpr::cpr() have been used for the simulations which are aimed to
be part of the first manuscript. Modifications might be needed, but hopefully
the univariable methods are stable.
A lot of changes in the implementation and API have occurred from the 0.0.x
series. The aim for version 0.2.0 will be to have a very similar API for
cpr::cn() and cpr::cnr() as provided for the cpr::cp() and cpr::cpr() calls.
bsplineD()bsplines()generate_cp_data()deboor.cpp file so that the bsplines() are accessible. The
prior design only allowed access to the basis, the current design allows
access to the generic B-splines.Version 0.0.3 is the version of the package used to run the analysis and simulations presented in the paper submitted to the 28th International Biometrics Conference, Western North American Region (WNAR) of the Internal Biometric Society, Student paper competition. The conference will be held 10 - 16 July 2016 in Victoria, British Columbia, Canada.
Corrected the attributes calls within cpr() after adjusting the attributes
being set on a cpr_cp.
plot.cpr_bs() correctly displays the indices for the knot sequence.
boehem.cpp are cleaner.plot.cpr_cpr() allows user to select either control polygons or sums of
squared residuals to be plotted.greville_sites() removed.tensor() for building tensor products of cpr::bsplines().influence_weights() to get the influence weights for each
internal knot on each marginal of a tensor product.is.cpr_bs() added.cp()trimmed_quantile() handles the use_unique option correctlycp() and cpr()First usable version with the method based on the 'importance weight' of internal knots based on reversing the methods presented by Boehm (1980). Development of metrics and methods for parsing out the preferable models.
Version 0.0.1.9003 was the first stable version for fitting the exact data model.
This version was based on the idea that using an angle to reduce the control polygon was a good idea. Further literature review and simulations showed otherwise. This version is marked for posterity and the cpp functions are going to be useful in the following versions as well.