当前位置: 首页 > news >正文

R语言生存分析算法的简单组合

library(survival)
library(randomForestSRC)# 生成模拟数据
set.seed(123)
n <- 200
time <- rexp(n, rate = 0.1)
status <- rbinom(n, size = 1, prob = 0.7)
var1 <- rnorm(n)
var2 <- rnorm(n)
var3 <- rnorm(n)
data1 <- data.frame(time = time, status = status, var1 = var1, var2 = var2, var3 = var3)# 定义模型列表
models <- list(cox = function(data) {fit <- survival::coxph(Surv(time,status) ~ .,data=data)sum<-summary(fit)[["coefficients"]][,5] canshu<-names(sum)result<-list(fit=fit,canshu=canshu)return(result)},rsf=function(data){fit<-rfsrc(Surv(time,status) ~ .,data=data1)canshu<-var.select(object=fit,method="md",conservative="low")$md.obj$topvars.1seresult<-list(fit=fit,canshu=canshu)return(result)}
)# 列举所有模型组合(考虑顺序)
model<-c("cox","rsf")
all_combinations <- list()
library(gtools)
for (n in 1:length(model)) {permutations <- permutations(2,n,v=model)mat_list <- apply(permutations, 1, function(row) paste(row, collapse = ","))mat_vector_list <- lapply(mat_list, function(str) unlist(strsplit(str, ",")))all_combinations <- c(all_combinations, mat_vector_list)
}
model_combinations<-all_combinations# 循环遍历不同模型组合
selected_vars_final <- list()
for (i in 1:length(model_combinations)) {comb <- model_combinations[[i]]selected_vars <- NULL# 循环遍历每个模型类型data1<-lungfor (model_name in comb) {i=1if (grep(model_name,comb)==1) {# 根据前一步的选择变量建立模型并筛选变量result <- models[[model_name]](data1)cat("第一步:",model_name,"---",result$canshu,"\n")} else {vc=paste("c(", paste(sprintf('"%s"', selected_vars), collapse = ","), ")", sep = "")cat("纳入第二步的因素:",model_name,"---",vc,"\n")selected_data <-  data.frame(data1[,eval(parse(text = vc))],data1[,c("time","status")])result <- models[[model_name]](selected_data)}# 更新选定变量selected_vars <- result$canshu}selected_vars_final[[paste(comb, collapse = "_")]] <- selected_vars
}print(selected_vars_final)

 

相关文章:

R语言生存分析算法的简单组合

library(survival) library(randomForestSRC)# 生成模拟数据 set.seed(123) n <- 200 time <- rexp(n, rate 0.1) status <- rbinom(n, size 1, prob 0.7) var1 <- rnorm(n) var2 <- rnorm(n) var3 <- rnorm(n) data1 <- data.frame(time time, statu…...

Qt应用开发(基础篇)——滚屏区域基类 QAbstractScrollArea

一、前言 QAbstractScrollArea滚屏区域抽象类继承于QFrame&#xff0c;QFrame继承于QWidget&#xff0c;是QListview(列表浏览器)、QTableview(表格浏览器)、QTextEdit(文本编辑器)、QTextBrowser(文本浏览器)等所有需要滚屏区域部件的抽象基类。 框架类QFrame介绍 QAbstractSc…...

HTTPS安全通信

