国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

我感覺到,全都回來了

2021-09-04 21:03 作者:陸震同學  | 我要投稿

幾天不見,繼續(xù) SAS training。

quiz

首先給你這樣包含 unique subject id 和 各種 date 的數(shù)據(jù)集,如下,

要求你,先依據(jù)這 16 個字符型 date 變量創(chuàng)建對應(yīng)的數(shù)字型 date 變量,需為 date9. 格式;再生成一個新的 date 變量,該變量定義為:第一次出現(xiàn)的比前面的一個日期 >=15 天的日期,即若對于某條記錄,dtn_1002-dtn_1001>=15 ?那么 date 應(yīng)為 dtn_1002。

上 code,

data sv;
? ?set sv;
? ?array a_a(*) dt_1001-dt_1015 dt_1999;
? ?array a_b(*) dtn_1001-dtn_1015 dtn_1999;
? ?format dtn_1001-dtn_1015 dtn_1999 date9.;
? ?do i= 1 to dim(a_a,1);
? ? ? ?a_b(i)= input(a_a(i), yymmdd10.);
? ?end;
? ?do j= 1 to (dim(a_b,1)-1);
? ? ? ?if a_b(j+1)-a_b(j) >= 15 then do;
? ? ? ? ? ?date= put(a_b(j+1), yymmdd10.);
? ? ? ? ? ?leave;
? ? ? ?end;
? ?end;
? ?keep usubjid dtn_1001-dtn_1015 dtn_1999 date;
run;
proc print data= sv(obs= 2); run;

實現(xiàn)效果如下,

厘清思路

為什么要挑這個 quiz 來講?主要是看中了里面的 leave statement。

array 我們是熟悉的,我們知道 do 循環(huán)是對相同變量多次執(zhí)行相同操作,而 array 數(shù)組則是對不同變量執(zhí)行相同操作。這里我們將一組變量轉(zhuǎn)成一個 array,來統(tǒng)一轉(zhuǎn)化格式,生成新變量。

要重點說的,就是下面 do 循環(huán)中的生成新變量 date 的邏輯。quiz 要取第一個比前一次日期多 15 天的那個日期,取到以后就中止該 subject 后續(xù)的日期比較。這里我們用到了 leave,它的作用是:在滿足某些條件時徹底中止整體 do 循環(huán)(注意,并非當次循環(huán)),且不會返回 do statement。

我們看 print 出來的第一個 subject,它在 dtn_1011 時才滿足條件,因而,date 取到 dtn_1011 的日期,而不會再進行后續(xù)的日期比較。借助 leave,我們可以實現(xiàn)同一行數(shù)據(jù)相鄰列之間的相互比較。

不知道同學們有沒有感覺到,這是一種行維度上面,類似于 lag 的操作。


我感覺到,全都回來了的評論 (共 條)

分享到微博請遵守國家法律
新蔡县| 隆子县| 祁东县| 北碚区| 宁远县| 盐津县| 惠东县| 宁波市| 嫩江县| 河北区| 安西县| 易门县| 遂川县| 土默特右旗| 若羌县| 桂平市| 分宜县| 阿图什市| 龙州县| 长岭县| 大港区| 沙坪坝区| 青岛市| 彭阳县| 当阳市| 荣昌县| 中超| 广昌县| 华阴市| 高碑店市| 雷州市| 长阳| 启东市| 监利县| 扶沟县| 定南县| 新蔡县| 海宁市| 沁阳市| 得荣县| 丹凤县|