Aba | 全自动biomarker分析神包!~(原作者用这个包发了三篇Nature啦~)

news2024/11/28 10:51:54

1写在前面

今天介绍一个Github上的神包吧, 主要是用于Biomarker的临床分析, 原作者用这个包已经发了3篇Nature了, 一起看看吧:👇

alt
alt
alt

在一些针对Biomarker的临床研究中, 我们常常需对Biomarker进行模型拟合, 预测效果评估等等.🥰
这个包可以完美解决这些问题, 并且直接输出发表级图表, 简单介绍一下用法给大家吧.🥳

2用到的包

rm(list = ls())
#devtools::install_github("ncullen93/abaR")
library(aba)
library(tidyverse)
library(ggsci)

3示例数据

dat <- adnimerge %>% 
dplyr::filter(VISCODE == 'bl')

DT::datatable(dat)
alt

4变量一览

看一下都有什么变量, 都是什么类型. 🤞

str(dat)
alt

5建立模型

5.1 原函数

大家可以通过这种方式来建立模型.

  aba_model(
data = NULL,
groups = NULL,
outcomes = NULL,
predictors = NULL,
covariates = NULL,
stats = NULL,
evals = NULL,
include_basic = TRUE
)

5.2 pipeline形式

这里也提供了pipeline的形式来编写代码, 个人也是更倾向于这种方式, 大家试一下吧. 😏

我们在这里设定两个结局指标: ConvertedToAlzheimersCSF_ABETA_STATUS_bl.🤒
两个预测指标, 即Biomarker, PLASMA_PTAU181_blPLASMA_NFL_bl. 🤫

模型为logistic regression. 📈

model <- aba_model() %>% 
set_data(dat) %>%
set_groups(DX_bl %in% c('MCI','AD')) %>%
set_outcomes(ConvertedToAlzheimers, CSF_ABETA_STATUS_bl) %>%
set_predictors(
PLASMA_PTAU181_bl,
PLASMA_NFL_bl,
c(PLASMA_PTAU181_bl, PLASMA_NFL_bl)
) %>%
set_covariates(AGE, GENDER, EDUCATION) %>%
set_stats(stat_glm(std.beta=T))

model
alt

Note! 这里我们注意下如何进行Biomarker联合应用, 可写为 c(PLASMA_PTAU181_bl, PLASMA_NFL_bl). 😘


5.3 拟合

model <- model %>% 
fit()
model
alt

5.4 模型数据

拟合完以后我们就获得了模型的结果, 大家可以大致看一下.🤓

model_summary <- model %>% 
summary()

model_summary
alt

6模型结果的可视化

这个包提供了很多可视化的参数, 可以直接将summary的结果传递给画图函数, 非常简单. 😘

6.1 coeffficients可视化

这里需要说明一下, 函数内自带的配色只有4种, 即jama, nature, lancet, none.
但是大家可以按照ggplot语法更改颜色.🤜

model_summary %>% 
aba_plot_coef(coord_flip=T,
palette = 'nature')
alt

6.2 AUC可视化

看看各个模型的AUC吧.😗

model_summary %>% 
aba_plot_metric(palette = 'nature')
alt

6.3 ROC可视化

model_summary %>% 
aba_plot_roc()
alt

6.4 Risk density plot

批量出图, 大家想看哪个predictorRisk density plot就提取哪个吧. 🤪

fig <- model %>%
aba_plot_risk_density()
fig
alt

随便提取一个看看吧~~~😉

fig$fig[1]
alt

7补充一下

这个包还有很多其他强大的功能, 大家可以去进一步地探索一下。😘

欢迎大家留言说一下其他强大的函数哦~


