• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      C#語言快速實(shí)現(xiàn)病例對(duì)照研究的個(gè)體匹配*

      2017-01-09 13:43:40劉劍波莫寶軍聶光輝莫復(fù)軍羅學(xué)榮
      關(guān)鍵詞:字段代碼患病

      劉劍波 莫寶軍 聶光輝 肖 博 莫復(fù)軍 羅學(xué)榮△

      C#語言快速實(shí)現(xiàn)病例對(duì)照研究的個(gè)體匹配*

      劉劍波1莫寶軍2聶光輝3肖 博1莫復(fù)軍4羅學(xué)榮1△

      病例對(duì)照研究(case-control studies)是流行病學(xué)常用的研究方法之一[1],是一種回顧性的研究,由結(jié)果探索原因的研究方法。病例對(duì)照研究的研究類型主要分為兩類,一類是病例和對(duì)照不匹配,另外一類是病例對(duì)照匹配[2-3],最常用的匹配比例是1∶1,1∶2[4-6]。第一類的病例對(duì)照的方法比較簡(jiǎn)單,只需要對(duì)照組個(gè)體人數(shù)大于等于病例組即可,然而第二類的匹配方法在目前的軟件難以實(shí)現(xiàn),讓很多醫(yī)學(xué)工作者感到困擾,尤其當(dāng)匹配因素不止一個(gè),研究病例數(shù)多,對(duì)照組匹配的比例較高(如1∶2以上)時(shí),更加無從下手。因此本文通過C#語言的編程快速實(shí)現(xiàn)大樣本,2個(gè)匹配因素,按照病例和對(duì)照1∶2的匹配。

      舉 例

      某大型兒童精神疾病的調(diào)查,以下是其部分?jǐn)?shù)據(jù),包括編號(hào)(id)、學(xué)校(school)、是否有精神疾病家族史(history)、是否留守兒童(leftover children)、性別(sex)、年齡(age)、是否患精神疾病(disease)。其中,是否有精神疾病家族史:0=“無”,1=“有”,是否留守兒童:0=“不是”,1=“是”,性別:1=“男”,2=“女”,是否患精神疾?。?=“不是”,1=“是”,總樣本量是3094個(gè),其中患病兒童924人,健康兒童2170人,現(xiàn)在要求按照是否患精神疾病1:2匹配(即1個(gè)患病兒童,匹配2個(gè)健康兒童),匹配的原則是年齡、性別一致。

      1.匹配的詳細(xì)步驟:

      (1)打開MySQL數(shù)據(jù)庫,在左側(cè)找到test數(shù)據(jù)庫,右鍵->new->table,建好名為vfp的表,在建表時(shí)會(huì)自動(dòng)生成Id,分別手動(dòng)建立字段School varchar(255),history varchar(255),leftover children varchar(255),Sex varchar(255),Age varchar(255),disease varchar(255),CareId1 int(11),CareId2 int(11)。

      (2)建好字段后,單擊上面的Data Browser,將準(zhǔn)備好的數(shù)據(jù)全部復(fù)制到指定區(qū)域。

      (3)打開VS2010,左上角,文件->新建->項(xiàng)目,選擇Visual C#,選擇WPF應(yīng)用程序,輸入項(xiàng)目的名字,點(diǎn)擊確定。

      (4)右鍵剛剛建好的項(xiàng)目的名字,選擇添加->新建項(xiàng),選擇類,輸入名字為SqlHelper,點(diǎn)擊確定,同理新建名字為vfpDal和vfpModel的文件,將如下代碼分別粘貼到對(duì)應(yīng)文件,代碼見下(使用時(shí)將代碼復(fù)制即可)。

      (5)在這些文件中粘貼了這些代碼后,按F5運(yùn)行程序,在彈出的窗口中點(diǎn)擊配對(duì)按鈕,等出現(xiàn)一個(gè)配對(duì)成功的提示對(duì)話框后,回到剛剛建好的表,點(diǎn)擊一下左上角的刷新,即可得到數(shù)據(jù)。

      2.匹配代碼

      (1)vfpModel文件中放入如下代碼:

      3.匹配代碼解釋

      (1)vfpModel文件中的代碼:用于和vfp表的字段相對(duì)應(yīng),存儲(chǔ)每條數(shù)據(jù)。

      (2)vfpDal文件中的代碼:程序1~4行用于獲取vfp中所有的數(shù)據(jù),并存放在vfpModel對(duì)象數(shù)組中,5~8行用于將vfp表中指定Id的CareId1更新為指定值,9~12行用于將vfp表中指定Id的CareId2更新為指定值,13~15行用于將vfp表中指定Id的記錄刪除,16~21行用于將從vfp表中獲得的記錄轉(zhuǎn)化為用vfpModel對(duì)象形式存儲(chǔ)起來,22~26行用于獲得vfp表中disease=1或0的記錄,并存儲(chǔ)在vfpModel對(duì)象數(shù)組中。

      (3)SqlHelper文件中代碼:上面的所有代碼都是用于連接用戶名為root,密碼為123456,數(shù)據(jù)庫名為test的MySql數(shù)據(jù)庫,是提供給vfpDal的工具方法。

      (4)MainW indow.xm l文件中代碼:上面的xm l代碼就是定義了一個(gè)按鈕控件,這個(gè)控件可以直接在可視化界面下直接拖。

      (5)MainW indow.xm l.cs文件中的代碼:1~7行都是對(duì)一些庫函數(shù)的引用,9~10行用于獲取vfp表中disease=1或者0的記錄,分別存放在兩個(gè)vfpModel數(shù)組中,11~29行是這個(gè)程序的主要邏輯部分,將所有disease=1的記錄從數(shù)據(jù)庫中的表里面讀取出來,放到一個(gè)剛剛建立的Model數(shù)組中,vfpModel[]vfpdisease=vfpDal.GetBydisease(“1”);//獲得患病兒童的所有記錄。將所有disease=0的記錄從數(shù)據(jù)庫中的表里面讀取出來,放到一個(gè)剛剛建立的Model數(shù)組中,vfpModel[]vfpNotdisease=vfpDal.GetBy Injured(“0”);//獲得健康兒童的所有記錄。接下來是給每個(gè)患病兒童匹配兩個(gè)健康兒童,從數(shù)組中取出一個(gè)患病兒童,如果這個(gè)患病兒童的CareId1和CareId2都不等于0的話,說明已經(jīng)配對(duì)好了,取下一條患病兒童的記錄,只要CareId1和CareId2中任意一個(gè)為0,就在健康兒童里面找年齡和性別相匹配,由于記錄本身的隨機(jī)特性,找到后,就將患病兒童的CareId1或者CareId2賦值為健康兒童的Id,將健康兒童的CareId1和CareId2賦值為患病兒童的Id,在調(diào)用前面寫好的Dal層的方法將數(shù)據(jù)寫入數(shù)據(jù)庫中,當(dāng)一個(gè)患病兒童找到兩個(gè)匹配的健康兒童的時(shí)候,就繼續(xù)下一個(gè)患病兒童,重復(fù)上述步驟。30~35行對(duì)只匹配了一個(gè)健康兒童的患病兒童的數(shù)據(jù)進(jìn)行刪除處理,并且該健康兒童的數(shù)據(jù)也進(jìn)行刪除,對(duì)沒有匹配到的健康兒童和患病兒童的數(shù)據(jù)也進(jìn)行刪除處理。

      結(jié) 果

      代碼運(yùn)行后,生成2484個(gè)記錄(其中患病兒童個(gè)數(shù)828個(gè),健康兒童1656個(gè)),其他數(shù)據(jù)被刪除,被刪除的數(shù)據(jù)中包括配對(duì)不到數(shù)據(jù)患病兒童和健康兒童,還有一些只配對(duì)一個(gè)的患病兒童和健康兒童。

      討 論

      評(píng)價(jià)一篇病例對(duì)照文章質(zhì)量的高低,其中一個(gè)重要的指標(biāo)是病例組和對(duì)照組具有可比性[7],而病例組和對(duì)照組進(jìn)行匹配可以控制混雜因素對(duì)研究的影響,能使病例組和對(duì)照組處于同一基線上,增加了可比性。另外,病例匹配使病例組和對(duì)照組均衡,也可以提高研究效率[3]。對(duì)于匹配因素多個(gè),大樣本,對(duì)照組匹配的比例較高時(shí),如果研究者采取手工匹配的方法,將產(chǎn)生巨大的工作量,同時(shí)手工匹配也很難做到隨機(jī)地匹配。采用上述的代碼可以大大提高研究者的效率,同時(shí)也保證了數(shù)據(jù)隨機(jī)的可靠。

      使用上述的代碼,需要注意幾個(gè)問題:第一,在MySql里面的test數(shù)據(jù)庫里面建表名為vfp的表,要在建好工程的時(shí)候添加一個(gè)文件的引用,文件路徑為C:\Program Files(x86)\MySQL\MySQL Connector Net6.9.7\Assemblies\v4.0\MySql.Data.dll,因?yàn)镃#連接的數(shù)據(jù)庫默認(rèn)是sql server,這樣才能連接上MySql數(shù)據(jù)庫。第二,如果MySql的用戶名和密碼不同,需要在SQLHelper.cs文件中修改ConnStr中的Id和password,將其改成你的用戶名和密碼。第三,程序使用的是三層架構(gòu),建立好一個(gè)wpf項(xiàng)目時(shí),要添加三個(gè)類文件,SQLHelper.cs,vfpDal.cs,vfpModel.cs,這樣程序邏輯清晰。第四,如果換成其他表格,就按這個(gè)表新建一個(gè)MySql數(shù)據(jù)庫表,然后再修改vfpModel.cs文件,讓這個(gè)類屬性和剛剛建好的表的字段一一對(duì)應(yīng)即可,再修改vfpDal.cs文件,把里面用到的字段都改成剛剛建好表的字段。

      本研究中,我們選用了1∶2匹配的方式,匹配年齡和性別,假如讀者的研究方法與本研究方法不同,匹配的方式不一樣,可以稍修改代碼實(shí)現(xiàn)。如按1∶n匹配,在建表時(shí)需要建n個(gè)CareId(即如果是1∶1匹配,建一個(gè)CareId,如果是1∶2匹配,就加2個(gè)CareId,以此類推),在對(duì)應(yīng)的vfpModel.cs中就增加(n-1)個(gè)CareId,在主判斷邏輯中,一個(gè)患病兒童匹配n個(gè)健康兒童才可以跳到下一條記錄。相應(yīng)數(shù)據(jù)庫的表中在增加(n-1)個(gè)CareId。再如,對(duì)于一些病例很難收集的疾病,如果不適宜刪除,我們可能會(huì)適當(dāng)放寬一些配對(duì)的標(biāo)準(zhǔn),并在MainW indow.xm l.cs文件的if(vfp Index<=1)這個(gè)判斷條件里面稍作修改,比如,適當(dāng)放寬的條件,只要求年齡匹配,邏輯和本研究相同,修改代碼如下:

      [1]李志華,劉洪慶.1∶M配比病例對(duì)照研究資料分析方法的探討.中國(guó)衛(wèi)生統(tǒng)計(jì),2015,32(6):1076-1084.

      [2]呂曉珍,詹思延.第四講:病例對(duì)照研究.中國(guó)循證兒科雜志,2009,4(5):463-466.

      [3]趙仲堂.流行病學(xué)研究方法與應(yīng)用.北京:科學(xué)出版社,2000:73-74.

      [4]常艷紅,田林.宮頸癌及癌前病變危險(xiǎn)因素的病例對(duì)照研究.中國(guó)衛(wèi)生統(tǒng)計(jì),2016,33(1):120-122.

      [5]王燕,劉銀梅,戴以恒,等.原因不明習(xí)慣性流產(chǎn)危險(xiǎn)因素1:2病例對(duì)照研究.中國(guó)慢性病預(yù)防與控制,2011,19(1):49-51.

      [6]Farsalinos KE,Romagna G,Voudris V.Factors associated with dual use of tobacco and electronic cigarettes:A case control study.Int J Drug Policy,2015,26(6):595-600.

      [7]何瓊,黃淵秀,康文婧,等.2001-2010年我國(guó)傷害預(yù)防病例對(duì)照研究及隊(duì)列研究文獻(xiàn)質(zhì)量評(píng)價(jià).中華疾病控制雜志,2014,18(10):913-915.

      (責(zé)任編輯:張 悅)

      湖南省研究生科研創(chuàng)新項(xiàng)目(CX2016B062);中國(guó)兒童青少年精神障礙流行病學(xué)調(diào)查(2012BAI01B02)

      1.中南大學(xué)湘雅二醫(yī)院(410000)

      2.中南大學(xué)信息科學(xué)與工程學(xué)院

      3.廣西醫(yī)科大學(xué)公共衛(wèi)生學(xué)院

      4.湖南涉外經(jīng)濟(jì)學(xué)院信息科學(xué)與工程學(xué)院

      △通信作者:羅學(xué)榮,E-mail:luoxr@vip.sina.com

      猜你喜歡
      字段代碼患病
      圖書館中文圖書編目外包數(shù)據(jù)質(zhì)量控制分析
      為照顧患病家父請(qǐng)事假有何不可?
      野生動(dòng)物與人獸共患病
      科學(xué)(2020年3期)2020-11-26 08:18:20
      創(chuàng)世代碼
      創(chuàng)世代碼
      創(chuàng)世代碼
      創(chuàng)世代碼
      “glifo”幫助患病兒童圓提筆之夢(mèng)
      CNMARC304字段和314字段責(zé)任附注方式解析
      無正題名文獻(xiàn)著錄方法評(píng)述
      中西区| 维西| 南安市| 珲春市| 新巴尔虎右旗| 长宁区| 石嘴山市| 靖远县| 宜黄县| 登封市| 施甸县| 天祝| 任丘市| 靖远县| 湟源县| 马尔康县| 塔城市| 娱乐| 大连市| 镇远县| 邓州市| 清徐县| 东平县| 岑巩县| 鹤山市| 渑池县| 彭泽县| 米林县| 博罗县| 昌邑市| 阿荣旗| 瓦房店市| 大同县| 正镶白旗| 金乡县| 山丹县| 邓州市| 宜城市| 海南省| 巴楚县| 上饶县|