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 如今在银行.消费金融公司等各种贷款业务机构,普遍使用信用评分,对客户实行打分制,以期对客户 ...
随机推荐
- 静态导入(static import)
1.传统静态方法的调用方式 定义一个Common类,里面有静态方法和静态常量 package com.example.common; public class Common { public stat ...
- 在使用PhpSpreadsheet出现空行导入的问题
在使用PhpSpreadsheet出现空行导入的问题,项目一直报错,原来是读取excel后会多读取几行,或者说读取的行数有错误.因此必须加一个,去除空行.暂时没有研究源码可能源码里面有这样的功能. ...
- zabbix ALL = NOPASSWD: ALL
- ADT中创建Android的Activity
去创建Activity New->Other->Android->Android Activity->BlankActivity: 输入对应的信息: 创建完毕后,可以看到新建了 ...
- Docs-.NET-C#-指南-语言参考-预处理器指令:#endregion(C# 参考)
ylbtech-Docs-.NET-C#-指南-语言参考-预处理器指令:#endregion(C# 参考) 1.返回顶部 1. #endregion(C# 参考) 2015/07/20 #endreg ...
- OHEM(online hard example mining)
最早由RGB在论文<Training Region-based Object Detectors with Online Hard Example Mining>中提出,用于fast-rc ...
- 【grpc proto】python使用proto文件生成简易的服务端和客户端
1.安装python-grpc(注意,是grpcio包,不是grpc包!) pip install grpcio 2.编写.proto文件 grpc教程:http://doc.oschina.net/ ...
- 【Leetcode_easy】840. Magic Squares In Grid
problem 840. Magic Squares In Grid solution: class Solution { public: int numMagicSquaresInside(vect ...
- node.js http-server 搭建本地服务器
使用vue-cli创建的项目,能够实现浏览器中自动刷新,实时查看项目效果,其中的原理在于,webpack在本地启动了一个本地服务器,将本机当作一台服务器: 打包后的文件是一个html静态页面,在本地文 ...
- vue项目开发优化
1 按需引入ui组件 比如elementUI,不要直接在main.js中全局引入所有的组件,可以根据elementui的说明文件,按需引入 项目中的组件 2 异步引入路由组件 使用 { path:'/ ...