If you've ever used R's lowess() and you wish you could call it from Ruby, this gem's for you.
Installation
gem install lowess
or in your Gemfile:
gem 'lowess'
Usage
require 'lowess'
points = [
Lowess::Point.new(1, 1.1),
Lowess::Point.new(1.3, 1.3),
Lowess::Point.new(1.7, 1.1),
Lowess::Point.new(2.1, 1.1)
]
# returns (1.0000, 1.1457) (1.3000, 1.1576) (1.7000, 1.1455) (2.1000, 1.0849)
Lowess::lowess(points, f: 1.0, iter: 4).join(' ')
Development
To run tests: rake
To fiddle with C: look in ext/ext_lowess
To build the gem: rake gem
To release a new version: edit lib/lowess/version.rb; rake gem; gem push lowess-VERSION.gem
License
GPL2 because the code is downloaded from R automatically.