我的数据集仅提供出生年份。我想根据个体被诊断患有糖尿病的时间来计算年龄。例如,我的诊断日期是31Jan2002和出生年份1964.yrdob变量不是日期变量 - 它只是数字,每次我尝试使它成为日期变量,所以我可以使用yrdif函数,它使所有1965年,而不是将yrdob视为一年,而不是1960年后的天数。
因此我的问题是:
如何将一个数值变量用于面值解释(1965年意味着1965年 - 而不是一千六百五十五)并将其作为日期变量,以便我可以使用yrdif函数计算年龄?
答案 0 :(得分:5)
MDY功能将根据数字生成日期。例如,
datevar = mdy(1,1,yearvar);
将为1月1日(年)制作日期变量。 (这是仅知道年份时的默认值)。
因此,为了获得年龄差异,您可以使用
age=yrdif(diagdate,mdy(1,1,yearvar),'AGE');
答案 1 :(得分:5)
使用MDY
功能并组合月和日的值,例如:
date_yrdob = mdy(1,1,yrdob);
将date_yrdob
设置为yrdob
中代表的任何一年的1月1日。