我想确定谁将在SPSS代码中年满3岁。怎么能做到最好?我制作的两种方式是:
1
compute Almost3Age = ((xdate.tday($time) - xdate.tday(dobmtu))/365.25).
compute Almost3 = 0.
if Almost3Age ge 2.91 and Almost3Age lt 3 Almost3 = 1.
******************** OR *********************** ******** 2.
compute Almost3 = 0.
if (xdate.year($time) - xdate.year(dobmtu) eq 3) and (xdate.month($time) = xdate.month(dobmtu)
and xdate.mday($time) lt xdate.mday(dobmtu)) Almost3 = 1.
有什么想法吗?
答案 0 :(得分:1)
您的代码唯一的问题是它没有考虑到不同长度的月份。
我需要知道谁是2岁11个月 我不想删掉任何从今天开始整整3个月的人,因此我将采取今天的日期,减去一天,并计算2个月和11个月的变量。
如果您不想包括今天满3岁的人......
compute twoyears11months=datedif(datesum($time,-1,'days'),dobmtu,'months').
select if twoyears11months =35.
否则,今天排除bday并排成一行。
select if datedif($time,dobmtu,'months') =35.