Platform
Resources
Pricing
Sign in
Get started
Ella Kaye's workspace
Workspace
Fork
Public
By
Ella Kaye
Edited
Apr 26, 2023
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
// Add your code here to do the wrangling steps above!
penguinData
.
map
(
(
d
)
=>
(
{
species
:
d
.
species
,
massKilograms
:
d
.
body_mass_g
/
1000
,
billRatio
:
d
.
culmen_length_mm
/
d
.
culmen_depth_mm
}
)
)
.
filter
(
(
d
)
=>
d
.
billRatio
>
3.5
)
Insert cell
Insert cell
Insert cell
Insert cell
// Find the minimum culmen length in penguinData:
d3
.
min
(
penguinData
,
(
d
)
=>
d
.
culmen_length_mm
)
Insert cell
Insert cell
// Find the range of culmen lengths in penguinData:
d3
.
extent
(
penguinData
,
(
d
)
=>
d
.
culmen_length_mm
)
Insert cell
Insert cell
// Mean of all body mass (grams) values in penguinData:
d3
.
mean
(
penguinData
,
(
d
)
=>
d
.
body_mass_g
)
Insert cell
Insert cell
// Alternatively: (passing mean an array)
d3
.
mean
(
penguinData
.
map
(
(
d
)
=>
d
.
body_mass_g
)
)
Insert cell
// Standard deviation of culmen depth:
d3
.
deviation
(
penguinData
,
(
d
)
=>
d
.
culmen_depth_mm
)
Insert cell
Insert cell
// Count of flipper length values:
d3
.
count
(
penguinData
,
(
d
)
=>
d
.
flipper_length_mm
)
Insert cell
Insert cell
penguinData
Filter
Columns
Sort
Slice
Save
Type Table, then Shift-Enter. Ctrl-space for more options.
Insert cell
Insert cell
Insert cell
// Group penguinData by species (store Map as groupSpecies):
groupSpecies
=
d3
.
group
(
penguinData
,
(
d
)
=>
d
.
species
)
Insert cell
Insert cell
// Then get just the Adelies:
groupSpecies
.
get
(
"Adelie"
)
Insert cell
Insert cell
// Group penguinData by species and island (store as groupSpeciesIsland):
groupSpeciesIsland
=
d3
.
group
(
penguinData
,
(
d
)
=>
d
.
species
,
(
d
)
=>
d
.
island
)
Insert cell
Insert cell
// Get observations for Adelie penguins on Dream Island:
groupSpeciesIsland
.
get
(
"Adelie"
)
.
get
(
"Dream"
)
Insert cell
Insert cell
Insert cell
Insert cell
// Find the mean body mass by penguin species:
// v => ... is the reducer function
// d => ... is the grouping
d3
.
rollup
(
penguinData
,
(
v
)
=>
d3
.
mean
(
v
,
(
d
)
=>
d
.
body_mass_g
)
,
(
d
)
=>
d
.
species
)
Insert cell
Insert cell
// Find the mean flipper length by penguin species and sex:
d3
.
rollup
(
penguinData
,
(
v
)
=>
d3
.
mean
(
v
,
(
d
)
=>
d
.
flipper_length_mm
)
,
(
d
)
=>
d
.
species
,
(
d
)
=>
d
.
sex
)
Insert cell
Insert cell
Insert cell
Insert cell
arrayOfArrays
=
[
[
1
,
2
]
,
[
3
,
4
]
]
Insert cell
// firstNumber etc become keys in the arrays
arrayOfArrays
.
map
(
(
[
firstNumber
,
secondNumber
]
)
=>
(
{
firstNumber
,
secondNumber
}
)
)
Insert cell
// Use flatRollup to find mean body mass by penguin species, then map to get an array of objects:
d3
.
flatRollup
(
penguinData
,
(
v
)
=>
d3
.
mean
(
v
,
(
d
)
=>
d
.
body_mass_g
)
,
(
d
)
=>
d
.
species
)
// up to here gives array of arrays
.
map
(
(
[
species
,
meanMass
]
)
=>
(
{
species
,
meanMass
}
)
)
// and this turns it back into array of objects, with names as keys
Insert cell
Insert cell
Insert cell
Insert cell
// Create a new bar chart with Observable Plot to visualize mean body mass by species:
Plot
.
plot
(
{
marks
:
[
Plot
.
barY
(
penguinData
,
Plot
.
groupX
(
{
y
:
"mean"
}
,
// reducer applied by group (built in reducer in Plot)
{
y
:
"body_mass_g"
,
x
:
"species"
,
sort
:
{
x
:
"y"
,
reverse
:
true
}
}
)
)
]
}
)
Insert cell
Insert cell
Insert cell
Insert cell
import
{
showMe
}
from
"@observablehq/show-me"
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.
Try it for free
Learn more
Fork
View
Export
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
Cells
penguinData
File attachments
Databases
Filter
Column
Operator
Columns
Sort
Column
Direction
Descending
Ascending
Slice
From
Start
To
End
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
groupSpecies
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
groupSpeciesIsland
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
arrayOfArrays
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
penguinData
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML