【发布时间】:2014-04-22 13:08:03
【问题描述】:
我有一个只给出出生年份的数据集。我想根据一个人被诊断患有糖尿病的时间来计算年龄。例如,我的诊断日期为 31Jan2002,出生年份为 1964。 yrdob 变量不是日期变量 - 它只是数字变量,每次我尝试将其设为日期变量时,我都可以使用 yrdif 函数,它使所有1965 年的年份,而不是将 yrdob 识别为一年,而不是 1960 年之后的天数。
所以我的问题是:
如何获取一个按面值解释的数值变量(1965 表示 1965 年 - 不是一千六十五)并将其设为日期变量,以便我可以使用 yrdif 函数来计算年龄?
【问题讨论】:
-
确保您可以实际使用 YRDIF();如果您正在使用例如GCP 相关的东西,任何插补都应该在统计分析计划或类似文件中定义。
-
为什么不只做 YEAR(diagnosis_date)-yrdob?
-
SAS 无法识别 yrdob 是 SAS 日期,所以当我尝试类似的操作时,它只是从诊断日期中减去 1,965 天,而不是识别 1965 年是一年。
-
但是 YEAR 函数只返回一个表示年份的整数,例如2014. 减去 1965 得到 49。
-
你是对的!尝试了您的建议,这也导致了年龄,而不必先计算出生日期。不错的收获。谢谢。