999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

R軟件在慢性病監測數據清洗中的應用

2014-01-30 16:19:24寧波市疾病預防控制中心315010
中國衛生統計 2014年4期

寧波市疾病預防控制中心(315010) 紀 威 張 濤 崔 軍

寧波市慢性病監測工作覆蓋了四類主要慢性病——糖尿病、冠心病急性事件、腦卒中和惡性腫瘤的監測,該工作自2002年的監測點醫院到2006年的省衛生監測區,再至2009年慢性病網絡直報在全市醫療機構開展,隨著慢病患者逐年增多,發病報告數據也日益增長,因此如何對大量慢性病監測數據進行快速、準確、有效地審核管理也成為困擾疾病預防控制機構的一個亟待解決的難題。筆者以寧波市慢病監測數據為例,應用R軟件,提供一種簡便的方式完成監測數據的清理和統計工作,為更多監測工作者提供了新的工作方法,也為R軟件的應用提供了新思路。

R軟件簡介

R軟件像SAS和Stata等軟件一樣,主要使用命令行的方式處理數據,語法簡潔靈活、軟件開源是R諸多亮點中的一粟。現在主流的數據庫以及數據分析軟件都可以方便地和R軟件實現對接和互調,R也可以調用C、Java等高級語言,還可以根據使用者的需要定制擴展包以完成特定的工作。

應用實例

1.數據讀入

監測中常見的為csv和Excel文件,其中csv是逗號分割分文本文件,可以通過

dat <- read.csv("文件路徑/文件名.csv")方式讀入并存儲在數據集dat中以便調用。例如筆者有名為“tnb330200.csv”的文件存放在E盤下,則使用

dat <- read.csv("E:/tnb330200.csv",as.is = TRUE)

其中read.csv是R中的一個函數,用于讀入csv文件,as.is是這個函數中的一個選項,用于防止在數據讀入時字符變量向因子類型的自動轉換。

若數據為Excel文件,筆者推薦的方式是使用RODBC功能包中的odbcConnectExcel和sqlFetch函數。類似的,該包還提供了Access等數據文件的odbc接口。以E盤下的tnb330200.xls為例,使用方式如下:

require(RODBC)

chl <- odbcConnectExcel("E:/tnb330200.xls")

dat <- sqlFetch(chl,"Sheet1",as.is = TRUE)

odbcClose(chl)

require為加載包的命令,odbcConnectExcel建立與chl與Excel文件間的連接,sqlFetch讀取Excel文件中名為"Sheet1"的表格并存儲在數據集dat中,最后關閉這個連接。

在實際工作中,讀入的數據往往比較復雜,比如觀測個案可能含有缺失等情況,通常情況下對于缺失處為空的情況R會自動將字符型的空白處理為空字符,而將數值型的空白處理為NA,“NA”是R中表示缺失的字符,可以用is.na來判斷。如果用戶在錄入數據時,使用其他值例(如“9”“99”和“999”等)來代表缺失,則可以在讀入數據時使用參數na.strings=c(9,99,999)來指定缺失,也可以在數據讀入后將包含這些字符的位置替換為NA即可,替換方法可以參考本文的相關段落。

有時一個觀測可能占據多行,變量值中有可能包含分隔符等,對于前者,通??梢栽跀祿x入后使用專門的數據整理函數(例如reshape2包中的相關函數)進行處理;而對于后者,通??梢栽谧x入函數中使用相應的參數加以解決,有興趣的讀者可以閱讀幫助文件和相關的文獻。

2.查找重復個案

糖尿病數據中包含患者的很多信息,例如姓名、性別、身份證號碼等,由于存在同一患者多次報告的情況,因此在分析前對數據進行查重是有必要的。查重主要使用duplicated函數,假設糖尿病數據存儲在數據集dat中,假定姓名、性別、身份證號碼、住址、診斷名稱都相同的為重復個案,則找出這些重復個案可以使用如下方式:

dat[with(dat,duplicated(姓名,性別,身份證號碼,街道,糖尿病類型)),]

with函數指定所要操作的數據集,duplicated函數指定用于識別重復的變量名稱。相應地,如果需要在數據集中刪除這些重復個案,只需使用:

dat[-with(dat,duplicated(姓名,性別,身份證號碼,街道,糖尿病類型)),]

3.查找含有缺失的個案

在慢性病報告中,個案信息的收集通常情況下是不完全的,有些重要信息(如身份證號碼、電話等)的缺失會對監測查重和隨訪工作的順利進行有較大影響,所以找出這些信息缺失的個案也顯得尤為重要,假設個案信息存儲在數據集dat中,則找出身份證號碼和電話缺失的個案可以使用如下方法:

dat[ind_idmiss | ind_phmiss,]

身份證號碼中通常會出現空格和空字符,所以需要先將空格替換為缺失值NA,再來查找缺失個案;電話號碼中除空格外還可能用“無”“未留”來表示缺失,因此需將包含該字的也替換為NA;is.na函數用于判斷一個字段中是否為NA值(即缺失值),這樣就獲得了身份證號碼和電話缺失的個案記錄,監測工作者可以在此基礎上將相關信息予以補充。

4.查找數據中的邏輯錯誤

