processedData = {
const yearData = dataFilteredGender.filter(d => d.Year === selectedYear && d.Age >= currentAge);
let survivalProb = 1.0;
const probabilities = [];
yearData.forEach(row => {
probabilities.push({
Age: row.Age,
Probability: survivalProb,
Type: "Survival Probability"
});
survivalProb *= (1 - row['q(x)']);
});
const deathProbs = probabilities.map(d => d.Probability);
const ages = probabilities.map(d => d.Age);
const density = gradient(deathProbs.map(p => -p), ages);
const deathProbabilities = ages.map((age, i) => ({
Age: age,
Probability: density[i],
Type: "Death Probability Density 1"
}));
const yearData2 = dataFilteredGender2.filter(d => d.Year === selectedYear2 && d.Age >= currentAge2);
survivalProb = 1.0;
const probabilities2 = [];
yearData2.forEach(row => {
probabilities2.push({
Age: row.Age,
Probability: survivalProb,
Type: "Survival Probability"
});
survivalProb *= (1 - row['q(x)']);
});
const deathProbs2 = probabilities2.map(d => d.Probability);
const ages2 = probabilities2.map(d => d.Age);
const density2 = gradient(deathProbs2.map(p => -p), ages2);
const deathProbabilities2 = ages2.map((age, i) => ({
Age: age,
Probability: density2[i],
Type: "Death Probability Density 2"
}));
return [...deathProbabilities, ...deathProbabilities2];
}