Published
Edited
Nov 26, 2021
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
porcentajeCrecimiento = 0.8
Insert cell
porcentajeParisi= 0.5
Insert cell
sintesisNacional = {
const datosPorComuna = comunas.map(comuna => ({comuna:comuna, datos:dataComuna(comuna), sintesis: resumir(comuna)}));

const comunasBajaVotacion1Vuelta = datosPorComuna.filter(d => d.sintesis.razonPlebiscito1Vuelta >= 1);
const votosBajoPlebiscito = comunasBajaVotacion1Vuelta.reduce((memo,d) => memo + -d.sintesis.total1Vuelta +d.sintesis.totalPlebiscito,0)

const comunasAltaVotacion1Vuelta = datosPorComuna.filter(d => d.sintesis.razonPlebiscito1Vuelta < 1);
const votosSobrePlebiscito = comunasAltaVotacion1Vuelta.reduce((memo,d) => memo + d.sintesis.total1Vuelta - d.sintesis.totalPlebiscito,0)

const votosParisi = datosPorComuna.reduce((memo,d) => memo + d.sintesis.parisi,0)


const focoCrecimiento = [];
const focoParisi = [];

let accum = 0;
_.chain(comunasBajaVotacion1Vuelta)
.sortBy(d => -(d.sintesis.totalPlebiscito - d.sintesis.total1Vuelta))
.each(d => {
accum += (d.sintesis.totalPlebiscito - d.sintesis.total1Vuelta)
if (accum < votosBajoPlebiscito * porcentajeCrecimiento) {
focoCrecimiento.push(d)
}
})
.value();

accum = 0;
_.chain(datosPorComuna)
.sortBy(d => -d.sintesis.parisi)
.each(d => {
accum += (d.sintesis.parisi)
if (accum < votosParisi * porcentajeParisi) {
focoParisi.push(d)
}
})
.value();

return {
comunasBajaVotacion1Vuelta: comunasBajaVotacion1Vuelta,
votosBajoPlebiscito: votosBajoPlebiscito,
comunasAltaVotacion1Vuelta: comunasAltaVotacion1Vuelta,
votosSobrePlebiscito: votosSobrePlebiscito,
focoCrecimiento: focoCrecimiento,
votosParisi: votosParisi,
focoParisi: focoParisi
}
}
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
data = dataComuna(comuna)
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
style_bootstrap
Insert cell
import {style_bootstrap} from "@elaval/utils"
Insert cell
d3 = require("d3")
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