對數據進行邏輯審核是數據清洗中的重要一環,找出有邏輯錯誤的個案并及時訂正是保證數據質量的重要手段,使用R軟件可以用簡潔的語句找出邏輯錯誤,以寧波市惡性腫瘤監測數據為例,通常有如下邏輯錯誤:錄入日期早于報卡日期、出生日期與身份證號碼中的信息不符、男性診斷有女性疾病(如宮頸癌)、女性診斷有男性疾病等,這里我們假設腫瘤存儲在數據集dat中,則找出這些個案可以使用如下方式:

attach(dat)

ind1 <- 錄入日期 < 報卡日期

ind2 <- substr(身份證號碼,7,14) != gsub("-","",出生日期)

#出生日期格式為"1966-01-01"

ind3 <- 腫瘤分類 == "宮頸癌" & 性別 == "男"

ind4 <- 腫瘤分類 == "前列腺癌" & 性別 == "女"

dat_logi <- dat[ind1 | ind2 | ind3 | ind4,]

detach(dat)

attach函數通常用于簡化程序的書寫,其作用是將數據集dat加載到R的搜索路徑中,加載后只需輸入該數據集中的變量名稱即可直接調用這個變量;substr函數取出身份證號碼中生日所在的8位數字,gsub替換掉出生日期的橫線"-",然后將包含這4種邏輯錯誤的個案統一存儲在數據集dat_logi中,最后detach從R的搜索路徑中卸載數據集dat。

5.將有邏輯錯誤的個案寫入到文件

當找出含有邏輯錯誤的個案后,需要對個案進行逐一核對以訂正錯誤,此時通常需要將數據寫入到R之外以便核對,將數據集寫入文件(以csv文件為例)可以使用:

write.csv(dat_logi,"E:/含有邏輯錯誤的個案.csv",row.names = FALSE)

其中文件被寫到E盤下名為“含有邏輯錯誤的個案”的csv文件,選項row.names = FALSE表示在寫入時不要寫入R自動生成的個案行名。

討 論

本文中寥寥十幾行程序就完成了基本的數據查重和邏輯審核工作,R語言的簡潔可見一斑,而且R語言中的函數使用簡單直觀,便于使用者理解掌握。

此外,由于R軟件優秀的可定制性,使用者可以編寫自己的軟件包以解決特定的問題,筆者便在本文的基礎上編制了專門用于慢性病數據清理和統計的軟件包mbpkg,使用者可以不需要任何編程基礎,只需簡單地鼠標點選便可輕松完成更為復雜的慢性病數據審核管理工作,在實際工作和科研過程中都有較好的推廣意義。有興趣的讀者可以根據研究內容編寫自己的軟件包。

參 考 文 獻

1. Brian Ripley.ODBC Connectivity.Department of Statistics,University of Oxford,2012,16:17.

2.Venables WN,Smith DM,the R Core Team.An Introduction to R,2012:27-28.

主站蜘蛛池模板: 高清国产在线| 国产91无码福利在线| 国产成人av一区二区三区| 日韩欧美国产综合| 97在线免费| 福利片91| 波多野结衣无码视频在线观看| 综合社区亚洲熟妇p| 日韩不卡免费视频| 一级毛片免费不卡在线视频| 国产精品无码翘臀在线看纯欲| 国产99免费视频| AV天堂资源福利在线观看| 国产在线麻豆波多野结衣| 夜夜爽免费视频| 中文字幕欧美日韩| 久久精品人人做人人综合试看| 久久久久无码精品| 日韩精品成人网页视频在线| 狠狠做深爱婷婷久久一区| 日本亚洲国产一区二区三区| 国产丝袜第一页| 国产内射在线观看| 国产精品极品美女自在线| 亚洲午夜福利在线| 免费一级毛片不卡在线播放| 日韩AV无码免费一二三区| 欧美日韩免费在线视频| 日韩精品高清自在线| 一级福利视频| 国产精品午夜福利麻豆| 国产美女自慰在线观看| 亚洲第一区在线| 亚洲综合精品第一页| 国产美女视频黄a视频全免费网站| 精品少妇人妻无码久久| 国产免费a级片| 视频国产精品丝袜第一页| 国产成人综合网在线观看| 久久综合伊人77777| 精品亚洲欧美中文字幕在线看| 全部免费毛片免费播放| 亚洲精品波多野结衣| 国产九九精品视频| 亚洲制服中文字幕一区二区| 福利国产微拍广场一区视频在线| 91久久偷偷做嫩草影院电| 日韩黄色在线| 亚洲人成电影在线播放| 成人久久18免费网站| 欧美成人区| 亚洲欧美不卡| 亚洲欧美日韩中文字幕在线| 国产精品自拍合集| 中国精品自拍| 国产一区二区三区在线观看视频| 亚洲网综合| 久久五月视频| 天天躁夜夜躁狠狠躁图片| 亚洲日韩Av中文字幕无码| 六月婷婷精品视频在线观看| 第一页亚洲| 永久免费AⅤ无码网站在线观看| 亚洲人成成无码网WWW| 免费激情网址| 国产成人亚洲欧美激情| 国产精品无码影视久久久久久久| 日韩av无码DVD| 欧美激情第一欧美在线| 99视频在线免费| 99免费在线观看视频| 亚洲欧洲日产无码AV| 午夜无码一区二区三区在线app| 欧美色香蕉| 91福利片| 人妻免费无码不卡视频| 色婷婷亚洲综合五月| 精品国产中文一级毛片在线看| 四虎永久免费地址在线网站 | 久久一色本道亚洲| 久久精品人人做人人综合试看| 欧美中文字幕在线视频|