# Packages
# README
= CSV-Analysis :stem:
An easy to use csv data analyser.
The csv-analysis tool's goal is to provide an easy way to analyse your data with different tools so you can then create a customized tool that matches your data's needs.
In the case of a single column analysis, it will provide statistical information on the data.
In the case of X, Y datasets, it will provide different plots with the following:
- Y vs X.
- Y vs X, least squares polynomial regression.
- Linear Transformation Y vs X, least squares linear regression.
In the case of X, Y datasets, where the X dataset is time based, it will plot Y vs X and provide statistical information on the Y data.
== Linear transformation
|=== |Type |Equation |Linear |Transformation
|Power |stem:[y = ax^b] |stem:[log y = log a + b * log x] |stem:[Y = log y] + stem:[X = log x] + stem:[A = log a] + stem:[B = b]
|Exponential |stem:[y = ae^(bx) = aB^x] |stem:[ln y = ln a + bx = ln a + ln B * x] |stem:[Y = ln y] + stem:[X = x] + stem:[A = ln a] + stem:[B = b = ln B]
|Logarithmic |stem:[y = a + b ln x] |stem:[y = a + b ln x] |stem:[Y = y] + stem:[X = ln x] + stem:[A = a] + stem:[B = b]
|Reciprocal |stem:[y = a + b / (1 + x)] |stem:[y = a + b * 1 / (1 + x)] |
|Reciprocal |stem:[y = 1 / (a + bx)] |stem:[1/y = a + bx] |
|Reciprocal |stem:[y = 1 / (a + bx)^2] |stem:[1/sqrt(y) = a + bx] |
|Square Root |stem:[y = a + b * sqrt(x)] |stem:[y = a + b * sqrt(x)] |
|===
== Usage
link:csv-analysis.adoc[]
== Roadmap
-
Clean up code.
-
Add a nicer Readme.
-
Add man page.
-
Split into cli app and lib to allow for custom solutions.
-
Add list of common date formats to ease --xtimeformat use.
-
Read date formats in non-golang date formats. For example, the
date
command format. -
Fix R^2^ calculations.
-
Change power transformation from Log10 to Ln.
-
Add Growth stem:[y = ae^(b/x)] -> stem:[ln y = ln a + b * 1/x]
-
Add hyperbola stem:[y = x / (ax - b)] -> stem:[1/y = a - b (1/x)]
== License
This file is part of csv-analysis.
Copyright (C) 2017 David Gamba Rios
This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.