dt
.derive({
consequence: (d) =>
op.includes(["ARREST", "CITE ISSUED", "CITE SRAD"], d["dispo"])
? "consequence"
: "no_consequence"
})
.groupby("race", "consequence")
.count()
.impute({ count: () => 0 })
.groupby("race")
.derive({
pct: (row) => row.count / aq.op.sum(row.count)
})
.orderby("race", aq.desc("pct"))
.derive({
count: aq.escape((d) => (typeof d.count == "undefined" ? 0 : d.count))
})
.pivot("consequence", "count")
.derive({
pct: (row) =>
Math.round(
(row.consequence / (row.consequence + row.no_consequence)) * 10000
) / 100
})
.view()