Broom |tidy up a bit,模型,检验结果一键输出!
时间:2022-07-22
本文章向大家介绍Broom |tidy up a bit,模型,检验结果一键输出!,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
使用lm/glm/t.test/chisq.test等模型或者检验完成分析后,结果怎么提?
复制粘贴还是broom一键生成?
载入数据,R包
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
broom-R包
#载入R包
library(broom)
??broom #查看broom包用法
broom主要提供如下三种结果整理函数
-
tidy
: 返回模型的统计结果的数据框; -
augment
: 返回模型参数并增加预测和残差等模型结果; -
glance
: 返回模型的一行重要结果,包含R^2、矫正后的R^2,以及剩余标准误差。
回归模型
线性回归
#构建简单线性回归模型
lmfit <- lm(mpg ~ wt, mtcars)
summary(lmfit)
summary(lmfit)$coef
结果如上,只需要将上面的P值,R squared,Adjusted R squared等关心的模型结果,用时间和耐心“精确”的复制粘贴出来就可以了!
嫌麻烦的小伙伴可以用broom试一下,其实只一行就行。
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)同样适用,可自行尝试。
生存分析
生信分析常用的生存分析,结果是否可以提取呢?
答案是可以的,参数上稍微有点区别。
生存分析示例
#library("survminer") #载入R包
library("survival") #载入R包
fit_cox <- coxph(Surv(time, status)~sex, data=lung)
summary(fit_cox)
基础方法提取
#通过函数来提取关键结果
coef(summary(fit_cox))
#提取HR和95%置信区间
exp(coef(fit_cox))
#提取HR的95%置信区间
exp(confint(fit_cox))
broom函数提取
#生存分析,提取的是exp(coef)相关信息,exponentiate = TRUE
tidy(fit_cox,exponentiate = TRUE)
假设检验
除模型结果外,broom还可以用于 t.test
, cor.test
和wilcox.test
检验的结果提取。
T检验
tt <- t.test(wt ~ am, mtcars)
tidy(tt)
返回统计值,P值,置信区间,检验方法等信息;
wilcox.test
wt <- wilcox.test(wt ~ am, mtcars)
tidy(wt)
注:上述返回值只有一行,与 glance
函数返回相同的结果,自行尝试。
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
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- AWS lambda and dynamodb with Java
- 用设计模式搞定女朋友,吃什么火锅,设计模式不香吗
- LAMP架构应用实战—Apache服务基于IP的虚拟主机配置
- MySQL集群搭建—GTID方式
- MySQL主从复制集群搭建
- LAMP架构应用实战—Apache服务基于端口虚拟主机配置
- MySQL主从复制架构介绍
- MySQL行锁、表锁、间隙锁,你都了解吗
- LAMP架构应用实战—Apache服务mod_expires模块介绍
- SQL语句资源消耗分析-show profiles
- 如何找到垃圾SQL语句,你知道这个方式吗?
- 最全MySQL性能优化—索引篇
- LAMP架构应用实战——MySQL服务
- 程序员兼职十大网站
- Python基础1