Broom |tidy up a bit,模型,检验结果一键输出!
本文首发于“生信补给站”公众号,https://mp.weixin.qq.com/s/TqFk66F2gUu_k8WEjKbLtA
更多关于R语言,ggplot2绘图,生信分析的内容,敬请关注小号。
lm/glm/t.test/chisq.test等模型结果,怎么提?复制粘贴还是broom?
一 载入数据及R包
1.1 mtcars数据集
#载入内置数据集mtcars
head(mtcars)
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
1.2 broom-R包
#载入R包
library(broom)
??broom #查看broom包用法
broom主要提供如下三种结果整理函数
tidy
: 返回模型的统计结果的数据框;augment
: 返回模型参数并增加预测和残差等模型结果;glance
: 返回模型的一行重要结果,包含R^2、矫正后的R^2,以及剩余标准误差。
二 回归模型
2.1 线性回归
#构建简单线性回归模型
lmfit <- lm(mpg ~ wt, mtcars)
summary(lmfit)
summary(lmfit)$coef
结果如上,只需要将上面的P值,R squared,Adjusted R squared等关心的模型结果,用时间和耐心“精确”的复制粘贴出来就可以了!
嫌麻烦的小伙伴可以用broom试一下,其实只一行就行。
2.2 R-broom提取结果
1)tidy函数
library(broom)
#返回模型的统计结果的数据框
tidy(lmfit)
看起来和summary(lmfit)$coef差不多,但还是有区别的:
coef(summary(lmfit)) 中,terms保存在rawname中;
列名为Pr(>|t|)而不是p.value;
2)augment()函数
#提取回归中每个原始点的拟合值和残差等信息
augment(lmfit)
返回每个原始点的参数值以及模型的拟合值,残差等结果,同时为避免列名重复,模型结果的列名以.开始。
3) glance()函数
#提取R squared,Adjusted R squared等
glance(lmfit)
对于广义线性模型(glm) 和非线性模型(nls)同样适用,可自行尝试。
三 生存分析
生信分析常用的生存分析,结果是否可以提取呢?
答案是可以的,稍微有点区别。
3.1 生存分析示例
#library("survminer") #载入R包
library("survival") #载入R包
fit_cox <- coxph(Surv(time, status)~sex, data=lung)
summary(fit_cox)
3.2 基础方法提取
#通过函数来提取关键结果
coef(summary(fit_cox))
#提取HR和95%置信区间
exp(coef(fit_cox))
#提取HR的95%置信区间
exp(confint(fit_cox))
3.3 broom函数提取
#生存分析,提取的是exp(coef)相关信息,exponentiate = TRUE
tidy(fit_cox,exponentiate = TRUE)
四 假设检验
除模型结果外,broom还可以用于 t.test
, cor.test
和wilcox.test
检验的结果提取。
4.1 T检验
tt <- t.test(wt ~ am, mtcars)
tidy(tt)
返回统计值,P值,置信区间,检验方法等信息;
4.2 wilcox.test
wt <- wilcox.test(wt ~ am, mtcars)
tidy(wt)
可见上述返回值只有一行,因此 glance
函数返回相同的结果。
4.3 chisq.test
chit <- chisq.test(xtabs(Freq ~ Sex + Class, data = as.data.frame(Titanic)))
tidy(chit)
#只有chisq.test检验可以使用augment函数
augment(chit)
参考资料:
http://127.0.0.1:18603/library/broom/doc/broom.html
◆ ◆ ◆ ◆ ◆
【觉得不错,右下角点个“在看”,期待您的转发,谢谢!】
Broom |tidy up a bit,模型,检验结果一键输出!的更多相关文章
- caffe---测试模型分类结果并输出(python )
当训练好一个model之后,我们通常会根据这个model最终的loss和在验证集上的accuracy来判断它的好坏.但是,对于分类问题,我们如果只是知道整体的分类正确率 显然还不够,所以只有知道模型对 ...
- SAS 评分卡开发模型变量统计及输出
以下代码实现功能: 1.获取10个模型分别使用哪些变量 2.变量所模型使用的次数 3.把上表格输出到EXCEL中 %INCLUDE '00@HEADER.SAS'; %let dir=..\04@Mo ...
- 机器学习入门-文本特征-使用LDA主题模型构造标签 1.LatentDirichletAllocation(LDA用于构建主题模型) 2.LDA.components(输出各个词向量的权重值)
函数说明 1.LDA(n_topics, max_iters, random_state) 用于构建LDA主题模型,将文本分成不同的主题 参数说明:n_topics 表示分为多少个主题, max_i ...
- 图示详解BERT模型的输入与输出
一.BERT整体结构 BERT主要用了Transformer的Encoder,而没有用其Decoder,我想是因为BERT是一个预训练模型,只要学到其中语义关系即可,不需要去解码完成具体的任务.整体架 ...
- 利用keras进行手写数字识别模型训练,并输出训练准确度
from keras.datasets import mnist (train_images, train_labels), (test_images, test_labels) = mnist.lo ...
- 多元线性回归 ——模型、估计、检验与预测
一.模型假设 传统多元线性回归模型 最重要的假设的原理为: 1. 自变量和因变量之间存在多元线性关系,因变量y能够被x1,x2-.x{k}完全地线性解释:2.不能被解释的部分则为纯粹的无法观测到的误差 ...
- 时间序列预测之--ARIMA模型
什么是 ARIMA模型 ARIMA模型的全称叫做自回归移动平均模型,全称是(ARIMA, Autoregressive Integrated Moving Average Model).也记作ARIM ...
- 【数学建模】day14-建立GM(1,1)预测评估模型应用
学习建立GM(1,1)灰色预测评估模型,解决实际问题: SARS疫情对某些经济指标的影响问题 一.问题的提出 2003 年的 SARS 疫情对中国部分行业的经济发展产生了一定影响,特别是对部分 疫情较 ...
- 信用评分卡(A卡/B卡/C卡)的模型简介及开发流程|干货
https://blog.csdn.net/varyall/article/details/81173326 如今在银行.消费金融公司等各种贷款业务机构,普遍使用信用评分,对客户实行打分制,以期对客户 ...
随机推荐
- flink 读JDQ和写JDQ的流程
ReadFromJDQ3 1)消费JDQ的必要信息,通过参数传入,有6个参数 2)获取flink JDQ3的鉴权客户端 3)根据鉴权客户端获取消费属性的配置 4)构建应用环境ENV和checkpoin ...
- MQTT(一)C#使用 MQTTnet 快速实现 MQTT 通信(文末有完整Demo下载)
https://blog.csdn.net/panwen1111/article/details/79245161 目录MQTT(一)C#使用 MQTTnet 快速实现 MQTT 通信(文末有完整De ...
- 小D课堂 - 零基础入门SpringBoot2.X到实战_第2节 SpringBoot接口Http协议开发实战_6、SpringBoot2.xHTTP请求配置讲解
1.SpringBoot2.xHTTP请求配置讲解 简介:SpringBoot2.xHTTP请求注解讲解和简化注解配置技巧 1.@RestController and @RequestMapping是 ...
- FrameLayout--霓虹灯
主函数里面,新建一个线程,控制改变背景色 package com.example.framelayout import android.support.v7.app.AppCompatActivity ...
- 008-MySQL报错-Access denied for user 'root'@'localhost' (using password: NO)
1.新安装的mysql报错 MySQL报错-Access denied for user 'root'@'localhost' (using password: NO) 解决方案 1.先停掉原来的服务 ...
- 品优购商城项目(二)AngularJS、自动代码生成器、select2下拉多选框
品优购商城想项目第二阶段 AngularJS.自动代码生成器.select2下拉多选框 完成了课程第三天.第四天的的任务. 1.学习了AngularJs前端的mvc分层思想,js部分分成control ...
- 解决no module named setuptools
To install setuptools on Debian: sudo apt-get install python-setuptools For Python 3.x: sudo apt-get ...
- 迅速生成项目-react-nextjs
推荐指数:
- consul分布式集群搭建&简单功能测试&故障恢复【h】
环境准备五台机器: 操作系统 IP Ubuntu 16.04.3 LTS x86_64 192.168.1.185 Ubuntu 16.10 x86_64 192.168.3.152 Ubuntu 1 ...
- IDEA 创建JAVA Maven Web 工程
转载自https://www.cnblogs.com/1314wamm/p/7475771.html 步骤一:首先先创建一个project,上次我说过了创建一个project就是一个工作空间,在这里就 ...