tableone包详解
实例解析
还是写一个例子帮助大家理解,用到的数据是R自带的pbc数据集。这个数据集是梅奥诊所收治的肝硬化病人的数据,共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。
这个数据集大概长这样:
R数据分析:tableone包的详细使用介绍
现在我想要看看整个数据集的描述性分析,那么我就可以:
CreateTableOne(data = pbc)
输出如下:
R数据分析:tableone包的详细使用介绍
看到没,所有的数值变量都给你以均值标准差的形式描述好了,因子变量频数百分比也描述好了,不用你再用什么SPSS一个一个来描述统计了。
等等,问题还是有滴,比如:
- 数据库中其实有很多变量应该是因子类型的,但是都给整成整数型了
- 连ID都给描述了,这玩意我不需要
我们来调整一下,比如我论文中只需要描述如下的变量:
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")
好了,规定好了以后我们重新进行描述:
tab2 <- CreateTableOne(vars = myVars, data = pbc, factorVars = catVars)
R数据分析:tableone包的详细使用介绍
看到没,此时所有我们规定的因子类型的变量都是用频数百分比进行表述的了。但是要注意的是,这个描述中所有的双水平因子都是只描述第二个水平,比如性别sex图中就只给出了女性f的水平,3水平及以上的因子所有水平都会描述。
当然啦,这个默认设定也是可以改的,比如我就是想要输出全水平,我就可以在打印的时候加上showAllLevels参数。
print(tab2, showAllLevels = TRUE, formatOptions = list(big.mark = ","))
R数据分析:tableone包的详细使用介绍
现在二水平因子的所有水平都在图中了。男女占比都有啦。
超级详细的描述
有可能你还想要看看每个你感兴趣的变量的分布什么的,缺失值什么的,tableone也可以做得到哦,直接给CreateTableOne对象进行summary,简单粗暴。
summary(tab2)
R数据分析:tableone包的详细使用介绍
R数据分析:tableone包的详细使用介绍
看看看,这个时候对于数值变量,缺失值数量,占比,均值标准差,四分位间距,偏度峰度全部给你;对于因子变量,缺失值数量,占比,水平数,频率和累计频率都在,要啥有啥。太好了。
分组描述加比较
tableone另外一个不可错过的功能就是分组描述并做统计检验,有可能你把你的研究对象分了两组,写文章的时候首先你要分组对比两组的基线资料撒,就用它啦,全部帮你搞定,包括所有基线资料的组间比较:
tab3 <- CreateTableOne(vars = myVars, strata = "trt" , data = pbc, factorVars = catVars)
print(tab3, formatOptions = list(big.mark = ","))
看输出:
R数据分析:tableone包的详细使用介绍
简直美滋滋。
描述数据的导出
其实你大可以直接在你的CONSOLE中进行结果的复制粘贴,但是我还要给你写写如何导出描述表格,还不快快关注我。
运行下面的代码后你就可以看到描述的结果全在你的工作目录中了。
tab3Mat <- print(tab3, quote = FALSE, noSpaces = TRUE, printToggle = FALSE)
write.csv(tab3Mat, file = "myTable.csv")
R数据分析:tableone包的详细使用介绍
看到没,你再稍微做一调整立马就可以往你的论文中放了。
相关文章
- 【技术种草】cdn+轻量服务器+hugo=让博客“云原生”一下
- CLB运维&运营最佳实践 ---访问日志大洞察
- vnc方式登陆服务器
- 轻松学排序算法:眼睛直观感受几种常用排序算法
- 十二个经典的大数据项目
- 为什么使用 CDN 内容分发网络?
- 大数据——大数据默认端口号列表
- Weld 1.1.5.Final,JSR-299 的框架
- JavaFX 2012:彻底开源
- 提升as3程序性能的十大要点
- 通过凸面几何学进行独立于边际的在线多类学习
- 利用行动影响的规律性和部分已知的模型进行离线强化学习
- ModelLight:基于模型的交通信号控制的元强化学习
- 浅谈Visual Source Safe项目分支
- 基于先验知识的递归卡尔曼滤波的代理人联合状态和输入估计
- 结合网络结构和非线性恢复来提高声誉评估的性能
- 最佳实践丨云开发CloudBase多环境管理实践
- TimeVAE:用于生成多变量时间序列的变异自动编码器
- 具有线性阈值激活的神经网络:结构和算法
- 内网渗透之横向移动 -- 从域外向域内进行密码喷洒攻击