Data manipulation, data cleaning, and data processing in JavaScript.
This guide teaches the basics of manipulating data using JavaScript in the browser, or in node.js. Specifically, these tasks are geared around preparing data for further analysis and visualization.
This guide will demonstrate some basic techniques and how to implement them using core JavaScript API, the d3.js library and lodash.
It assumes you already have some basic knowledge of JavaScript.
Thanks to everyone who has worked on this to make it awesome:
- Jim Vallandingham
- Irene Ros
- Timo Grossenbacher
- Adam Pearce
- Kanit Ham Wong
- Yannick Assogba
- Earle Castledine
- Lynn Cherny
Want to add your own tips and tricks that you use to apply the power of JS to data processing?
Fork this project, modify and send me your pull requests!
(Or you could probably just yell at me on Twitter - and I can include your suggestions into the guide)
If you want to hack on this - or just download and run locally, here is how you would do that.
Requirements:
- node
- npm
- grunt (to rebuild)
First clone the repo:
git clone git@github.com:vlandham/js_data.git
Then run npm install
to gather development dependencies:
cd js_data
npm install
You can now use grunt to do the following:
- Run
grunt
to start a watch task that will recompile things as needed, and kick off a local server on port 8081. - Run
grunt build
just to build thepublic/
directory containing all the output.
This takes inspiration from a number of similar projects around data manipulation geared towards users of other languages. Here are just some other resources to checkout:
- Python Code Notebooks - by Chris Albon
- R Code Notebooks - also by Chris Albon
The presentation format of this repo borrows heavily from Tom MacWright's Literate Raytracer repo.
This code and accompanying text is released under CC0, or Public Domain where applicable.