fix a bug when using last on ordered factor

last_na doesn’t convert character to numeric levels
fix bug in cleaning symptom end dates
new function to sample missing start/end dates