For passengers with dob present use our newly computed age, and for others use the original integer age.
The code below is in disagreement with this statement, as it does not evaluate if =dob= is NA, but if =age= is. Moreover, the =age= column has now been replaced in the code above by the line
$$d[, age := as.numeric((as.Date('1912-04-15') - dob) / 365.25)]$$
Maybe I'm not understanding something.