这里附上所有函数官方解释:👇

  • aba_adjust()

    Create an aba_adjust object.

  • aba_control()

    Create an aba control object.

  • aba_demographics()

    Create a demographics table from a fitted aba model.

  • aba_diagnosticpower()

    Caclulate diagnostic power based on a fitted aba model

  • aba_emmeans()

    Calculated estimated marginal means.

  • aba_evaluate()

    Evaluate a fitted aba model on new data

  • aba_fit()

    Fit an aba model.

  • aba_longpower()

    Run power analysis on a longitudinal-based aba model.

  • aba_model()

    Create an aba model.

  • aba_plot()

    Plot an aba object

  • aba_plot_coef()

    Plot coefficients of an aba model summary

  • aba_plot_metric()

    Plot metrics of an aba model summary

  • aba_plot_predictor_risk()

    Plot predictor values versus predicted risk from fitted aba model

  • aba_plot_risk_density()

    Plot risk density split by binary outcome class

  • aba_plot_roc()

    Plot ROC curves from an aba model

  • aba_predict()

    Get individual predictions from a fitted aba model

  • aba_read()

    Read an aba object from file

  • aba_robust()

    Evaluate the robustness of an aba model to systematic and random error.

  • aba_screen()

    Create an aba screen object.

  • aba_selection()

    Run model selection on an aba model.

  • aba_summary()

    Summarise a fitted aba model.

  • aba_write()

    Write an aba object to file.

  • adnimerge

    A sample of ADNI data in long format

  • all_combos()

    Create all possible combinations of a set of variables

  • all_levels()

    Create groups from all levels of one or more variables

  • as_reactable()

    Convert an aba summary to a interactive react table

  • as_reactable(*<abaSummary>*)

    Convert an aba summary to a interactive react table

  • as_table()

    Convert an aba summary to a nicely formatted table

  • as_table(*<abaSummary>*)

    Convert an aba summary to a nicely formatted table

  • eval_boot()

    Create a bootstrap evaluator

  • eval_cv()

    Create a cross validation evaluator

  • eval_standard()

    Create a standard evaluator

  • eval_traintest()

    Create a train-test evaluator

  • everyone()

    Use all data rows as a group in an aba model.

  • fit(*<abaModel>*)

    Fit an aba model.

  • predict(*<abaModel>*)

    Get individual predictions from a fitted aba model

  • set_covariates()

    Set the covariates of an aba model.

  • set_data()

    Set the data of an aba model

  • set_evals()

    Set the evals of an aba model

  • set_groups()

    Set the groups of an aba model.

  • set_outcomes()

    Set the outcomes of an aba model.

  • set_predictors()

    Set the predictors of an aba model.

  • set_stats()

    Set the stats of an aba model

  • stat_ancova()

    Create an ancova stat object.

  • stat_cox()

    Create a glm stat object.

  • stat_glm()

    Create a glm stat object.

  • stat_lm()

    Create an lm stat object.

  • stat_lme()

    Create an lme stat object.

  • stat_lmer()

    Create an lmer stat object.

  • stat_mmrm()

    Create an mmrm stat object.

  • stat_retest()

    Create a retest stat object.

  • stat_roc()

    Create a roc stat object.

  • theme_aba()

    Custom aba ggplot2 theme


果冻
最后祝大家早日不卷!~

点个在看吧各位~ ✐.ɴɪᴄᴇ ᴅᴀʏ 〰

📍 往期精彩

📍 🤩 ComplexHeatmap | 颜狗写的高颜值热图代码!
📍 🤥 ComplexHeatmap | 你的热图注释还挤在一起看不清吗!?
📍 🤨 Google | 谷歌翻译崩了我们怎么办!?(附完美解决方案)
📍 🤩 scRNA-seq | 吐血整理的单细胞入门教程
📍 🤣 NetworkD3 | 让我们一起画个动态的桑基图吧~
📍 🤩 RColorBrewer | 再多的配色也能轻松搞定!~
📍 🧐 rms | 批量完成你的线性回归
📍 🤩 CMplot | 完美复刻Nature上的曼哈顿图
📍 🤠 Network | 高颜值动态网络可视化工具
📍 🤗 boxjitter | 完美复刻Nature上的高颜值统计图
📍 🤫 linkET | 完美解决ggcor安装失败方案(附教程)
📍 ......

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/88267.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[附源码]Python计算机毕业设计SSM基于web的火车订票管理系统(程序+LW)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

