Tablemath

1 Preface

Math and stats modelling with table ergonomics

What is this about?

This project is an initial attempt to create a Clojure library for math and statistics which is friendly to tech.ml.dataset and Tablecloth datasets and uses the functionality of Fastmath. It is also intended to compose well with Tableplot layered plotting. It is highly inspired by R and its packages.

In a way, it is intended to be a user-friendly compatiblity layer across these libraries.

Possibly, after the details clarify, it will be merged into one of the other Scicloj libraries.

General info

Website https://scicloj.github.io/tablemath/
Source (GitHub repo)
Deps Clojars Project
License EPLv1.0
Status 🛠experimental🛠
Dev chat #tableplot-dev at Clojurians Zulip
User chat #data-science at Clojurians Zulip

License

Copyright © 2024 Scicloj

EPLv1.0 is just the default for projects generated by clj-new: you are not required to open source this project, nor are you required to use EPLv1.0! Feel free to remove or change the LICENSE file and remove or update this section of the README.md file!

Distributed under the Eclipse Public License version 1.0.

Chapters in this book

A little example

(require '[scicloj.metamorph.ml.toydata.ggplot :as ggtoydata]
         '[scicloj.tablemath.v1.api :as tm])
(-> ggtoydata/mpg
    (tm/design [:hwy]
               ['(tm/polynomial displ 2)
                '(tm/one-hot cyl)])
    tm/lm
    tm/summary)
Residuals:

|      :min |       :q1 |   :median |      :q3 |      :max |
|-----------+-----------+-----------+----------+-----------|
| -6.502952 | -2.199655 | -0.442628 | 1.731071 | 13.353114 |

Coefficients:

|     :name |  :estimate |  :stderr |  :t-value | :p-value |    :confidence-interval |
|-----------+------------+----------+-----------+----------+-------------------------|
| Intercept |  51.748906 | 2.691953 | 19.223552 |      0.0 |   [46.444619 57.053194] |
|    :displ | -13.793419 | 1.632143 | -8.451108 |      0.0 | [-17.009432 -10.577406] |
|   :displ2 |   1.414259 | 0.188842 |  7.489108 |      0.0 |      [1.04216 1.786358] |
|    :cyl=6 |   1.349072 | 1.017946 |  1.325289 | 0.186402 |    [-0.656712 3.354856] |
|    :cyl=8 |  -1.065045 | 1.614092 | -0.659841 | 0.510022 |      [-4.245489 2.1154] |
|    :cyl=5 |    2.64552 | 1.748691 |  1.512857 | 0.131701 |    [-0.800141 6.091182] |

F-statistic: 100.78409449422603 on degrees of freedom: {:residual 228, :model 5, :intercept 1}
p-value: 0.0

R2: 0.68849074650116
Adjusted R2: 0.6816594032226767
Residual standard error: 3.35970986421829 on 228 degrees of freedom
AIC: 1239.1329320273042
source: notebooks/index.clj