從時間戳計算時間間隔,我有一些數據:在SAS
data beforehave;
input ID TIME_EVENT $ Activity $;
datalines;
12345 07:03:875 Activity1
12345 07:04:004 Activity1
12345 07:05:062 Activity1
12345 07:07:357 Activity2
12345 07:10:743 Activity2
23145 07:12:737 Activity1
23145 07:14:065 Activity2
23145 07:15:037 Activity2
;
RUN;
我希望得到一些數據,看起來像這樣,我就指望步驟之間的時間,但此時計數器重置爲0每第一個活動1出現的時間;
data beforehave;
input ID TIME_EVENT $ Activity $ TIME_TAKEN;
datalines;
12345 07:03:875 Activity1 00:00:000
12345 07:04:004 Activity1 00:00:029
12345 07:05:062 Activity1 00:01:058
12345 07:07:357 Activity2 00:01:295
12345 07:10:743 Activity2 00:03:386
23145 07:12:737 Activity1 00:00:000
23145 07:14:065 Activity2 00:01:672
23145 07:15:037 Activity2 00:00:972
;
RUN;
我想我需要從第一Activity1
發生針對ID
時間發生特定活動的時間。我曾經想過這樣做的中間步驟,我創建了一個更新的字段,以穿越拳頭Activity1
的TIME_EVENT
。這個中間步驟看起來像這樣;
data beforehave;
input ID TIME_EVENT $ Activity $ TIME_INTER;
datalines;
12345 07:03:875 Activity1 07:03:875
12345 07:04:004 Activity1 07:03:875
12345 07:05:062 Activity1 07:03:875
12345 07:07:357 Activity2 07:03:875
12345 07:10:743 Activity2 07:03:875
23145 07:12:737 Activity1 07:12:737
23145 07:14:065 Activity2 07:12:737
23145 07:15:037 Activity2 07:12:737
;
RUN;
要創建這個,我可以先使用SAS。功能和寫這個;
data OUT.DATA;
set IN.DATA;
if first.Activity = 'Activity1' then TIME_INTER = TIME_EVENT;
run;
從這我只是得到一個空白字段。
任何人都可以幫忙嗎?
您是否有任何輸入數據?或只有數據? –
時間值的含義是什麼? '07:03:875'看起來不像是表示時間的有效方式。這不是H:M:S,因爲你怎麼能有875秒?也許前兩部分是分和秒,最後一部分是毫秒?如果是這樣的話,爲什麼它以':'而不是'''爲前綴? – Tom