HTTPS,TLS/SSL Hyper Text Transfer Protocol over Secure Socket Layer,安全的超文本传输协议,网景公式设计了SSL(Secure Sockets Layer)协议用于对Http协议传输的数据进行加密,保证会话过程中的安全性。 使用TCP端口默认为443 TLS:(Transport Layer Security,传输层…...

C语言暑假刷题冲刺篇——day1

目录 一、选择题 二、编程题 &#x1f388;个人主页&#xff1a;库库的里昂 &#x1f390;CSDN新晋作者 &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏✨收录专栏&#xff1a;C语言每日一练 ✨其他专栏&#xff1a;代码小游戏C语言初阶&#x1f91d;希望作者的文章能对你…...

trollcave靶场

配置 第一步&#xff1a;启动靶机时按下 shift 键&#xff0c; 进入以下界面 第二步&#xff1a;选择第二个选项&#xff0c;然后按下 e 键&#xff0c;进入编辑界面 将这里的ro修改为rw single init/bin/bash&#xff0c;然后按ctrlx&#xff0c;进入一个相当于控制台的界面…...

反馈式编译

一、 反馈式编译 简介 PGO&#xff0c;即Profile-Guided Optimizations&#xff0c;反馈式优化。PGO是编译器的又一优化技术&#xff0c;PGO与其它的一些优化技术/选项有一个明显的区别是&#xff1a;PGO优化是分三步完成的&#xff0c;是一个动态的优化过程。 反馈优化过…...

sql-libs靶场-----0x00、环境准备

文章目录 一、PhPstudy下载、安装二、Sqli-libs下载、搭建三、启用Sqli-libs phpstudy地址&#xff1a;https://www.xp.cn/ sqli-libs地址&#xff1a;https://github.com/Audi-1/sqli-labs 一、PhPstudy下载、安装 1、下载–解压–安装&#xff0c;安装完成如下图 2、更换php…...

一百四十九、Kettle——Linux上安装的kettle8.2创建共享资源库时遇到的问题(持续更新中)

一、目的 在kettle8.2在Linux上安装好可以启动界面、并且可以连接MySQL、Hive、ClickHouse等数据库后开始创建共享资源库&#xff0c;但是遇到了一些问题 二、Linux系统以及kettle版本 &#xff08;一&#xff09;Linux&#xff1a;CentOS 7 英文的图形化界面模式 &#…...

Mysql 建索引规范

索引规范 今天在建线上表的时候&#xff0c;做了一个varchar的索引&#xff0c;运维说varchar的索引会占用很大的内存。 于是 上网搜了一下建索引规范 一、建表规约 【强制】&#xff08;1&#xff09; 存储引擎必须使用InnoDB 解读&#xff1a;InnoDB支持事物、行级锁、并发…...

新基建助推数字经济,CosmosAI率先布局AI超算租赁新纪元

伦敦, 8月14日 - 在英国伦敦隆重的Raffles OWO举办的欧盟数字超算新时代战略合作签约仪式&#xff0c;CosmosAI、Infinite Money Fund与Internet Research Lab三方强强联手&#xff0c;达成了历史性的合作协议&#xff0c;共同迈向超算租赁新纪元。 ​ 这次跨界的合作昭示了全球…...

微服务06-分布式事务解决方案Seata

1、Seata 概述 Seata事务管理中有三个重要的角色: TC (Transaction Coordinator) - **事务协调者:**维护全局和分支事务的状态,协调全局事务提交或回滚。 TM (Transaction Manager) - **事务管理器:**定义全局事务的范围、开始全局事务、提交或回滚全局事务。 RM (Resourc…...

Wireshark有线网卡抓包报错The capture session could not be initiated on capture device

最近在使用Wireshark进行抓包排错时&#xff0c;选择网卡后提示报错&#xff0c;在此之前从未出现过&#xff0c;报错内容如下&#xff1a; 提示内容是The capture session could not be initiated on capture device&#xff0c;无法在捕获设备上启动捕获会话要求操作是Please…...

FreeSWITCH执行bridge时如何“制造“ringback

dialplan如果这样写&#xff1a; <action application"record_session" data"$${recordings_dir}/${caller_id_number}.${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/> <action application"bridge" data"user/1001"/> 或者这样…...

Java # 类加载子系统

一、概述 1、 类加载器子系统负责从文件系统或者网络中加载.Class文件 2、classloader只负责类的加载&#xff0c;至于他是否能够运行由执行引擎来决定 3、加载的类的信息会存放在方法区&#xff08;元空间&#xff09;中 二、加载过程 ​​​​​​​ 1、加载阶段 1、通…...

YOLOv5改进系列(21)——替换主干网络之RepViT(清华 ICCV 2023|最新开源移动端ViT)

【YOLOv5改进系列】前期回顾: YOLOv5改进系列(0)——重要性能指标与训练结果评价及分析 YOLOv5改进系列(1)——添加SE注意力机制 YOLOv5改进系列(2...

安卓中常见的字节码指令介绍

问题背景 安卓开发过程中&#xff0c;经常要通过看一些java代码对应的字节码&#xff0c;来了解java代码编译后的运行机制&#xff0c;本文将通过一个简单的demo介绍一些基本的字节码指令。 问题分析 比如以下代码&#xff1a; public class test {public static void main…...

TCP的三次握手和四次挥手

文章目录 三次握手四次挥手TIME_WAITCLOSE_WAIT 使用wireshark观察 三次握手 握手的最终目的是主机之间建立连接 首先要有两个预备知识点 三次握手建立连接不一定会成功&#xff0c;其中最担心的就是最后一次握手失败&#xff0c;不过会有配套的解决方案建立好连接后是需要被…...

前后端分离------后端创建笔记(08)表单提交

本文章转载于【SpringBootVue】全网最简单但实用的前后端分离项目实战笔记 - 前端_大菜007的博客-CSDN博客 仅用于学习和讨论&#xff0c;如有侵权请联系 源码&#xff1a;https://gitee.com/green_vegetables/x-admin-project.git 素材&#xff1a;https://pan.baidu.com/s/…...

途乐证券-KDJ分别代表什么?

KDJ是一种技能剖析东西&#xff0c;常见于股票、期货等商场中&#xff0c;它的全称是随机目标&#xff08;KDJ&#xff09;。KDJ目标包括三条线&#xff0c;分别为K线、D线和J线。那么&#xff0c;KDJ分别代表什么呢&#xff1f;本文将从多个视点进行剖析。 1. KDJ的简单介绍 …...

用C语言重写的原始Matlab OpenShoe算法:深入理解和实现步态分析的关键技术

一、引言 在许多领域&#xff0c;如医疗健康、体育科学、虚拟现实和机器人技术中&#xff0c;步态分析都是一个重要的研究领域。步态分析可以帮助我们理解人体运动的机制&#xff0c;评估疾病的影响&#xff0c;优化运动员的表现&#xff0c;甚至设计更自然的机器人运动。Open…...

新手福音,用快马平台可视化学习apifox接口调用与测试

作为一个刚接触API开发的新手&#xff0c;第一次看到各种接口文档时完全摸不着头脑。直到发现了Apifox这个工具&#xff0c;配合InsCode(快马)平台的智能生成功能&#xff0c;终于找到了最适合新手的可视化学习路径。下面分享我的学习心得&#xff1a; 为什么选择Apifox作为入门…...

牧苏苏传.辣个男人 4/3

今天复习了求组合&#xff0c;这个题的特点是可以多次选择&#xff0c;这里是用到了回溯&#xff0c;然后使用的是回溯的选还是不选的模型&#xff0c;让然后我用了startindex记录位置&#xff0c;让不选了之后可以不再出现&#xff0c;这重要吗&#xff1f;如果是用for一直选&…...

从序列到结构:ESM蛋白质语言模型核心原理与实践解析

1. 蛋白质语言模型为何成为研究热点 最近几年&#xff0c;蛋白质语言模型突然在生物信息学领域火了起来。作为一个长期关注AI在生命科学领域应用的开发者&#xff0c;我发现这背后有两个关键驱动力&#xff1a;一是蛋白质结构预测的世纪难题有了新解法&#xff0c;二是Transfor…...

教育资源数字化转型:tchMaterial-parser电子课本获取工具深度解析

教育资源数字化转型&#xff1a;tchMaterial-parser电子课本获取工具深度解析 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具&#xff0c;帮助您从智慧教育平台中获取电子课本的 PDF 文件网址并进行下载&#xff0c;让您更方便地获取课本内容。…...

3分钟快速上手:使用image2cpp免费在线工具将图像转换为Arduino字节数组

3分钟快速上手&#xff1a;使用image2cpp免费在线工具将图像转换为Arduino字节数组 【免费下载链接】image2cpp 项目地址: https://gitcode.com/gh_mirrors/im/image2cpp image2cpp图像转换工具是嵌入式开发者的得力助手&#xff0c;这个强大的免费在线工具能够将普通图…...

网盘直链下载助手:一键获取八大网盘真实下载地址的终极方案

网盘直链下载助手&#xff1a;一键获取八大网盘真实下载地址的终极方案 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘 /…...

实测霜儿-汉服-造相Z-Turbo:8秒生成高清汉服写真,新手也能轻松出图

实测霜儿-汉服-造相Z-Turbo&#xff1a;8秒生成高清汉服写真&#xff0c;新手也能轻松出图 1. 为什么选择这个汉服写真生成工具 在尝试过多个AI绘画工具后&#xff0c;我发现大多数模型在生成汉服人像时都存在几个共同问题&#xff1a;服饰细节模糊、人物比例失调、背景与主体…...

打卡信奥刷题(3057)用C++实现信奥题 P6786 「SWTR-6」GCD LCM

P6786 「SWTR-6」GCD & LCM 题目描述 小 A 有一个长度为 nnn 的序列 a1,a2,⋯,ana_1,a_2,\cdots,a_na1​,a2​,⋯,an​。 他想从这些数中选出一些数 b1,b2,⋯,bkb_1,b_2,\cdots,b_kb1​,b2​,⋯,bk​ 满足&#xff1a;对于所有 i(1≤i≤k)i\ (1\leq i\leq k)i (1≤i≤k)…...

程序实现仪器故障时,自动保存当前数据,方便维修时分析故障原因。

一、实际应用场景描述在某高校《智能仪器》实验中&#xff0c;使用一台高精度温度采集仪&#xff1a;- 仪器长期运行&#xff08;24h 连续采样&#xff09;- 偶发异常&#xff1a;- 传感器断线- ADC 超限- 通信超时- 一旦故障&#xff1a;- 当前采样数据丢失- 维修人员只能“凭…...

Qwen3.5-4B-Claude-Opus实战案例:Top-P=0.9时逻辑结论一致性测试

Qwen3.5-4B-Claude-Opus实战案例&#xff1a;Top-P0.9时逻辑结论一致性测试 1. 模型介绍 Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF是一个基于Qwen3.5-4B的推理蒸馏模型&#xff0c;特别强化了结构化分析、分步骤回答以及代码与逻辑类问题的处理能力。该模型以GG…...