Chapter 1: Importing Data for Analysis
Reading CSV data into Incanter datasets
Reading JSON data into Incanter datasets
Reading data from Excel with Incanter
Reading data from JDBC databases
Reading XML data into Incanter datasets
Scraping data from tables in web pages
Scraping textual data from web pages
Querying RDF data with SPARQL
Aggregating data from different formats
Chapter 2: Cleaning and Validating Data
Cleaning data with regular expressions
Maintaining consistency with synonym maps
Identifying and removing duplicate data
Calculating relative values
Lazily processing very large data sets
Sampling from very large data sets
Parsing custom data formats
Validating data with Valip
Chapter 3: Managing Complexity with Concurrent Programming
Managing program complexity with STM
Managing program complexity with agents
Getting better performance with commute
Maintaining consistency with ensure
Introducing safe side effects into the STM
Maintaining data consistency with validators
Monitoring processing with watchers
Debugging concurrent programs with watchers
Recovering from errors in agents
Managing large inputs with sized queues
Chapter 4: Improving Performance with Parallel Programming
Parallelizing processing with pmap
Parallelizing processing with Incanter
Partitioning Monte Carlo simulations for better pmap performance
Finding the optimal partition size with simulated annealing
Combining function calls with reducers
Parallelizing with reducers
Generating online summary statistics for data streams with reducers
Benchmarking with Criterium
Chapter 5: Distributed Data Processing with Cascalog
Initializing Cascalog and Hadoop for distributed processing
Querying data with Cascalog
Distributing data with Apache HDFS
Parsing CSV files with Cascalog
Executing complex queries with Cascalog
Aggregating data with Cascalog
Defining new Cascalog operators
Composing Cascalog queries
Transforming data with Cascalog
Chapter 6: Working with Incanter Datasets
Loading Incanter's sample datasets
Loading Clojure data structures into datasets
Viewing datasets interactively with view
Converting datasets to matrices
Using infix formulas in Incanter
Filtering datasets with $where
Grouping data with $group-by
Saving datasets to CSV and JSON
Projecting from multiple datasets with $join
Chapter 7: Statistical Data Analysis with Incanter
Generating summary statistics with $rollup
Working with changes in values
Scaling variables to simplify variable relationships
Working with time series data with Incanter Zoo
Smoothing variables to decrease variation
Validating sample statistics with bootstrapping
Modeling linear relationships
Modeling non-linear relationships
Modeling multinomial Bayesian distributions
Finding data errors with Benford's law
Chapter 8: Working with Mathematica and R
Setting up Mathematica to talk to Clojuratica for Mac OS X and Linux
Setting up Mathematica to talk to Clojuratica for Windows
Calling Mathematica functions from Clojuratica
Sending matrixes to Mathematica from Clojuratica
Evaluating Mathematica scripts from Clojuratica
Creating functions from Mathematica
Setting up R to talk to Clojure
Calling R functions from Clojure
Evaluating R files from Clojure
Plotting in R from Clojure
Chapter 9: Clustering, Classifying, and Working with Weka
Loading CSV and ARFF files into Weka
Filtering, renaming, and deleting columns in Weka datasets
Discovering groups of data using K-Means clustering
Finding hierarchical clusters in Weka
Clustering with SOMs in Incanter
Classifying data with decision trees
Classifying data with the Naive Bayesian classifier
Classifying data with support vector machines
Finding associations in data with the Apriori algorithm
Chapter 10: Working with Unstructured and Textual Data
Focusing on content words with stoplists
Getting document frequencies
Scaling document frequencies by document size
Scaling document frequencies with TF-IDF
Finding people, places, and things with Named Entity Recognition
Mapping documents to a sparse vector space representation
Performing topic modeling with MALLET
Performing naïve Bayesian classification with MALLET
Chapter 11: Graphing in Incanter
Creating scatter plots with Incanter
Graphing non-numeric data in bar charts
Creating histograms with Incanter
Creating function plots with Incanter
Adding equations to Incanter charts
Adding lines to scatter charts
Customizing charts with JFreeChart
Customizing chart colors and styles
Saving Incanter graphs to PNG
Using PCA to graph multi-dimensional data
Creating dynamic charts with Incanter
Chapter 12: Creating Charts for the Web
Serving data with Ring and Compojure
Creating HTML with Hiccup
Setting up to use ClojureScript
Creating scatter plots with NVD3
Creating bar charts with NVD3
Creating histograms with NVD3
Creating time series charts with D3
Visualizing graphs with force-directed layouts
Creating interactive visualizations with D3