Ansible概述及命令行模块

目录 一、Ansible概述 1 Ansible是什么 2 Ansible的四个组件&#xff1a; 3 Ansible的特性 二、Ansible 环境安装部署 三、ansible常用的命令行模块 1 command模块 2 shell模块 3 cron模块 4 user模块 5 group模块 6 copy模块 7 file模块 8 hostname模块 9 ping模块 10 …

Web端H5播放FLV、HLS、MP4 (二)

使用video.js播放HLS、FLV、MP4。 MP4、FLV、HLS、RTMP等协协和播放器之间的支持情况&#xff0c;参看这里。 一、主要JS插件&#xff1a; jquery(v3.6.0) video.js (v7.21.0&#xff0c;其它版本没试) https://cdn.bootcdn.net/ajax/libs/video.js/7.21.0/video.min.js f…

基于FPGA的RGB转HSV图像算法设计

一、什么是HSV色彩空间&#xff1f; RGB色彩空间是基于三基色而言&#xff0c;即红色、绿色、蓝色。而HSV色彩空间则是基于色调、饱和度和亮度而言的。 色调&#xff08;H&#xff09;是指光的颜色&#xff0c;例如&#xff0c;彩虹中的赤&#xff0c;橙&#xff0c;黄&#…

如何自学黑客?自学黑客技术需要学多久?

问题一&#xff1a;黑客如何学起&#xff1f; 答&#xff1a;必须从学习者的角度来看&#xff0c;如果你是一个已经学过编程&#xff0c;通晓几门语言的人那么这个答案就会和一个从没有接触过的计算机&#xff0c;甚至连什么叫高级语言还不知道的人有所区别的对待。 这就像是登…

LeetCode題目笔记——面试题 01.01. 判定字符是否唯一

文章目录题目描述题目难度——简单方法一&#xff1a;使用集合代码/Python方法二——用一个数组代码/Python方法三——位运算代码/Python总结题目描述 实现一个算法&#xff0c;确定一个字符串 s 的所有字符是否全都不同。 示例 1&#xff1a; 输入: s “leetcode” 输出: …

nvm 实战过程

文章目录前情提要应用场景实战解析最后前情提要 nvm是什么&#xff1a; nvm 全名 node.js version management&#xff0c;顾名思义是一个nodejs的版本管理工具。通过它可以安装和切换不同版本的nodejs。 应用场景 在我们前端工程师的日常工作中&#xff0c;不免要与不同基于n…

解决JavaWeb报错:此处不允许注解

目录 前言必读 一、遇到问题 二、解决办法 前言必读 读者手册&#xff08;必读&#xff09;_云边的快乐猫的博客-CSDN博客 一、遇到问题 1.在使用时候会发现报错为此处不允许使用注解&#xff0c;其实这是粗心和不熟练使用导致的 二、解决办法 2.把WebServlet("/ddd&…

【基于多尺度的融合:IVIF】

Infrared and visible image fusion via gradientlet filter &#xff08;基于梯度波滤波器的红外与可见光图像融合&#xff09; 本文从亮度和梯度分离的角度出发&#xff0c;提出了一种基于模糊梯度阈值函数和全局优化的图像滤波器梯度小波滤波器。它可以在保持图像的整体亮…

android aidl使用demo

android使用aidl原理 参考链接: https://www.twle.cn/l/yufei/android/android-basic-service-aidl.html 通过这部分代码, 加深对Android AIDL的理解 aidl server端 ILanguage.aidl 步骤: 在main目录下创建aidl文件夹, 并创建对应的包 com.example.aidl, 然后创建ILanguage.ai…

分享5款好用但一直不火的宝藏软件

