I have started to develop some R packages. Most of the work is publicly available on github. Here are the highlights:
Table of Contents
Control Polygon Reduction (CPR) is a method for finding parsimonious B-spline regression models. The cpr package provides methods for working with B-splines, control polygons, and running the CPR algorithm. Extension to control nets, and the control net reduction (CNR) algorithm for multi-variable B-spline models is also part of this package.
When I need to provide a data analysis report, a manuscript draft, or working on my dissertation, I am almost certainly working in a literate programming paradigm. Nearly every document I produce is done using some subset of of R, knitr, pandoc, LaTeX, or markdown. As such, I have commonly needed for format strings, build data summary tables, or build specific graphics. The qwraps2 package is a collection of functions and tools I have been building and collecting to make my life easier. There are many packages like this on CRAN and elsewhere. The API and use of qwraps2 is design for my idiosyncrasies. I hope you will try it out, check the vignettes and even contribute to the work on github.
An R package Providing a conformal mapping of one 2D polygon to a rectangular region via the Schwarz-Christoffel theorem.
Methods are provide to find a convex hull for an arbitrary set (x, y) coordinates. This hull, and the points within, are, via an (inverse) Schwarz-Christoffel mapping, mapped to the unit disk. A second Schwarz-Christoffel mapping from the unit disk to an arbitrary rectangle is use to finish the conformal mapping.
This package builds hulls via Andrew’s monotone chain algorithm implemented in C++. The Schwarz-Christoffel mappings are provided by the FORTRAN SCPACK by Lloyd N. Trefethen.
Not on CRAN The FORTRAN code writes to the terminal directly. It is possible that when the FORTRAN code errors that the R session will be terminated as well. For these reasons the package does not pass CRAN checks. My FORTRAN skills are minimal, and it is a low priority, to fix this problem. If you’d like to help fix see Issue #1.