Platform
Resources
Pricing
Sign in
Get started
Data Viz Insights
Workspace
Fork
Public
By
Owen Vaziri
Edited
Sep 15, 2023
Insert cell
Insert cell
default_parameters
=
(
{
p1
:
0.48
,
// The proportion of voters who lke Candidate 1
p2
:
0.45
,
// The proportion of voters who lke Candidate 2
n
:
1000
,
// The sample size
N
:
2000
// Number of times we'll simulate the process.
}
)
Insert cell
Insert cell
function
choose
(
parameters
)
{
let
p
=
Math
.
random
(
)
;
if
(
p
<
parameters
.
p1
)
{
return
1
;
}
else
if
(
p
<
parameters
.
p1
+
parameters
.
p2
)
{
return
2
;
}
else
{
return
null
;
}
}
Insert cell
Insert cell
choice
=
choose
(
default_parameters
)
Insert cell
Insert cell
d3
.
range
(
20
)
.
map
(
(
)
=>
choose
(
default_parameters
)
)
Insert cell
Insert cell
function
simulate
(
parameters
)
{
let
d
=
d3
.
range
(
parameters
.
n
)
.
map
(
(
)
=>
choose
(
parameters
)
)
;
let
pp1
=
d
.
filter
(
(
x
)
=>
x
==
1
)
.
length
/
parameters
.
n
;
let
pp2
=
d
.
filter
(
(
x
)
=>
x
==
2
)
.
length
/
parameters
.
n
;
return
{
pp1
,
pp2
,
diff
:
pp1
-
pp2
}
;
}
Insert cell
Insert cell
one_simulation
=
simulate
(
default_parameters
)
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Type JavaScript, then Shift-Enter. Ctrl-space for more options. Arrow ↑/↓ to switch modes.
Insert cell
Insert cell
Insert cell
617.0
,
0.5130942
,
0.3512664
Insert cell
Insert cell
Insert cell
function
pdf
(
parameters
)
{
let
m0
=
parameters
.
p1
-
parameters
.
p2
;
let
s
=
Math
.
sqrt
(
(
parameters
.
p1
+
parameters
.
p2
-
m0
**
2
)
/
parameters
.
n
)
;
let
pdf
=
(
x
)
=>
Math
.
exp
(
-
(
(
x
-
m0
)
**
2
/
(
2
*
s
**
2
)
)
)
/
(
Math
.
sqrt
(
2
*
Math
.
PI
)
*
s
)
;
pdf
.
m0
=
m0
;
pdf
.
s
=
s
;
return
pdf
;
}
Insert cell
function
integrate
(
ff
,
a
,
b
)
{
return
adaptiveSimpson
(
ff
,
a
,
b
,
{
tolerance
:
1e-11
,
maxDepth
:
8
,
minDepth
:
7
}
)
;
}
Insert cell
import
{
adaptiveSimpson
}
from
"@rreusser/integration@3056"
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
default_parameters
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
choose
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
choice
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
simulate
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
one_simulation
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
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
n
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
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
steely_dan_says
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
normal_histogram
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
adjustable_parameters
Edit
Add comment
Copy import
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
plot
Edit
Add comment
Copy import
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
pdf
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
integrate
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