JSFiddle - React, Tailwind, and code Playground
by Tom Louwerse
HTML
<h2>Verschil tussen twee partijen in één peiling significant?</h2>
<p>Vul hieronder het aantal respondenten en zetelaantallen van twee partijen in één peiling in.</br>Aantal respondenten:
<input type="text" id="resp" name="resp" value="1004">
</br>Aantal zetels partij 1:
<input type="text" id="p1" name="p1" value=26>
</br>Aantal zetels partij 2:
<input type="text" id="p2" name="p1" value=28>
</br>
<input type="submit" value="Bereken" onClick="javascript:docalc();return">
</br>
<div id="out"></div>
</p>
CSS
h2 {
font-family:georgia;
}
p {
font-family:georgia;
}
JavaScript
function docalc() {
var r = parseInt(document.getElementById('resp').value);
var z1 = parseInt(document.getElementById('p1').value);
var z2 = parseInt(document.getElementById('p2').value);
var p1 = z1 / 150;
var p2 = z2 / 150;
var d = p1 - p2;
var se = Math.sqrt(((p1 + p2) - Math.pow((p1 - p2), 2)) / (r - 1));
var ci = 1.96 * se;
var ci_lo = d - ci;
var ci_hi = d + ci;
var sign = Math.abs(d / se) > 1.96;
var message1 = '<p>Het verschil tussen partij 1 en partij 2 is ' + (Math.round(d * 1000) / 10).toString() + '% <br/>';
var message2 = 'De standaardfout van dit verschil is: ' + (Math.round(se * 1000) / 10).toString() + '% <br/>';
var message3 = 'De 95% betrouwbaarheidsinterval ligt tussen de ' + (Math.round(ci_lo * 1000) / 10).toString() + '% en de ' + (Math.round(ci_hi * 1000) / 10).toString() + '% <br/>';
if (sign == true) {
var message4 = 'We kunnen concluderen dat het verschil significant afwijkt van nul.</p>'
} else {
var message4 = 'We kunnen <b>niet</b> concluderen dat het verschil significant afwijkt van nul.</p>'
}
var message5 = '<i> Let op, deze resultaten zijn alleen geldig voor peilingen gebaseerd op willekeurige steekproeven</i>';
var message = message1 + message2 + message3 + message4 + message5;
document.getElementById('out').innerHTML = message.toString();
};