SAS根据出生年份和完整的结束日期计算年龄

时间:2014-04-22 13:08:04

标签: sas numeric

我的数据集仅提供出生年份。我想根据个体被诊断患有糖尿病的时间来计算年龄。例如,我的诊断日期是31Jan2002和出生年份1964.yrdob变量不是日期变量 - 它只是数字,每次我尝试使它成为日期变量,所以我可以使用yrdif函数,它使所有1965年,而不是将yrdob视为一年,而不是1960年后的天数。

因此我的问题是:

如何将一个数值变量用于面值解释(1965年意味着1965年 - 而不是一千六百五十五)并将其作为日期变量,以便我可以使用yrdif函数计算年龄?

2 个答案:

答案 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日。