Choose a Package

Quick routing between np, npRmpi, and crs based on the job you want to do.
Keywords

np, npRmpi, crs, choose a package, kernel methods, splines

If you are deciding where to begin, the short answer is this: start with the package that matches the job, not with the longest document.

If you want to… Start with Why
Fit kernel regression, density, distribution, or related tests on one machine np This is the core package and the natural starting point for most users.
Run the same style of kernel workflows on larger jobs using MPI npRmpi The package supports a modern session route on macOS/Linux and attach under mpiexec when that is the appropriate entry path.
Work with categorical regression splines and related constrained spline methods crs This package is the right entry point for spline-based work rather than kernel-based work.

A practical rule of thumb

  • Start with np unless you already know that you need MPI.
  • Move to npRmpi when the workflow is the same but the job is too large or too slow in serial.
  • Use crs when spline bases, shape restrictions, or spline-specific methods are the natural fit.

Recent Extensions

  • Kernel Methods: np and npRmpi now expose local polynomial capability across the conditional family, together with joint degree and bandwidth selection for mixed data.
  • Density, Distribution, Quantiles: bounded-kernel conditional density and distribution routes are now available when support bounds are known or when practical unknown-bound proxies are appropriate, and proper = TRUE now supports proper LP conditional density/distribution estimates when degree exceeds zero.
  • Worked Examples: Bonferroni and simultaneous variability bounds are new plotting additions, and plot.errors.type = "all" now shows them jointly with the traditional pointwise bounds.
  • Plotting and Intervals: renderer = "rgl" now supports interactive 3D rotation/zoom when rgl is installed, plot.rug = TRUE adds 1D/2D rugs, and plot.data.overlay = TRUE/FALSE controls whether y/x plots include the observed data.
  • MPI and Large Data: npRmpi is no longer confined to the older profile/manual-broadcast interface; current session and attach routes make np and npRmpi code much more interchangeable while preserving the profile route for users who want it.

Common routes

I want a simple first success

Go to Install and Get Started, install the package you need, and then use Quickstarts for the smallest runnable scripts before worrying about longer documents.

I already know I want kernel methods

Go to Kernel Methods. That page starts with np and then points you to npRmpi when parallel execution is warranted.

I already know I need MPI

Go directly to MPI and Large Data. The guidance there is organized around current session, attach, and profile usage rather than the older wrapper-heavy style.

I want working scripts

Go first to Quickstarts if you want the shortest path to runnable code. Then use Code Catalog, Worked Examples, or Interactive Demos when you want more context or a broader script library.

First commands to remember

install.packages("np")
install.packages("crs")

For npRmpi, installation depends on your MPI setup and operating system, so it is treated separately on MPI and Large Data.

Back to top