Skip to content

DavidGamba/csv-analysis

Repository files navigation

CSV-Analysis

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

\$y = ax^b\$

\$log y = log a + b * log x\$

\$Y = log y\$
\$X = log x\$
\$A = log a\$
\$B = b\$

Exponential

\$y = ae^(bx) = aB^x\$

\$ln y = ln a + bx = ln a + ln B * x\$

\$Y = ln y\$
\$X = x\$
\$A = ln a\$
\$B = b = ln B\$

Logarithmic

\$y = a + b ln x\$

\$y = a + b ln x\$

\$Y = y\$
\$X = ln x\$
\$A = a\$
\$B = b\$

Reciprocal

\$y = a + b / (1 + x)\$

\$y = a + b * 1 / (1 + x)\$

Reciprocal

\$y = 1 / (a + bx)\$

\$1/y = a + bx\$

Reciprocal

\$y = 1 / (a + bx)^2\$

\$1/sqrt(y) = a + bx\$

Square Root

\$y = a + b * sqrt(x)\$

\$y = a + b * sqrt(x)\$

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 R2 calculations.

  • Change power transformation from Log10 to Ln.

  • Add Growth \$y = ae^(b/x)\$ → \$ln y = ln a + b * 1/x\$

  • Add hyperbola \$y = x / (ax - b)\$ → \$1/y = a - b (1/x)\$

License

This file is part of csv-analysis.

Copyright © 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/.

Releases

No releases published

Packages

No packages published