Platform
Resources
Pricing
Sign in
Contact us
Sam Albers
Workspace
Fork
Public
By
Sam Albers
Edited
Dec 12, 2023
Insert cell
Insert cell
penguinsAq
=
aq
.
from
(
penguins
)
Insert cell
penguinsMeta
=
penguinsAq
.
select
(
[
"species"
,
"island"
]
)
.
dedupe
(
)
Insert cell
Insert cell
Insert cell
viewof
tab
=
Inputs
.
table
(
penguinsMeta
,
{
header
:
{
species
:
"species_tab"
}
}
)
Insert cell
penguinsSub
=
penguinsAq
.
join
(
aq
.
from
(
tab
)
)
Insert cell
Plot
.
plot
(
{
marks
:
[
Plot
.
barY
(
penguinsSub
,
{
x
:
"culmen_length_mm"
,
y
:
"body_mass_g"
,
sort
:
{
x
:
"y"
,
reverse
:
true
}
}
)
,
Plot
.
ruleY
(
[
0
]
)
]
}
)
Insert cell
viewof
tab_alt
=
Inputs
.
table
(
penguinsMeta
,
{
header
:
{
island
:
"island_demo"
,
...
Object
.
fromEntries
(
penguinsMeta
.
columnNames
(
)
.
filter
(
(
name
)
=>
name
.
startsWith
(
"s"
)
)
.
map
(
(
name
)
=>
[
name
,
`${
name
}_tab`
]
)
)
}
}
)
Insert cell
viewof
tab_alt2
=
Inputs
.
table
(
penguinsMeta
,
{
header
:
{
island
:
"island_demo"
,
...
Object
.
fromEntries
(
penguinsMeta
.
columnNames
(
)
.
filter
(
(
name
)
=>
name
.
endsWith
(
"s"
)
)
.
map
(
(
name
)
=>
[
name
,
name
.
endsWith
(
"s"
)
?
name
.
replace
(
"s"
,
''
)
:
name
]
)
)
}
}
)
Insert cell
penguinsAq
.
columnNames
(
)
Insert cell
originalArray
=
[
"species"
,
"island"
,
"culmen_length_mm"
,
"culmen_depth_mm"
,
"flipper_length_mm"
,
"body_mass_g"
,
"sex"
]
;
Insert cell
function
createKeyValuePairs
(
originalArray
,
prefix
,
suffix
)
{
const
keyValuePairs
=
{
}
;
originalArray
.
forEach
(
value
=>
{
keyValuePairs
[
value
]
=
value
.
startsWith
(
prefix
)
?
value
+
suffix
:
value
;
}
)
;
return
keyValuePairs
;
}
Insert cell
foo
=
createKeyValuePairs
(
originalArray
,
"sp"
,
"_tab"
)
;
Insert cell
foo
Insert cell
penguinsAq
.
select
(
foo
,
{
headers
:
foo
}
)
Insert cell
Inputs
.
table
(
penguinsAq
)
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
penguinsAq
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
penguinsMeta
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
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
tab
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
penguinsSub
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
tab_alt
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
tab_alt2
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
originalArray
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
createKeyValuePairs
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
foo
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
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML