Public
Edited
Jul 27, 2023
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
marCasadoAir = FileAttachment("marCasadoAir@5.csv").csv({typed: true}) // Date issue
Insert cell
marCasadoSea = FileAttachment("marCasadoSea@4.csv").csv({typed: true}) // Date issue
Insert cell
Insert cell
// Write code to create a database called marCasadoDB, with tables 'air' and 'sea':

Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
// Write Plot code to create a heatmap of sea surface temperature (SST) by year and month, starting from the 'cell' snippet:

Insert cell
Insert cell
Insert cell
import {PlotMatrix} with {marCasado as data} from "@observablehq/autoplot-matrix"
Insert cell
// Use the PlotMatrix function (expecting marCasado) to create a pair plot:

Insert cell
Insert cell
Insert cell
Insert cell
ML = require("https://www.lactame.com/lib/ml/6.0.0/ml.min.js")
Insert cell
Insert cell
import {scale, asMatrix} from "@chrispahm/hierarchical-clustering"
Insert cell
Insert cell
Insert cell
// Create a scaled version of the numeric variables

Insert cell
Insert cell
// Convert to an array of arrays, just containing the values (no keys):

Insert cell
Insert cell
// Perform principal component analysis:

Insert cell
Insert cell
Insert cell
// Get variance explained by each PC:

Insert cell
Insert cell
// Get cumulative variance explained:

Insert cell
Insert cell
Insert cell
Insert cell
// Import viewof loadings from the notebook, with marCasadoScaled as food_scaled:

Insert cell
// Look at viewof loadings:

Insert cell
// import viewof scores from the notebook, with marCasadoScaled as food_scaled and marCasado as food:

Insert cell
// Look at viewof scores:

Insert cell
// Do some wrangling to get the month and season alongside scores:

Insert cell
// Create a PCA biplot with the scores and loadings

Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
// Alternatively (without an import):

// loadingsOption = marCasadoPCA
// .getEigenvectors()
// .data.map((d, i) => ({
// PC1: d[0],
// PC2: d[1],
// Variable: Object.keys(marCasadoScaled[0])[i]
// }))
Insert cell
// Alternatively to get score (projections into PC space):

// scoresOption = marCasadoPCA.predict(marCasadoArray).data.map((d,i) => ({month: marCasado[i].month,
// season: marCasado[i].season,
// PC1: d[0],
// PC2: d[1]}))
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more