plot_bs()builds the x-axis correctly for a basis built with values outside of the boundary knots.
- Spelling and gammar fixes in documentation and vignettes.
- C++ error handling now uses
Rcpp::stop()for consistent error signaling. (Thanks to @Enchufa2, re #63)
-
cpr()'sprogressargument 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 viapbapply()(#17) -
plot.cpr_cp()gains the argumentcomparativewhich, when set toFALSEand only onecpr_cpis passed in for plotting, the graphic will appear more like theplot.cpr_bs()results. Whencomparative = TRUEor more than onecpr_cpis present, the behavior from v0.3.0 is retained. -
cp.formula()gains themethods.argsargument to pass arguments to the regression method instead of relying on.... -
d_order_statistic()andp_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 fromwiggle = FALSEtowiggle = TRUEcp()andcn()both have the defaultkeep_fitargument set to TRUE. This change was made to simplify the prediction methods.print.cpr_bt()returns the object invisibly, it used to return astr(x).print.cpr_cn()returns the object invisiblyprint.cpr_cnr()returns the object invisiblyprint.cpr_cpr()returns the object invisibly
-
Refactor of c++ defining basis functions, derivatives of basis functions, b-splines structures
-
cp.formula()checks theformulaand requires thatbsplines()is used once and is the first term on the right hand side of the formula.
- A major refactor of the internal code since v0.3.0 has resulted in several
functions becoming defunct, see
help(cpr-defunct)for details.
cpr()has examples
- Depends on Rcpp >= 0.12.11 (actually moved to >= 1.0.11) to handle registering native routines.
- Moves rgl from
ImportstoSuggests(re #36) - Refactoring base code to eliminate the use of dplyr, tidyr, tibble, etc. Focus on base R methods to reduce install dependencies and improve long term stability of the package.
- Require R > 3.5.0
- Stop using testthat for testing
- Remove use of the tidyr, dplyr
- Improve documentation
- Minor bug fixes
- Replace use of now deprecated
ggplot2::aes_string()
First public release.
plot.cpr_cn()supportsrglandplot3Dgraphics- start of a vignette.
get_spline()is an S3 method for getting adata.frameof interpolated values of a spline given acpr_cpobject. Later development will add methods forcpr_cnobjects.predict.cpr_cp()andpredict.cpr_cn()methods addedmatrix_rank()addedupdate_bsplines()andupdate_btensor()methods added (#27)
Documentation improvements.
influence_of()andplot.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 toplot.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 ofis.cpr_cp(),is.cpr_bs(), ... functions added.- The dataset
spdghas been added to the package.
- removed a redundant
build_tensor()definition
This 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
- Methods 1: uni-variable functions,
- Methods 2: multi-variable functions, and
- Software paper.
Continued development should be focused on bug fixes and minor enhancements.
- Option to save fits in
cnr()(#8) - Option to define the number of polynomial coefficients to use in
cnr()(#10) - x-axis tick label options for plotting b-splines (#12)
- added
show_xitocpr:::plot.cp()and usingggplot2::geom_rug()to show the location of the knots for each of the control polygons plotted. summary()forcpr_cnandcpr_cnrobjects added.plot()method forcpr_cnrobjects.marginoption incnr()allows the user to specify which marginals CNR will be applied to.- Using
sec.axisoption fromggplot2_2.2.0for the plotting of the knot sequence and numeric values inplot.cpr_bs()(#18)
fromandtoarguments forplot.cpr_cpr()fixed (#14)- correct construction of missing
iknotsargument inbtensor() keepis correctly handled in thecnr()call.show_xicorrectly handled in theplot.cpr_cp()call.
- non-exported function
knot_expr()created to help with plotting the knot locations incpr:::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.
- Extended testing scripts.
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.
- First and second derivatives of B-splines via
bsplineD()
- Examples added to
bsplines()
- Added the not-to-be-exported function
generate_cp_data() - Redesign of the
deboor.cppfile so that thebsplines()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 acpr_cp. -
plot.cpr_bs()correctly displays the indices for the knot sequence.
- The knot insertion matrix W is accessible to end users in a new way.
Names of functions in
boehem.cppare cleaner. plot.cpr_cpr()allows user to select either control polygons or sums of squared residuals to be plotted.
- Removed the background vignette... too much detail right now, too much time required to build and install the package.
- Redundant definition of
greville_sites()removed.
- Added the function
tensor()for building tensor products ofcpr::bsplines(). - Added the function
influence_weights()to get the influence weights for each internal knot on each marginal of a tensor product. is.cpr_bs()added.- S3 methods for
cp()
trimmed_quantile()handles theuse_uniqueoption correctly- better handling of ... in
cp()andcpr()
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.
- The beginnings of the control-polygon vignette started (version 0.0.1.9001)
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.