bio_data_grouped = {
let grouping = [];
(Object.keys(z.groupBy(x => x.ELEMENT, bio_data))).forEach(function(ELEMENT){
let datum = z.gbSum("Shape_Area", z.groupBy(r=>r.SUBELEMENT, z.groupBy(x => x.ELEMENT, bio_data)[ELEMENT]))
for (let i=0; i<datum.length;++i){
let currRow = {}
currRow.ELEMENT = ELEMENT
currRow.SUBELEMENT = datum[i].group
currRow.AREA = datum[i].sum
currRow.AREA_2 = datum[i].sum * Math.random()
grouping.push(currRow)
}
})
let filtered = z.filter(x=>x.ELEMENT == "FISH" || x.ELEMENT == "BIRD" || x.ELEMENT == "REPTILE" || x.ELEMENT == "INVERT", grouping)
return filtered;
}