Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Lisp-Stat/data-frame
Data frames for Common Lisp
https://github.com/Lisp-Stat/data-frame
common-lisp statistical-analysis
Last synced: about 1 month ago
JSON representation
Data frames for Common Lisp
- Host: GitHub
- URL: https://github.com/Lisp-Stat/data-frame
- Owner: Lisp-Stat
- License: ms-pl
- Fork: true (tpapp/cl-data-frame)
- Created: 2017-07-26T03:36:36.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-03-18T07:32:18.000Z (9 months ago)
- Last Synced: 2024-08-02T18:39:15.397Z (4 months ago)
- Topics: common-lisp, statistical-analysis
- Language: Common Lisp
- Homepage: https://lisp-stat.github.io/data-frame
- Size: 1.97 MB
- Stars: 27
- Watchers: 4
- Forks: 4
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-dataframes - Data Frame - Data frames for Common Lisp (Libraries)
README
[![Contributors][contributors-shield]][contributors-url]
[![Forks][forks-shield]][forks-url]
[![Stargazers][stars-shield]][stars-url]
[![Issues][issues-shield]][issues-url]
[![MS-PL License][license-shield]][license-url]
[![LinkedIn][linkedin-shield]][linkedin-url]
Data Frame
Data frames for Common Lisp. A two-dimensional array-like structure in which each column contains values of one variable and each row contains one set of values from each column
Explore the docs »
Report Bug
·
Request Feature
·
Reference Manual
Table of Contents
## About the Project
A data frame is a two dimensional data structure structure whose
columns may be of differing types. It is similar to, and may be
manipulated as, a Common Lisp array. Data frames hold tightly
coupled collections of variables that all belong to one experiment.### Built With
* [anaphora](https://github.com/tokenrove/anaphora)
* [alexandria](https://gitlab.common-lisp.net/alexandria/alexandria)
* [array-operations](https://github.com/lisp-stat/array-operations)
* [select](https://github.com/lisp-stat/select)
* [let-plus](https://github.com/sharplispers/let-plus)
* [numerical-utilities](https://github.com/lisp-stat/numerical-utilities)## Getting Started
To get a local copy up and running follow these steps:
### Prerequisites
An ANSI Common Lisp implementation. Developed and tested with [SBCL](https://www.sbcl.org/).
### Installation
Lisp-Stat is composed of several system that are designed to be
independently useful. So you can, for example, use `data-frame` for
any project needing to manipulate two dimensional data in a machine
learning or statistical setting.#### Getting the source
To make the system accessible to [ASDF](https://common-lisp.net/project/asdf/) (a build facility, similar to `make` in the C world), clone the repository in a directory ASDF knows about. By default the `common-lisp` directory in your home directory is known. Create this if it doesn't already exist and then:
1. Clone the repositories
```sh
cd ~/common-lisp && \
git clone https://github.com/Lisp-Stat/data-frame.git && \
git clone https://github.com/Lisp-Stat/dfio.git
```
2. Reset the ASDF source-registry to find the new system (from the REPL)
```lisp
(asdf:clear-source-registry)
```
3. Load the system
```lisp
(asdf:load-system :data-frame)
```If you have installed the slime ASDF extensions, you can invoke this
with a comma (',') from the slime REPL in emacs.#### Getting dependencies
To get the third party systems that Lisp-Stat depends on you can use a dependency manager, such as [Quicklisp](https://www.quicklisp.org/beta/) or [CLPM](https://www.clpm.dev/) Once installed, get the dependencies with either of:
```lisp
(clpm-client:sync :sources "clpi") ;sources may vary
``````lisp
(ql:quickload :data-frame)
```You need do this only once. After obtaining the dependencies, you can
load the system with `ASDF` as described above without first syncing
sources.## Usage
Create a data frame:
```lisp
(make-df '(:a :b) '(#(1 2 3) #(10 20 30)))```
For more examples, please refer to the [Documentation](https://lisp-stat.dev/docs/manuals/data-frame).
## Roadmap
See the [open issues](https://github.com/lisp-stat/data-frame/issues) for a list of proposed features (and known issues).
## Resources
This system is part of the [Lisp-Stat](https://lisp-stat.dev/)
project; that should be your first stop for information. Also see the
[resources](https://lisp-stat.dev/resources) and
[community](https://lisp-stat.dev/community) page for more
information.## Contributing
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated. Please see [CONTRIBUTING.md](CONTRIBUTING.md) for details on the code of conduct, and the process for submitting pull requests.
## License
Distributed under the MS-PL License. See [LICENSE](LICENSE) for more information.
## Contact
Project Link: [https://github.com/lisp-stat/data-frame](https://github.com/lisp-stat/data-frame)
[contributors-shield]: https://img.shields.io/github/contributors/lisp-stat/data-frame.svg?style=for-the-badge
[contributors-url]: https://github.com/lisp-stat/data-frame/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/lisp-stat/data-frame.svg?style=for-the-badge
[forks-url]: https://github.com/lisp-stat/data-frame/network/members
[stars-shield]: https://img.shields.io/github/stars/lisp-stat/data-frame.svg?style=for-the-badge
[stars-url]: https://github.com/lisp-stat/data-frame/stargazers
[issues-shield]: https://img.shields.io/github/issues/lisp-stat/data-frame.svg?style=for-the-badge
[issues-url]: https://github.com/lisp-stat/data-frame/issues
[license-shield]: https://img.shields.io/github/license/lisp-stat/data-frame.svg?style=for-the-badge
[license-url]: https://github.com/lisp-stat/data-frame/blob/master/LICENSE
[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge&logo=linkedin&colorB=555
[linkedin-url]: https://www.linkedin.com/company/symbolics/