考慮這樣一種場景:我們有乙份患者入院檢查的資料,我們知道乙個患者有可能會多次去醫院做檢查,每次檢查的結果可能為陽性,也可能為陰性。我們現在關注的是某乙個患者在若干次檢查中是否出現了陽性結果,在r中我們可以使用any函式,在python中可以利用pandas的groupby函式,在sas中該如何處理呢?今天就立乙個flag來解決它。
1.
***建立資料data lab;
input patno visit_no outcome;
datalines;
3 10
3 20
3 3 1
1 10
1 2 1
1 30
1 4 1
2 10
2 20
4 1 1
4 2 1
4 3 1;
***利用flag變數記住前乙個觀測的值
proc sort data=lab;
by patno visit_no;
run;
data flag_test;
set lab;
by patno;
retain flag; ***如果結果陽性,flag=1;
***初始化 flag;
if first.patno = 1 then flag =0;
***如果結果陽性,flag=1;
if outcome = 1 then flag = 1;
***執行到最後乙個觀測時輸出;
if last.patno = 1then output;
drop outcome visit_no;
run;
proc print data=flag_test;
title
"listing of data set flag_test";
run;
2.利用sum語句計算每乙個病人的陽性結果數目
***注意:資料集lab必須是排好序的;data count_test;
set lab;
by patno;
***這裡沒有必要retain count,因為sum語句會自動retain
***初始化 count;
if first.patno = 1 then count =0;
***出現陽性結果,count加一;
if outcome = 1 then count + 1;
***當遇到最後乙個病人,輸出;
if last.patno = 1then output;
drop outcome;
run;
proc print data=count_test;
title
"listing of data set count_test";
run;
8052計數器(定時器0和計數器1)
之前由於同學的乙個小實驗,需要用到頻率計,所以自己想搞乙個出來,於是網上找了很多資料,簡單的有用8052微控制器的定時器和計數器的結合來測其訊號的頻率,還有的是c8051f的捕捉功能,想來想去,還是想用用自己熟悉的8052的計數器功能,畢竟平時都用的是定時器功能,很少用到計數器功能,以便更加深入的運...
Hadoop計數器與自定義計數器(筆記7)
計數器 計數器是用來記錄job的執行進度和狀態的。它的作用可以理解為日誌。我們通常可以在程式的某個位置插入計數器,用來記錄資料或者進度的變化情況,它比日誌更便利進行分析。例如,我們有乙個檔案,其中包含如下內容 hello you hello me 它被wordcount程式執行後顯示如下日誌 在上圖...
PyQt5之QSpinBox計數器
qspinbox是乙個計數器控制項,允許使用者選擇乙個整數值,通過單擊向上 向下按鈕或鍵盤的上 下箭頭來增加 減少當前顯示的值,當然使用者也可以輸入值。在預設情況下,qspinbox的取值範圍是0 99,每次改變的步長值為1。qspinbox用於處理整數值,qdoublespinbox用於處理浮點值...