日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

想整理臨床數(shù)據(jù)發(fā)文?教你3分鐘搞定Table1

 昵稱69125444 2020-09-14

在進行文章的撰寫時,總是少不了表格的繪制,特別是涉及臨床樣本的研究,我們文章的第一個內(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ù)表的所有信息匯總:

age:

in years

albumin:

serum albumin (g/dl)

alk.phos:

alkaline phosphotase (U/liter)

ascites:

presence of ascites

ast:

aspartate aminotransferase, once called SGOT (U/ml)

bili:

serum bilirunbin (mg/dl)

chol:

serum cholesterol (mg/dl)

copper:

urine copper (ug/day)

edema:

0 no edema, 0.5 untreated or successfully treated


1 edema despite diuretic therapy

hepato:

presence of hepatomegaly or enlarged liver

id:

case number

platelet:

platelet count

protime:

standardised blood clotting time

sex:

m/f

spiders:

blood vessel malformations in the skin

stage:

histologic stage of disease (needs biopsy)

status:

status at endpoint, 0/1/2 for censored, transplant, dead

time:

number of days between registration and the earlier of death,


transplantion, or study analysis in July, 1986

trt:

1/2/NA for D-penicillmain, placebo, not randomised

trig:

triglycerides (mg/dl)

首先讀入數(shù)據(jù),然后用str()函數(shù)看一下數(shù)據(jù)類型是不是如我們所愿。

1library(tableone)
2data<-read.csv('data.csv',header=T)
3head(data)
4str(data)


可以看到,有些變量諸如status,trt,hepato等變量被認作是連續(xù)變量了,就像上次我們在隨機森林里的處理方式,我們可以自己規(guī)定哪些是分類變量,把它轉(zhuǎn)換成因子,今天我們有更簡單的辦法,在生成三線表的時候直接定義。那么,都說道這里了,我們到底用什么神奇的方法進行三線表的快速統(tǒng)計呢?那就是tableone包,沒錯這個R包的名字就叫做tableone,意為我們文章中的表1。好的,下一步定義下哪些數(shù)據(jù)要展現(xiàn)在三線表中,本次我們把trt(治療)作為分類依據(jù)(當然你也可以自己選擇一個分類變量進行分組)。

1# 需要進行統(tǒng)計分析的變量
2myVars <- c(
3  'time',
4  'status',
5  'age',
6  'sex',
7  'ascites',
8  'hepato',
9  'spiders',
10  'edema',
11  'bili',
12  'chol',
13  'albumin',
14  'copper',
15  'alk.phos',
16  'ast',
17  'trig',
18  'platelet',
19  'protime',
20  'stage'
21)
22
23# 分類變量
24catVars <- c('status',
25             'trt',
26             'ascites',
27             'hepato',
28             'spiders',
29             'edema',
30             'stage')
31
32# 構(gòu)建表格
33tab <- CreateTableOne(
34  vars = myVars,
35  data = data,
36  factorVars = catVars,
37  strata = 'trt'
38)
39print(tab)

在這里的代碼中,由于我們輸入的數(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ù)
2nonnormal <- c('bili''chol''copper''alk.phos''trig')
3
4# 定義用Fisher exact test的數(shù)據(jù)
5exact <- c('status''stage')
6
7# re-define table one
8tab <- print(
9  tab,
10  showAllLevels = TRUE,
11  nonnormal = nonnormal,
12  exact = exact,
13  cramVars = catVars,
14  smd = TRUE
15)

最終生成的結(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平臺介紹

 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多