作者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