作者piq (享)
看板Statistics
标题[程式] SAS日期相减
时间Fri May 24 16:09:15 2013
[软体程式类别]:
SAS
[程式问题]:
SAS日期相减
[软体熟悉度]:
新手(不到1个月)
[问题叙述]:
想算出两个资料(data1)日期间的差距
但是目前资料的形态是"数值"
id T1 T2 T3
A1 . 20010504 20020310
A2 20061208 . 19970512
A3 . . 20070103
资料可能有缺失
目前要处理的是 挑出id中最小的(最早的)发生点 如A1是T2
然後以该点为基准 去算T2跟T3差了多少时间
我用的是intck 但跑出来的都是缺失值 冏
後来转换成日期
data data2;
set sata1;
informat T1 yymmdd8. T2 yymmdd8. T3yymmdd8.;
run;
还是一样变成缺失值 想请问板上高手的意见
[程式范例]:
firstdate=min(T1,T2,T3);
d1=intck('day',firstdate,T1);
d2=intck('day',firstdate,T2);
d3=intck('day',firstdate,T3);
run;
-----------------------------------------------------------------------------
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.85.83.97
1F:推 tew:intck只能用於时间格式的资料 你要想办法读成日期格式的资料 05/24 16:20
2F:→ piq:可是我用informat那句不就转换了吗@@? 05/24 16:43
3F:推 imaltar:转换日期格式可用mdy 或 input(变数,yymmdd10.)等方法 05/24 19:54
4F:推 tew:informat没有把它转成时间格式 05/24 22:40
5F:推 bugle:1.informat的功能不是转换 05/25 03:04
6F:→ bugle:2.如果是正确日期,要算差距几天不需要intck,直接相减即可 05/25 03:05