tableone是幫助我們快速生成文章中table1表格的一個包,通常來說一篇SCI文章的第一個表都會給出樣本的基線情況。而tableone就是可以幫我們快速地匯總描述所有樣本的基線變量的一個包。
今天就給大家寫寫tableone,其實還有一個包叫做table1,功能差不多,以后給大家寫。
實例解析
還是寫一個例子幫助大家理解,用到的數(shù)據(jù)是R自帶的pbc數(shù)據(jù)集。這個數(shù)據(jù)集是梅奧診所收治的肝硬化病人的數(shù)據(jù),共424個。
This data is from the Mayo Clinic trial in primary biliary cirrhosis (PBC) of the liver conducted between 1974 and 1984. A total of 424 PBC patients, referred to Mayo Clinic during that ten-year interval, met eligibility criteria for the randomized placebo controlled trial of the drug D-penicillamine。
這個數(shù)據(jù)集大概長這樣:
現(xiàn)在我想要看看整個數(shù)據(jù)集的描述性分析,那么我就可以:
CreateTableOne(data = pbc)
輸出如下:
看到?jīng)],所有的數(shù)值變量都給你以均值標(biāo)準(zhǔn)差的形式描述好了,因子變量頻數(shù)百分比也描述好了,不用你再用什么SPSS一個一個來描述統(tǒng)計了。
等等,問題還是有滴,比如:
- 數(shù)據(jù)庫中其實有很多變量應(yīng)該是因子類型的,但是都給整成整數(shù)型了
- 連ID都給描述了,這玩意我不需要
我們來調(diào)整一下,比如我論文中只需要描述如下的變量:
myVars <- c("time", "status", "trt", "age", "sex", "ascites", "hepato",
"spiders", "edema", "bili", "chol", "albumin", "copper", "alk.phos",
"ast", "trig", "platelet", "protime", "stage")
并且,其中有些變量是因子類型:
catVars <- c("status", "trt", "ascites", "hepato",
"spiders", "edema", "stage")
好了,規(guī)定好了以后我們重新進行描述:
tab2 <- CreateTableOne(vars = myVars, data = pbc, factorVars = catVars)
看到?jīng)],此時所有我們規(guī)定的因子類型的變量都是用頻數(shù)百分比進行表述的了。但是要注意的是,這個描述中所有的雙水平因子都是只描述第二個水平,比如性別sex圖中就只給出了女性f的水平,3水平及以上的因子所有水平都會描述。
當(dāng)然啦,這個默認設(shè)定也是可以改的,比如我就是想要輸出全水平,我就可以在打印的時候加上showAllLevels參數(shù)。
print(tab2, showAllLevels = TRUE, formatOptions = list(big.mark = ","))
現(xiàn)在二水平因子的所有水平都在圖中了。男女占比都有啦。
超級詳細的描述
有可能你還想要看看每個你感興趣的變量的分布什么的,缺失值什么的,tableone也可以做得到哦,直接給CreateTableOne對象進行summary,簡單粗暴。
summary(tab2)
看看看,這個時候?qū)τ跀?shù)值變量,缺失值數(shù)量,占比,均值標(biāo)準(zhǔn)差,四分位間距,偏度峰度全部給你;對于因子變量,缺失值數(shù)量,占比,水平數(shù),頻率和累計頻率都在,要啥有啥。太好了。
分組描述加比較
tableone另外一個不可錯過的功能就是分組描述并做統(tǒng)計檢驗,有可能你把你的研究對象分了兩組,寫文章的時候首先你要分組對比兩組的基線資料撒,就用它啦,全部幫你搞定,包括所有基線資料的組間比較:
tab3 <- CreateTableOne(vars = myVars, strata = "trt" , data = pbc, factorVars = catVars)
print(tab3, formatOptions = list(big.mark = ","))
看輸出:
簡直美滋滋。
描述數(shù)據(jù)的導(dǎo)出
其實你大可以直接在你的CONSOLE中進行結(jié)果的復(fù)制粘貼,但是我還要給你寫寫如何導(dǎo)出描述表格,還不快快關(guān)注我。
運行下面的代碼后你就可以看到描述的結(jié)果全在你的工作目錄中了。
tab3Mat <- print(tab3, quote = FALSE, noSpaces = TRUE, printToggle = FALSE)
write.csv(tab3Mat, file = "myTable.csv")
看到?jīng)],你再稍微做一調(diào)整立馬就可以往你的論文中放了。
小結(jié)
今天給大家寫了tableone包的基本用法,感謝大家耐心看完,自己的文章都寫的很細,代碼都在原文中,希望大家都可以自己做一做,請關(guān)注后私信回復(fù)“數(shù)據(jù)鏈接”獲取所有數(shù)據(jù)和本人收集的學(xué)習(xí)資料。如果對您有用請先收藏,再點贊轉(zhuǎn)發(fā)。
也歡迎大家的意見和建議。
如果你是一個大學(xué)本科生或研究生,如果你正在因為你的統(tǒng)計作業(yè)、數(shù)據(jù)分析、論文、報告、考試等發(fā)愁,如果你在使用SPSS,R,Python,Mplus, Excel中遇到任何問題,都可以聯(lián)系我。因為我可以給您提供好的,詳細和耐心的數(shù)據(jù)分析服務(wù)。
如果你對Z檢驗,t檢驗,方差分析,多元方差分析,回歸,卡方檢驗,相關(guān),多水平模型,結(jié)構(gòu)方程模型,中介調(diào)節(jié),量表信效度等等統(tǒng)計技巧有任何問題,請私信我,獲取詳細和耐心的指導(dǎo)。
If you are a student and you are worried about you statistical #Assignments, #Data #Analysis, #Thesis, #reports, #composing, #Quizzes, Exams.. And if you are facing problem in #SPSS, #R-Programming, #Excel, Mplus, then contact me. Because I could provide you the best services for your Data Analysis.
Are you confused with statistical Techniques like z-test, t-test, ANOVA, MANOVA, Regression, Logistic Regression, Chi-Square, Correlation, Association, SEM, multilevel model, mediation and moderation etc. for your Data Analysis...??
Then Contact Me. I will solve your Problem...
加油吧,打工人!
猜你喜歡:
R數(shù)據(jù)分析:再寫stargazer包,如何輸出漂亮的表格
R數(shù)據(jù)分析:何為Tidy data,它又有什么好處
R數(shù)據(jù)分析:stargazer給你一個漂亮的可以直接發(fā)表的結(jié)果表格