在進行文章的撰寫時,總是少不了表格的繪制,特別是涉及臨床樣本的研究,我們文章的第一個內(nèi)容,也就是Table1,往往就是樣本信息的匯總,也就是“三線表”。三線表非常的常見,你在幾乎所有的醫(yī)學期刊中都能見到它的身影。三線表經(jīng)常被用來展示臨床的基線數(shù)據(jù),它清晰嚴謹客觀的展現(xiàn)了數(shù)據(jù)的統(tǒng)計概要,是文章中不可或缺的部分。 形如上面的表格,就是一個標準的三線表??此坪唵?,實則內(nèi)涵豐富,我們先來看看這個表格中都有哪些要素: (1)每一行都是一個變量,可能是連續(xù)性變量,也可能是分類變量,每一行都有這些變量的統(tǒng)計信息;對于連續(xù)性變量和分類變量,我們用的統(tǒng)計數(shù)值是不同的,比如是用Mean±SD或者用%百分比表示,亦或者用極差表示,這些都是跟數(shù)據(jù)的類型和數(shù)據(jù)分布有關(guān)的。 (2)每一列代表一個分組,要統(tǒng)計每個觀察值在各個分組中的信息;常見的是兩組,比如對照組和實驗組,也可能是三組或者更多,乃至在分組之后還進一步分亞組。 (3)統(tǒng)計分析,使用何時的統(tǒng)計方法,比如t檢驗、方差分析或者非參數(shù)檢驗等比較不同分組之間的差異,得到諸如p value、t statistics等數(shù)值。這里就稍微復(fù)雜一點了,到底什么時候用方差分析,什么時候用卡方,什么時候用非參統(tǒng)計比較,這個對于我們的統(tǒng)計理論還是有要求的。 因此呢,雖然這個表格看似簡單,其實包含了非常多的信息,否則也不可能在文章中占到No.1的位置。那么,準確無誤的三線表究竟該如何制作呢? 三線表的制作有很多方法,最老套方法就是用Excel或者SPSS進行統(tǒng)計分析,一行一行輸入數(shù)據(jù),然后計算中位數(shù),標準差,然后再做統(tǒng)計比較,計算好數(shù)據(jù),逐個導(dǎo)入Excel,之后編輯好邊框和底紋。這一套流程走下來,我估摸著至少一天時間得進去了,還不說你算得對不對,選的統(tǒng)計方法準不準。 對于我們之中惜時如金(懶到極致)的各位來說,一個個輸入數(shù)據(jù)可真是要哭了(更多的是怕輸錯)。那么,在這個高速發(fā)展的時代,有沒有一個方法是可以3分鐘就做好一個完美的三線表呢?當然有的!這個困難我來幫你解決!話不多說,我們直接開始! 下面先來看看我們準備的測試數(shù)據(jù),本次示例數(shù)據(jù)來源于梅奧診所原發(fā)性膽汁性肝硬化臨床數(shù)據(jù)。以下是數(shù)據(jù)表的所有信息匯總:
首先讀入數(shù)據(jù),然后用str()函數(shù)看一下數(shù)據(jù)類型是不是如我們所愿。 1library(tableone) 可以看到,有些變量諸如status,trt,hepato等變量被認作是連續(xù)變量了,就像上次我們在隨機森林里的處理方式,我們可以自己規(guī)定哪些是分類變量,把它轉(zhuǎn)換成因子,今天我們有更簡單的辦法,在生成三線表的時候直接定義。那么,都說道這里了,我們到底用什么神奇的方法進行三線表的快速統(tǒng)計呢?那就是tableone包,沒錯這個R包的名字就叫做tableone,意為我們文章中的表1。好的,下一步定義下哪些數(shù)據(jù)要展現(xiàn)在三線表中,本次我們把trt(治療)作為分類依據(jù)(當然你也可以自己選擇一個分類變量進行分組)。
在這里的代碼中,由于我們輸入的數(shù)據(jù)含有比較多的數(shù)據(jù)列,所以選擇的列也多了一些。首先我們定義了需要進行統(tǒng)計分析的列,其次是定義了這些變量中到底哪些是分類變量,然后通過CreateTableOne()函數(shù)構(gòu)建表格。當然,如果是在你自己的數(shù)據(jù)中,肯定是選擇自己需要的數(shù)據(jù)列。那么,這里的結(jié)果是什么樣的呢?有沒有統(tǒng)計出我們想要的表格呢? 在R語言輸出的結(jié)果中,我們可以發(fā)現(xiàn)計量數(shù)據(jù)都是用“(mean (SD))”描述,分類變量用“ (%) ”表示,而且還算出了P值。可以說,這個基本上就是我們想要的表格了,只是還需要導(dǎo)入到Excel中進行格式的美化。 函數(shù)默認情況下使用正態(tài)分布方法分析資料,因此會出現(xiàn)“(mean (SD))”的描述,但是像本例中的臨床生化指標bili,chol,屬于偏態(tài)分布,用“(mean (SD))”描述顯然是錯誤的,所以需要進一步定義變量。同時,非正態(tài)指標也不能用t檢驗進行比較,需要用非參檢驗方法,例如對生存狀態(tài)(”status”)、臨床分期('stage')需用Fisher exact檢驗。因此,我們在這里需要把非正態(tài)分布的數(shù)據(jù)和需要進行Fisher exact檢驗的分類變量挑選出來。同時用cramVars參數(shù)可以顯示兩個水平的分類變量構(gòu)成比,smd參數(shù)為顯示standardized mean differences。 1# 定義非正態(tài)分布數(shù)據(jù) 最終生成的結(jié)果,我們用write.csv()函數(shù)保存到csv,然后Excel打開看一下,如下所示,是不是很神奇呢?我們想要的表格一下子就這么成現(xiàn)在我們面前。 當然了,上面的表格還有一點點不好看,稍微調(diào)節(jié)一下邊框底紋就可以構(gòu)建出完美的三線表啦。 是不是非常nice呢?有小伙伴可能還有需求,比如我想做看看不同治療手段下,不同status 血漿albumin有沒有什么區(qū)別呢?就像這樣: 使用上面的方法,不僅能夠給我們省去大量的時間,關(guān)鍵還更加準確一些,所以,趕緊動手操練起來吧??茨隳芊裰噩F(xiàn)這些表格。 本期干貨 - 三線表統(tǒng)計代碼 - 資源獲取方法新規(guī) (七天內(nèi)推送的資源,均可直接獲取) 一、請于2020年9月19日23:59分前關(guān)注科研貓公眾號,在后臺回復(fù)關(guān)鍵詞“200913”獲取本篇推文干貨百度云鏈接,獲取后請盡快轉(zhuǎn)存或下載以免鏈接過期。 二、9月19日后該資源獲取方式: 添加科研貓客服微信領(lǐng)取。 不用 R 語言同樣能做出這么好看的圖!科研繪圖神器—hiplot,是2020年7月19日openbiox聯(lián)合科研貓鄭重推出的全網(wǎng)首個開源繪圖平臺,目前可提供60余種基礎(chǔ)可視化功能,并在不斷的更新中。 https:// 點擊圖片進入Hiplot平臺介紹
|
|
來自: 昵稱69125444 > 《知識》