很多软件用起来很好用&#xff0c;但是由于这样那样的原因&#xff0c;一直没什么知名度&#xff0c;但是不代表它们不好用&#xff0c;我的任务就是把这些宝藏分享给大家。 1.系统字体美化——MacType MacType是一款非常著名的系统字体美化软件&#xff0c;相比 GDI 更加容易…

【JVM故障问题排查心得】「内存诊断系列」Docker容器经常被kill掉,k8s中该节点的pod也被驱赶,怎么分析?

背景介绍 最近的docker容器经常被kill掉&#xff0c;k8s中该节点的pod也被驱赶。 我有一个在主机中运行的Docker容器&#xff08;也有在同一主机中运行的其他容器&#xff09;。该Docker容器中的应用程序将会计算数据和流式处理&#xff0c;这可能会消耗大量内存。 该容器会不…

操作系统之线程和进程

文章目录一. 什么是操作系统二. 进程和线程1. 进程2. 线程3. 进程的管理3.1 PBC中的一些属性3.2 并发和并行3.3 进程的调度3.4 内存管理3.5 进程间的通信3.6 并发编程4. 进程与线程的区别一. 什么是操作系统 操作系统本质上是一个软件, 发挥的是管理作用, 可以管理软件和硬件,…

《Python多人游戏项目实战》第二节 使用pickle模块序列化数据

目录 2.1 设置游戏窗口 2.2 实现人物移动的功能 2.3 编写服务端代码 2.4 完善客户端代码 2.5 完整代码下载地址 在本节&#xff0c;笔者会带大家开发一个联机版的人物移动程序&#xff0c;示例如下&#xff1a; 在上一节&#xff0c;客户端和服务端通信的JSON数据中包含玩…

CentOS7中安装字体库中文字体

若存在中文乱码的情况&#xff0c;这是因为操作系统中没有安装中文字体。 安装字体库 yum install fontconfig -y 安装更新字体命令 yum install mkfontscale -y添加中文字体 # 新建目录 mkdir /usr/share/fonts/chinese # 切换到中文字体目录下&#xff0c;上传windows里宋…

浅谈人工智能生成内容(AIGC)

兴趣了解 [OpenAI ]人工智能绘画产品 DALLE: 在计算机上输入一句话&#xff0c;DALLE 就能够理解这句话、然后自动生成一幅意思相应的图像&#xff0c;且该图像是全网首发、独一无二。[谷歌 ] 5400 亿参数大模型 PaLM: PaLM 的文本理解能力与逻辑推理能力大幅提升&#xff0c;…

[附源码]Nodejs计算机毕业设计基于web的校园闲置物品交易系统Express(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置&#xff1a; Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术&#xff1a; Express框架 Node.js Vue 等等组成&#xff0c;B/S模式 Vscode管理前后端分…

PyTorch中利用LSTMCell搭建多层LSTM实现时间序列预测

前言 前面已经写过不少时间序列预测的文章&#xff1a; 深入理解PyTorch中LSTM的输入和输出&#xff08;从input输入到Linear输出&#xff09;PyTorch搭建LSTM实现时间序列预测&#xff08;负荷预测&#xff09;PyTorch中利用LSTMCell搭建多层LSTM实现时间序列预测PyTorch搭建…

为什么AI距离智能越来越远?

2021年讨论了人机混合智能里的深度态势感知和人的算计与机器的计算如何结合的问题。之后有一位朋友问了我五个问题。第一&#xff0c;关于数学和逻辑的关系问题。这个问题是百年来数学的基础问题&#xff0c;迄今为止似乎没有定论。从实用主义角度说&#xff0c;“把数学等同于…

企业在项目中采用工时管理系统的好处

在如今疫情的影响下&#xff0c;不少企业面对经济形势愈发严峻的情况下&#xff0c;对项目员工工时的管理也是越来越注重。如何在确保企业正常运转的前提下提升企业发展空间&#xff0c;人员降低工作成本呢&#xff1f;根据目前研究表明&#xff0c;很多企业都选择使用项目工时…