本文首发于“生信补给站”公众号,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: 返回模型的一行重要结果,包含R2、矫正后的R2,以及剩余标准误差。

二 回归模型

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.testwilcox.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

◆ ◆ ◆ ◆ ◆

R|批量循环处理同一格式文件-csv,txt,excel

R In Action |基本数据管理

数据分析|R-缺失值处理

数据分析|R-异常值处理

数据分析|R-描述性统计

数据处理|数据查重怎么办?去重,就这么办!

小数据| 描述性统计(Python/R 实现)

数据挖掘|R-相关性分析及检验

数据处理 | R-tidyr包

数据处理|R-dplyr

R|apply,tapply

数据处理|数据框重铸

R|ML_code-入门(1)

R|ML_code-线性回归(2)

R|机器学习入门-多元线性回归(3)

【觉得不错,右下角点个“在看”,期待您的转发,谢谢!】

本文首发于“生信补给站”公众号,https://mp.weixin.qq.com/s/TqFk66F2gUu_k8WEjKbLtA更多关于R语言,ggplot2绘图,生信分析的内容,敬请关注小号。lm/glm/t.test/chisq.test等模型结果,怎么提?复制粘贴还是broom?一 载入数据及R包1.1 mtcars数据集#载入内置数据集mtcarshead(mtcars)...
作者:禅与计算机程序设计艺术 随着科技的发展,计算机技术已经越来越擅长处理海量的数据。数据采集、存储、计算和分析等都已经成为现代生活中的常态。 而机器学习、深度学习、强化学习等算法的应用也带动了数据分析和可视化领域的发展。由于这些模型在解决实际问题时需要大量的数据输入,因此如何对模型的结果进行有效地呈现以及交流才是人们关注的焦点。
数据框是仅次于向量的最重要的数据对象类型,是R语言中最常处理的数据结构。由于数据有多种数据类型,所以无法将此数据集放入一个矩阵。在这种情况下,数据框是最佳选择 可以将不同的数据类型组合在一起的数据结构 每一列存储数据的类型必须相同 每列的行数(长度)必须相同 创建数据框 数据框是仅次于向量的最重要的数据对象类型 在实际操作中,通常会用数据框的一列代表某一变量属性的所有取值,用一行代表某一...
作为 tidyverse 数据操作的核心包 dplyr 在 2020-05-29 迎来了大版本的更新,从此进入 1.0.0 时代。既然是大版本的更新,当然有一些重磅的新功能推出,我也在第一时间做了体验,现在分享给大家。建议更新方式:remove.packages("dplyr") install.packages("dplyr")顺便说一句,R 4.0 我还没更新,同样是大版本更新,怕有些包用不了...
1.random_distortionpro(bability, grid_height, grid_width, magnitude) 最终选择参数为 p.random_distortion(probability=0.8, grid_height=3, grid_width=3, magnitude=6) probability表示生成一批数据施加操作的概率,magnitude和grid_width,grid_height越大,扭曲程度越大 p.random_
做数据增强有很多工具,常用的是使用keras内置的ImageDataGenerator生成器生成图片,但是这个工具只能对一张图进行随机变化,而image和mask是一一对应的,二者必须同时进行同种变化.下面隆重介绍一个强大的数据增强工具augmentor 它的使用方法十分简单安装Augm
数据扩充(data augmentation),又名 数据增强 / 数据增广。 在深度学习中,当数据量不大时可能会导致过拟合,使得训练误差很小,但测试误差却特别大。怎么办呢,你又没钱买数据?显然最好的办法(之一,其他方法请参看“当数据量不够大的时候”)就是自己“造”数据——人工增加训练集的大小,也就是Data Augmentation Transformation。 不同的任务背景下,通常我们可以...
解读data_augment.py文件def augment(img_data, config, augment=True): assert 'filepath' in img_data assert 'bboxes' in img_data assert 'width' in img_data assert 'height' in img_data    augment是一个函数,该函数...
文章目录载入包建模broom:整洁模型数据purrr包向量化函数broom包结合 broomtidyverse系列包之一,可以帮助人们获得干净整洁的模型数据结果,有效改善了R语言建模的用户体验 library(tidyverse) #broom包需要另行载入 library(broom) #使用mtcars数据集 fit <- lm(mpg~disp,data = mtcars) Call: lm(formula = mpg ~ disp, data = mtcars
您可以使用R中的"broom"包中的"tidy"函数将"summary"输出统计量转换为数据框,并使用R中的"knitr"包中的"kable"函数将数据框转换为漂亮的表格。下面是一个简单示例代码: ```{r} # 导入所需包 library(broom) library(knitr) # 使用mtcars数据集进行示例 # 对"mpg"变量进行summary summary(mtcars$mpg) # 将summary转换为数据框 mpg_summary <- tidy(summary(mtcars$mpg)) # 输出表格 kable(mpg_summary) 输出的表格如下所示: | variable | value | |:---------|--------:| | Min. | 10.40 | | 1st Qu. | 15.43 | | Median | 19.20 | | Mean | 20.09 | | 3rd Qu. | 22.80 | | Max. | 33.90 |