//what values should we convert? fill in the blanks
//think about what data fields we want to return --- not all are cloned automatically!
};
})
//the => Arrow function is a shorthand way of writing a function
//It is equivalent to d = function(){
// ...
// return a;
//}
//a function is called on every element in array titanic2, and creates a new array called titanicMap
//for every element in titanicMap, the age key is assigned a value corresponding to the numerical value of titanic2
titanicMap=titanic.map(d=>{
vara=d;
a.Age=+d.Age;
//remember what other fields we want to add in
returna;
})
titanicMap2=titanic.map(d=>{
return{
name:d.Name,
age:+d.Age,
sibsp:+d.SibSp,
parch:+d.Parch,
fare:+d.Fare
};
})
//Let's get the max age of who was on the titanic
//try creating a variable called ageMax and find the age of the oldest person on the titanic
ageMax={
//write a loop here
//return (maxAge)
}
{
//Let's do this with d3.mean() now. We'll first have to use map to create an array with just the ages.
}
//return your answers here
firstClass=titanicMap.filter(function(d){
returnd.CClass==1});
"The number of passengers in first class is: "+firstClass.length
//Try it here
{
}
//try to find the answer here for second class
//hint: you can use d3.mean to find the average age of passengers in second class
//try to find the answer here for third class
//hint: you can use d3.mean to find the passengers in third class
functioncalculateTicket()
{
//calculate the ticket inside this function
//return name + "paid: $" + ticket
}
calculateTicket();
//
vl.markTick()
.data(titanicMap)
.encode(
vl.x().fieldQ('Fare')
)
.render()
//follow along here
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.