Public
Edited
May 22, 2023
Insert cell
Insert cell
data = FileAttachment("penguins.csv").csv({typed: true})
Insert cell
viewof bins = Inputs.range([3, 20], {step: 1, label: "Bins"})
Insert cell
viewof sample_size = Inputs.range([5, 1000], {transform:n=>Math.log(n), step:1})
Insert cell
source_dist = d3.randomNormal()
Insert cell
// d3 d3.randomUniform()
getSamplingDist = sample_size => d3.range(1000).map(_ => ({max: d3.max(d3.range(sample_size).map(_ => source_dist()))}))
Insert cell
sampling_dist = getSamplingDist(sample_size)
Insert cell
Plot.plot({
marks: [
Plot.ruleY([0]),
Plot.rectY(sampling_dist, Plot.binX({y: "sum"}, {x: "max"}))//, thresholds: bins}))
]
})
Insert cell
sample_sizes = d3.range(15).map(n=> 2**(n+2))
Insert cell
sampling_dist_means = {
return sample_sizes.map(n => {
return d3.mean(getSamplingDist(n), dist=>dist['max'])
// return n
})
}
Insert cell
sampling_dist_means_2 = sampling_dist_means.map((v,i) => ({
n: sample_sizes[i],
// sln: Math.sqrt( Math.log(sample_sizes[i])),
mean: v,
est: Math.sqrt( Math.log(sample_sizes[i]))*1.5-1/Math.sqrt(2),
error: v- (Math.sqrt( Math.log(sample_sizes[i]))*1.5-1/Math.sqrt(2))
}))
Insert cell
{
const m = (sampling_dist_means_2[14].mean - sampling_dist_means_2[0].mean)/
(sampling_dist_means_2[14].sln - sampling_dist_means_2[0].sln)
return m
const c = sampling_dist_means_2[0].mean - (sampling_dist_means_2[0].sln*m)
return c
}
Insert cell
sampling_dist_means_2
X
n
Y
error
Color
Size
Facet X
Facet Y
Mark
line
Type Chart, then Shift-Enter. Ctrl-space for more options.

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