<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          數(shù)據(jù)清洗(data cleaning)的重要性

          共 2342字,需瀏覽 5分鐘

           ·

          2020-06-20 23:47

          轉(zhuǎn)自公眾號:ArisQ

          d04d8a7baef780f080102526e6e1a23a.webp

          之前經(jīng)常和臨床試驗(yàn)數(shù)據(jù)打交道,無論是來自手動錄入的數(shù)據(jù)還是取自數(shù)據(jù)庫的數(shù)據(jù),在完成數(shù)據(jù)獲取這一步后,感覺有80%甚至90%的時間和精力會用在做數(shù)據(jù)清洗(data cleaning)這一環(huán)節(jié),即“增”“刪”“查”“改”,通過data cleaning要讓我們的數(shù)據(jù)成為可以進(jìn)入模型的狀態(tài),也是就是清潔的數(shù)據(jù)(tidy data/clean data),過不了這一關(guān),后面的建模就無法實(shí)現(xiàn)。

          隨著網(wǎng)絡(luò)資源的豐富,很多時候即使沒有精通的數(shù)據(jù)分析或者統(tǒng)計(jì)學(xué)基礎(chǔ),通過很多網(wǎng)上的step by step的教程或幫助手冊文檔,使得即使是新手也可以通過編程軟件如SAS、R來實(shí)現(xiàn)很多高級模型的構(gòu)建,我也經(jīng)常會在國內(nèi)外論壇或者微信公眾號上學(xué)習(xí)這些教程。但是你要知道“幾行代碼實(shí)現(xiàn)XXX”的前提,也就是把一個“臟”數(shù)據(jù)變成能夠在“幾行代碼”中直接跑出結(jié)果的過程可能需要幾十行幾百行代碼進(jìn)行清洗。通常情況這些教程是不會說明所用的“干凈數(shù)據(jù)”是如何獲取的,而且我們并不是FDA,收到的數(shù)據(jù)也不會像藥企提交給FDA的SDTM (Study Data Tabulation Model) & ADaM (Analysis Data Model)那樣規(guī)范[1],沒有清潔的數(shù)據(jù),盲目套用別人的code只會得到各種errors。

          俗話說心急吃不了熱豆腐,如果真的希望能夠在數(shù)據(jù)分析上進(jìn)一步提高水平,data cleaning是一項(xiàng)基本功并且無論怎樣強(qiáng)調(diào)也不為過。數(shù)據(jù)清洗有很多專著(比如后面提到的Cody's book)[2],不同的軟件也有不同的語法規(guī)則,這篇文章并不探討具體的方法,旨在引起大家包括提醒我自己對這項(xiàng)基本功的重視。


          先了解一下什么是數(shù)據(jù)清洗。根據(jù)Ron Cody在他的《Cody's Data Cleaning Techniques Using SAS》中的定義是:

          1. 確保原始數(shù)據(jù)的準(zhǔn)確輸入

          2. 檢查字符型變量僅包含有效值

          3. 檢查數(shù)值型變量在預(yù)定范圍內(nèi)

          4. 檢查是否存在缺失數(shù)據(jù)

          5. 檢查并刪除重復(fù)數(shù)據(jù)

          6. 檢查特殊值是否唯一,如患者編號

          7. 檢查是否存在無效數(shù)據(jù)

          8. 檢查每一個文件內(nèi)的ID編號

          9. 確保是否遵循復(fù)雜多文件規(guī)則

          舉個例子,當(dāng)我獲得一個包含幾百名臨床患者的數(shù)據(jù)集時,一眼看過去,我的電腦屏幕應(yīng)該是既看不見屏幕的右邊還有什么(因?yàn)樽兞刻啵蛘哒f列太多),又看不見屏幕下面還有什么(因?yàn)橛^測太多,或者說行太多),比如下面這個樣子的:

          9a852edd13bc597af870e7708651e973.webp圖1

          這個時候,我應(yīng)該做什么?拉一拉屏幕看看屏幕有什么,屏幕下面有什么嗎?可以,但如果你是個數(shù)據(jù)分析老手,你會知道這并不重要,而且也沒有什么用。如果數(shù)據(jù)量很大的時候,拖動屏幕去看看下面的幾萬行觀測除了讓你覺得卡頓之外,也不太可能一眼就看出什么有效的信息,所以沒有任何意義。

          粗略的來劃分變量類型,通??梢苑殖勺址秃蛿?shù)值型組成。還是拿上面的這個例子來說,這個數(shù)據(jù)集里的group(組別),gender(性別)都是典型的字符型變量,像age(年齡)就是典型的數(shù)值型了。那么數(shù)據(jù)清洗的可以檢查字符型和數(shù)值型變量的值,是否在合理的區(qū)間(比如年齡的范圍),是否存在缺失,是否存在異常(比如性別、年齡),患者編號是否存在重復(fù)。這一步有的人可能會說這難道不就是統(tǒng)計(jì)描述么?沒錯,這一步本質(zhì)就是統(tǒng)計(jì)描述,這一步可以得到頻數(shù)表、最大值、最小值、均數(shù)、中位數(shù)等信息。但數(shù)據(jù)清洗并沒有這么簡單,到這里我們通過統(tǒng)計(jì)描述只能說看看數(shù)據(jù)“臟不臟”,如果“臟”,那后面還有的是工作需要去做。但如果“干凈”,也不要高興太早,干凈的數(shù)據(jù)也不見得直接就能拿來用。

          還是用上面這個例子,這樣的一個數(shù)據(jù)集,可能需要拆分,可能需要合并(比如雙錄,即兩個研究人員同時錄入一批數(shù)據(jù),減少單人錄入出現(xiàn)的失誤),才能夠滿足后面的數(shù)據(jù)分析要求?,F(xiàn)在我要基線(baseline)的數(shù)據(jù),那么需要從剛才的數(shù)據(jù)集中提取visit=0的觀測。這樣的話,后面我所有與基線有關(guān)的數(shù)據(jù)分析都在這個新的數(shù)據(jù)集中操作即可,可以減少對原始數(shù)據(jù)集的影響,以免一些誤操作而引起的麻煩。

          e76a6a56dabbd4b9c6b173ff788af4fd.webp圖2

          另外有時需要對數(shù)據(jù)進(jìn)行轉(zhuǎn)置(transpose),因?yàn)橛行r候需要特定的數(shù)據(jù)格式才能進(jìn)行下一步的數(shù)據(jù)分析,比如寬數(shù)據(jù)轉(zhuǎn)長數(shù)據(jù),或者長數(shù)據(jù)轉(zhuǎn)寬數(shù)據(jù)。比如圖1就是一個典型的長數(shù)據(jù)格式,因?yàn)椤皏isit”這個變量被壓縮到了一個變量之中,所以每一個ID不僅只有一行觀測,而是有9行之多。圖3就是對圖1中的變量“RMDQ”進(jìn)行轉(zhuǎn)置之后的結(jié)果??赡苣銜?,為什么要轉(zhuǎn)置RMDQ的這一列數(shù)據(jù)呢?因?yàn)椤癛MDQ”中存在缺失值(missing data),后面會通過多重填補(bǔ)(multiple imputation)方法進(jìn)行缺失值的處理,需將數(shù)據(jù)變換為寬數(shù)據(jù)格式時才可以。

          f6cfc8b7aa0c7d8a753d1aaef9b68361.webp圖3

          總結(jié)一下數(shù)據(jù)清洗具體包含的操作除了檢查變量是否有效、是否在合理范圍內(nèi),還包括拼接、抽提、拆分、觀測和變量的篩選、變量類型轉(zhuǎn)換、行列轉(zhuǎn)置、新變量生成、賦值、缺失數(shù)據(jù)填補(bǔ)等等只要是為進(jìn)一步數(shù)據(jù)分析做準(zhǔn)備的工作都可以看做是數(shù)據(jù)清洗。


          數(shù)據(jù)清洗是數(shù)據(jù)分析的前提,也會花費(fèi)較多的時間和精力。希望這篇小文章能讓有興趣在數(shù)據(jù)分析領(lǐng)域進(jìn)一步學(xué)習(xí)了解的朋友們重視數(shù)據(jù)清洗的過程,夯實(shí)基礎(chǔ)。

          參考資料

          • Ron Cody, Cody's Data Cleaning Techniques Using SAS, Second edition(有第三版最新版本哦!鏈接請查收:https://pan.baidu.com/s/1fygwaWWIPuq_iG9dik4i4g 提取碼: 2it2 )

          • FDA,美國食品藥物管理局;SDTM,研究數(shù)據(jù)制表模型;ADaM,分析數(shù)據(jù)模型



          瀏覽 53
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  成年人在线观看网址 | 一区二区三区四区五区六区久久 | 亚洲欧美怡红院 | 在线观看黄色视频网站 | 凸凹翔田千里无码 |