Platform
Resources
Pricing
Sign in
Get started
David Heyman
Workspace
Fork
Published
By
David Heyman
Edited
Dec 8, 2021
1 fork
3
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
allValues
=
data
.
map
(
(
d
)
=>
d
.
value
)
Insert cell
Insert cell
uniqueValues
=
_
.
uniq
(
allValues
)
Insert cell
Insert cell
sortedUniqueValues
=
uniqueValues
.
sort
(
(
a
,
b
)
=>
a
-
b
)
Insert cell
Insert cell
updatedData
=
data
.
map
(
(
d
)
=>
(
{
...
d
,
calculatedPercentile
:
(
sortedUniqueValues
.
indexOf
(
d
.
value
)
+
1
)
/
sortedUniqueValues
.
length
}
)
)
Insert cell
Insert cell
Insert cell
dataSorted
=
[
...
updatedData
]
.
sort
(
(
a
,
b
)
=>
a
.
value
-
b
.
value
)
Insert cell
Insert cell
dataRawPercentile
=
dataSorted
.
map
(
(
d
,
i
)
=>
(
{
...
d
,
rawPercentile
:
(
i
+
1
)
/
dataSorted
.
length
}
)
)
Insert cell
Insert cell
dataRawPercentileGrouped
=
d3
.
groups
(
dataRawPercentile
,
(
d
)
=>
d
.
value
.
toString
(
)
)
Insert cell
finalData
=
dataRawPercentileGrouped
.
reduce
(
(
memo
,
[
i
,
g
]
)
=>
{
let
meanPercentile
=
d3
.
mean
(
g
,
(
d
)
=>
d
.
rawPercentile
)
;
let
calculated
=
g
.
map
(
(
d
)
=>
(
{
...
d
,
meanPercentile
}
)
)
;
return
[
...
memo
,
...
calculated
]
;
}
,
[
]
)
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
d3
=
require
(
"d3-array@^2.10"
)
Insert cell
Insert cell
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
dataset
Edit
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
data
Edit
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
allValues
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
uniqueValues
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
sortedUniqueValues
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
updatedData
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
dataSorted
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
dataRawPercentile
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
dataRawPercentileGrouped
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
finalData
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
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
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
d3
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
datasetNames
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
datasets
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML