亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        大樣本數(shù)據(jù)標準化率的SAS宏實現(xiàn)*

        2018-09-20 06:48:12夏雷震HeziFu劉紅波
        中國衛(wèi)生統(tǒng)計 2018年4期
        關鍵詞:結(jié)節(jié)病置信區(qū)間參數(shù)設置

        夏雷震 Hezi Fu 金 城 缐 偉 劉紅波△

        流行病學研究過程中,經(jīng)常會遇到率的比較問題,當各組觀測的內(nèi)部構成,諸如年齡、性別等存在較大差異時,直接比較各組的粗率(合計率)是不合理的,通常應該對其進行標準化來消除內(nèi)部構成不同的影響。對于小樣本數(shù)據(jù),一般只涉及幾組率的比較而不是多組率的比較或者是內(nèi)部構成簡單(比如只有年齡這一混雜因素),通常結(jié)合統(tǒng)計相關教材借助Excel就能較容易、簡單的計算出標準化率;但在這個信息化時代,我們經(jīng)常會遇到復雜嵌套關系下的多層次組群結(jié)構的海量數(shù)據(jù),如各省市疾病預防控制中心的傳染病報告數(shù)據(jù)、疾病死亡數(shù)據(jù),某疾病各年份患病情況等,對這種含有多個混雜因素、多分組的數(shù)據(jù),利用教材里公式和Excel的統(tǒng)計匯總功能來計算標準化率常常會遇到很大的困難,且計算過程繁瑣容易出錯[1-2],這時我們最好借助統(tǒng)計軟件來完成[3]。SAS是最常用的數(shù)據(jù)處理和統(tǒng)計分析的軟件之一,本研究通過編寫SAS宏程序?qū)崿F(xiàn)大樣本數(shù)據(jù)率的標準化,希望能夠幫助科研工作者更加方便快捷的解決標準化率的計算問題。

        基本原理

        率的標準化法就是在指定的標準構成條件下計算標準化率,以便于對多組率進行對比。對于標準人群的選擇有三種方法,分別是任選一個對比組的人群、各組人群之和以及有代表性的、穩(wěn)定的、數(shù)量大的人群,如全國、全省的數(shù)據(jù)[4],選擇前兩種人群的標準化法稱為直接法,選擇后一種人群稱為間接法。無論是直接法還是間接法,它們標準化的基本思想是先計算出標準人群的內(nèi)部構成比例(比如年齡構成比)當作權重qi,再計算出各組別(比如各地區(qū))各年齡段的率Pij,最后對各地區(qū)計算各年齡段的加權算術平均數(shù)∑qiPij[5]。一般情況下,對標準人群的選擇會選擇后兩種,即以各組人群的總和為標準人群計算直接法標準化率和以具有代表性的全國人口為標準人群計算間接法的標準化率,所以本研究以這兩種人群作為標準人群對率分別進行直接標準化法和間接標準化法。

        實例分析和SAS宏實現(xiàn)

        實例:結(jié)節(jié)病是一種免疫系統(tǒng)疾病,其發(fā)病機制和病因不明確。文獻報道結(jié)節(jié)病的發(fā)生和死亡與年齡、性別有關,也表現(xiàn)出地域性差別。某研究者欲了解結(jié)節(jié)病的發(fā)病特征,調(diào)查了2014年的5個地區(qū)的47780名在職及退休職工,記錄結(jié)節(jié)病患病情況,原始數(shù)據(jù)std.sar形式如表1。

        表1 實例中原始數(shù)據(jù)的形式

        *area:1~5代表5個區(qū);age:1~6代表6個年齡段;gender:1=男,0=女;outcome:1=患病,0=不患病

        1.選擇所有地區(qū)的人口作為標準人群做直接法的標準化率

        SAS宏命令如下:

        %macro direct_std(data=,outcome=,group=,confounder=,confounder_=);

        data standardization;

        set &data.;

        keep &outcome.&group.&confounder.;

        run;/*提取數(shù)據(jù)中有用的信息*/

        proc summary data=standardization nway;

        class &group.;

        var &outcome.;

        output out=crude(drop=_:) n=N sum=cases;

        run; /*匯總原始數(shù)據(jù)五個地區(qū)的總?cè)藬?shù)N,發(fā)病人數(shù)cases*/

        data crude;

        set crude;

        crude=cases/n;lower_CI=crude-1.96*sqrt(crude*(1-crude)/n);upper_CI=crude+1.96*sqrt(crude*(1-crude)/n);

        run;/*計算粗率crude及應用二項分布的正態(tài)近似法計算置信區(qū)間[5-7]*/

        proc summary data=standardization nway;

        class &group.&confounder.;

        var &outcome.;

        output out=summary(drop=_:) n=N sum=cases;

        run; /*匯總原始數(shù)據(jù)各地區(qū)各性別年齡別的人數(shù)N,發(fā)病人數(shù)cases*/

        data summary;

        set summary;

        p=cases/n;

        run;/*計算各地區(qū)各性別年齡別的發(fā)病率p */

        proc sort data=summary out=summary;

        by &confounder.;

        run;

        proc sql;

        create table summary as select *,sum(n) as totall from summary group by &confounder_.;

        quit;/*此命令group by后面的變量間需要逗號隔開,故而重復設置了confounder_宏參數(shù)*/

        proc sql;

        create table summary as select *,sum(n) as total2 from summary ;

        quit;

        data summary;

        set summary;

        ratio=total1/total2;

        run;/*計算以各組人群的總和為標準人群的內(nèi)部構成(性別年齡別)的構成比ratio */

        data summary;

        set summary;

        rate=p*ratio;

        run;

        proc summary data=summary nway; class &group.; var rate; output out=adj_rate(drop=_:) sum=adj_rate;

        run; /*對各地區(qū)按照構成比ratio為權重計算各年齡性別組發(fā)病率p的加權算術平均數(shù)adj_rate,即為標準化率*/

        data adjust;

        merge crude adj_rate;

        drop cases crude lower_ci upper_ci;

        run;

        data adjust;

        set adjust;adj_cases=n*adj_rate;adj_lower_CI=adj_rate-1.96*sqrt(adj_rate*(1-adj_rate)/n);adj_upper_CI=adj_rate+1.96*sqrt(adj_rate*(1-adj_rate)/n);run;/*計算標準化率adj_rate的置信區(qū)間*/

        data adjust;

        retain area N adj_cases adj_rate adj_lower_CI adj_upper_CI;set adjust;

        run;

        title “粗率及其置信區(qū)間”;

        proc print data=crude;run;

        title “標準化率及其置信區(qū)間”;

        proc print data=adjust;run;

        %mend;

        消除年齡和性別的影響計算各地區(qū)結(jié)節(jié)病標準化患病率的宏參數(shù)設置如下:

        %direct_std(data=std.sar,outcome=outcome,group=%str(area),confounder=%str(age gender),confounder_=%str(age,gender));

        結(jié)果輸出為:

        所有結(jié)果也可在文件work.crude和work.adjust中查看和導出。如果想消除年齡的的影響計算各地區(qū)分性別的結(jié)節(jié)病標準化患病率的宏參數(shù)設置如下:

        %direct_std(data=std.sar,outcome=outcome,group=%str(area gender),confounder=%str(age),confounder_=%str(age));

        以此類推。

        在實際工作中,有時收集不到原始數(shù)據(jù)std.sar,

        只有匯總數(shù)據(jù)std.sar2,同樣可以計算標準化率,數(shù)據(jù)形式為:

        表2 匯總數(shù)據(jù)的形式

        *:不同地區(qū)各年齡性別的總?cè)藬?shù); #不同地區(qū)各年齡性別的患病人數(shù)

        SAS宏及宏參數(shù)設置如下(其中省略部分與上文SAS宏對應位置一致):

        %macro direct_std(data=,group=,confounder=,confounder_=,n=,cases=);

        data standardization;

        set &data.;

        keep &group.&confounder.&n.&cases.;

        run;

        proc summary data=standardization nway;

        class &group.;

        var &n.;

        output out=crude1(drop=_:) sum=n;

        run;

        proc summary data=standardization nway;

        class &group.;

        var &cases.;

        output out=crude2(drop=_:) sum=cases;

        run;

        data crude;

        merge crude1 crude2;

        run;

        data crude;set crude;crude=cases/n;lower_CI=crude-1.96*sqrt(crude*(1-crude)/n);upper_CI=crude+1.96*sqrt(crude*(1-crude)/n);run;

        data summary;

        set standardization;

        p=cases/n;

        run;

        proc sort data=summary out=summary;

        by &confounder.;

        run;

        %mend;

        %direct_std(data=std.sar2,group=%str(area),confounder=%str(age gender),confounder_=%str(age,gender),n=n,cases=cases);

        2.以全省人口作為標準人群做間接法的標準化率

        SAS宏命令及宏參數(shù)設置如下:

        %macro indirect_std(data=,group=,confounder=,n=,cases=,ratio_data=,ratio=);

        data standardization;

        set &data.;

        keep &group.&confounder.&n.&cases.;

        run;

        proc summary data=standardization nway;

        class &group.;

        var &n.;

        output out=crude1(drop=_:) sum=n;

        run;

        proc summary data=standardization nway;

        class &group.;

        var &cases.;

        output out=crude2(drop=_:) sum=cases;

        run;

        data crude;

        merge crude1 crude2;

        run;

        data crude;

        set crude;

        crude=cases/n;lower_CI=crude-1.96*sqrt(crude*(1-crude)/n);upper_CI=crude+1.96*sqrt(crude*(1-crude)/n);

        run;/*以上為計算粗率及其置信區(qū)間的代碼,與前文一致,不贅述*/

        proc sort data=&data.out=standardization; by &confounder.; run;

        proc sort data=&ratio_data.out=std; by &confounder.; run;

        data summary; merge standardization std; by &confounder.;run;/*合并匯總數(shù)據(jù)與標準人群構成比數(shù)據(jù),注意兩個數(shù)據(jù)相同的變量名設置要一樣,比如都為age、gender*/

        data summary; set summary; rate=&ratio.*&cases./&n.; run;

        proc summary data=summary nway;

        class &group.;var rate;

        output out=adj_rate(drop=_:) sum=adj_rate;

        run; /*對各地區(qū)按照構成比ratio為權重計算各年齡性別組的加權算術平均數(shù)adj_rate,即為標準化率*/

        data adjust;

        merge crude adj_rate;

        drop cases crude lower_ci upper_ci;

        run;

        data adjust;

        set adjust;

        adj_cases=n*adj_rate;adj_lower_CI=adj_rate-1.96*sqrt(adj_rate*(1-adj_rate)/n);adj_upper_CI=adj_rate+1.96*sqrt(adj_rate*(1-adj_rate)/n);

        run;

        data adjust;

        retain area N adj_cases adj_rate adj_lower_CI adj_upper_CI;set adjust;

        run;

        title “粗率及其置信區(qū)間”;

        proc print data=crude;run;

        title “標準化率及其置信區(qū)間”;

        proc print data=adjust;run;

        %mend;

        %indirect_std(data=std.sar2,group=%str(area),confounder=%str(age gender),n=n,cases=cases,ratio_data=std.ratio,ratio=ratio);

        其中,數(shù)據(jù)集std.sar2為匯總數(shù)據(jù)的形式,如果要對原始數(shù)據(jù)std.sar運行此宏,只需對原始數(shù)據(jù)運行如下命令:

        proc summary data=std.sar nway;

        class area age gender;

        var outcome;

        output out=std.sar2(drop=_:) n=N sum=cases;

        run;

        數(shù)據(jù)集std.ratio為全省人群年齡性別構成比,數(shù)據(jù)形式如下:

        表3 某省人群年齡性別構成比

        結(jié)果輸出為:

        結(jié) 語

        率的標準化是在疾病的流行病學研究中經(jīng)常會遇到的問題,而大部分教材只介紹了按照公式計算的方法[5],但在實際工作中,經(jīng)常會遇到多層次組群結(jié)構的大樣本復雜數(shù)據(jù),公式的計算常常會有較大的困難,常用的數(shù)據(jù)處理軟件也沒有專門的模塊來解決這個問題。因此,我們通過上述實例系統(tǒng)的解決了對率進行直接標準化和間接標準化問題,讀者可以根據(jù)實際情況選擇相應的SAS宏,通過宏參數(shù)設置相應的需要比較的組別和需要消除的混雜因素,并且調(diào)整好數(shù)據(jù)形式就可以簡單、快捷的計算出標準化率。

        猜你喜歡
        結(jié)節(jié)病置信區(qū)間參數(shù)設置
        18F-FDG PET/CT在結(jié)節(jié)病診斷中的應用價值
        定數(shù)截尾場合三參數(shù)pareto分布參數(shù)的最優(yōu)置信區(qū)間
        p-范分布中參數(shù)的置信區(qū)間
        多個偏正態(tài)總體共同位置參數(shù)的Bootstrap置信區(qū)間
        結(jié)節(jié)病合并隱球菌病的研究進展
        列車定位中置信區(qū)間的確定方法
        蟻群算法求解TSP中的參數(shù)設置
        皮下結(jié)節(jié)型結(jié)節(jié)病1例
        動車環(huán)境下U900異頻切換參數(shù)設置探討
        結(jié)節(jié)病診斷方法的研究進展
        黄色潮片三级三级三级免费| 精品人妻少妇一区二区三区不卡 | 亚洲一区二区三区一站| 干出白浆视频在线观看| 国产精品久久久久久妇女| 亚洲 卡通 欧美 制服 中文| 日日碰狠狠躁久久躁| 国产精品原创av片国产日韩| 日韩av在线不卡一二三区| 日韩中文字幕不卡在线| 欧美大胆性生话| 国产精品成人观看视频| 久久精品国产亚洲AV高清特级| 亚洲乱色视频在线观看| 午夜精品男人天堂av| 欧美性生交大片免费看app麻豆| 国产一区二区女内射| 亚洲 欧美 国产 日韩 精品| 国产精品一区二区午夜久久| 日本女优五十路中文字幕| 精品无码国产一区二区三区麻豆| 国产xxxxx在线观看| 国产成人无码一二三区视频| 日本中文字幕av网址| 精品亚洲av乱码一区二区三区| 亚洲精品成人无限看| 少妇无码av无码专区线| 伊人亚洲综合网色AV另类| 四房播播在线电影| 甲状腺囊实性结节三级| 日本一道高清在线一区二区| 免费在线观看av不卡网站| 免费视频爱爱太爽了| 无码夜色一区二区三区| 国产自产21区激情综合一区| 亚洲日本中文字幕乱码在线| 精品国产乱码久久久久久郑州公司 | 好男人视频在线视频| 免费在线观看亚洲视频| 极品美女调教喷水网站| 久久久久成人精品无码中文字幕|