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,QFrame继承于QWidget,是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
目录 一、选择题 二、编程题 🎈个人主页:库库的里昂 🎐CSDN新晋作者 🎉欢迎 👍点赞✍评论⭐收藏✨收录专栏:C语言每日一练 ✨其他专栏:代码小游戏C语言初阶🤝希望作者的文章能对你…...
trollcave靶场
配置 第一步:启动靶机时按下 shift 键, 进入以下界面 第二步:选择第二个选项,然后按下 e 键,进入编辑界面 将这里的ro修改为rw single init/bin/bash,然后按ctrlx,进入一个相当于控制台的界面…...
反馈式编译
一、 反馈式编译 简介 PGO,即Profile-Guided Optimizations,反馈式优化。PGO是编译器的又一优化技术,PGO与其它的一些优化技术/选项有一个明显的区别是:PGO优化是分三步完成的,是一个动态的优化过程。 反馈优化过…...
sql-libs靶场-----0x00、环境准备
文章目录 一、PhPstudy下载、安装二、Sqli-libs下载、搭建三、启用Sqli-libs phpstudy地址:https://www.xp.cn/ sqli-libs地址:https://github.com/Audi-1/sqli-labs 一、PhPstudy下载、安装 1、下载–解压–安装,安装完成如下图 2、更换php…...
一百四十九、Kettle——Linux上安装的kettle8.2创建共享资源库时遇到的问题(持续更新中)
一、目的 在kettle8.2在Linux上安装好可以启动界面、并且可以连接MySQL、Hive、ClickHouse等数据库后开始创建共享资源库,但是遇到了一些问题 二、Linux系统以及kettle版本 (一)Linux:CentOS 7 英文的图形化界面模式 &#…...
Mysql 建索引规范
索引规范 今天在建线上表的时候,做了一个varchar的索引,运维说varchar的索引会占用很大的内存。 于是 上网搜了一下建索引规范 一、建表规约 【强制】(1) 存储引擎必须使用InnoDB 解读:InnoDB支持事物、行级锁、并发…...
新基建助推数字经济,CosmosAI率先布局AI超算租赁新纪元
伦敦, 8月14日 - 在英国伦敦隆重的Raffles OWO举办的欧盟数字超算新时代战略合作签约仪式,CosmosAI、Infinite Money Fund与Internet Research Lab三方强强联手,达成了历史性的合作协议,共同迈向超算租赁新纪元。 这次跨界的合作昭示了全球…...
微服务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进行抓包排错时,选择网卡后提示报错,在此之前从未出现过,报错内容如下: 提示内容是The capture session could not be initiated on capture device,无法在捕获设备上启动捕获会话要求操作是Please…...
FreeSWITCH执行bridge时如何“制造“ringback
dialplan如果这样写: <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只负责类的加载,至于他是否能够运行由执行引擎来决定 3、加载的类的信息会存放在方法区(元空间)中 二、加载过程 1、加载阶段 1、通…...
YOLOv5改进系列(21)——替换主干网络之RepViT(清华 ICCV 2023|最新开源移动端ViT)
【YOLOv5改进系列】前期回顾: YOLOv5改进系列(0)——重要性能指标与训练结果评价及分析 YOLOv5改进系列(1)——添加SE注意力机制 YOLOv5改进系列(2...
安卓中常见的字节码指令介绍
问题背景 安卓开发过程中,经常要通过看一些java代码对应的字节码,来了解java代码编译后的运行机制,本文将通过一个简单的demo介绍一些基本的字节码指令。 问题分析 比如以下代码: public class test {public static void main…...
TCP的三次握手和四次挥手
文章目录 三次握手四次挥手TIME_WAITCLOSE_WAIT 使用wireshark观察 三次握手 握手的最终目的是主机之间建立连接 首先要有两个预备知识点 三次握手建立连接不一定会成功,其中最担心的就是最后一次握手失败,不过会有配套的解决方案建立好连接后是需要被…...
前后端分离------后端创建笔记(08)表单提交
本文章转载于【SpringBootVue】全网最简单但实用的前后端分离项目实战笔记 - 前端_大菜007的博客-CSDN博客 仅用于学习和讨论,如有侵权请联系 源码:https://gitee.com/green_vegetables/x-admin-project.git 素材:https://pan.baidu.com/s/…...
途乐证券-KDJ分别代表什么?
KDJ是一种技能剖析东西,常见于股票、期货等商场中,它的全称是随机目标(KDJ)。KDJ目标包括三条线,分别为K线、D线和J线。那么,KDJ分别代表什么呢?本文将从多个视点进行剖析。 1. KDJ的简单介绍 …...
用C语言重写的原始Matlab OpenShoe算法:深入理解和实现步态分析的关键技术
一、引言 在许多领域,如医疗健康、体育科学、虚拟现实和机器人技术中,步态分析都是一个重要的研究领域。步态分析可以帮助我们理解人体运动的机制,评估疾病的影响,优化运动员的表现,甚至设计更自然的机器人运动。Open…...
新手福音,用快马平台可视化学习apifox接口调用与测试
作为一个刚接触API开发的新手,第一次看到各种接口文档时完全摸不着头脑。直到发现了Apifox这个工具,配合InsCode(快马)平台的智能生成功能,终于找到了最适合新手的可视化学习路径。下面分享我的学习心得: 为什么选择Apifox作为入门…...
牧苏苏传.辣个男人 4/3
今天复习了求组合,这个题的特点是可以多次选择,这里是用到了回溯,然后使用的是回溯的选还是不选的模型,让然后我用了startindex记录位置,让不选了之后可以不再出现,这重要吗?如果是用for一直选&…...
从序列到结构:ESM蛋白质语言模型核心原理与实践解析
1. 蛋白质语言模型为何成为研究热点 最近几年,蛋白质语言模型突然在生物信息学领域火了起来。作为一个长期关注AI在生命科学领域应用的开发者,我发现这背后有两个关键驱动力:一是蛋白质结构预测的世纪难题有了新解法,二是Transfor…...
教育资源数字化转型:tchMaterial-parser电子课本获取工具深度解析
教育资源数字化转型:tchMaterial-parser电子课本获取工具深度解析 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具,帮助您从智慧教育平台中获取电子课本的 PDF 文件网址并进行下载,让您更方便地获取课本内容。…...
3分钟快速上手:使用image2cpp免费在线工具将图像转换为Arduino字节数组
3分钟快速上手:使用image2cpp免费在线工具将图像转换为Arduino字节数组 【免费下载链接】image2cpp 项目地址: https://gitcode.com/gh_mirrors/im/image2cpp image2cpp图像转换工具是嵌入式开发者的得力助手,这个强大的免费在线工具能够将普通图…...
网盘直链下载助手:一键获取八大网盘真实下载地址的终极方案
网盘直链下载助手:一键获取八大网盘真实下载地址的终极方案 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 /…...
实测霜儿-汉服-造相Z-Turbo:8秒生成高清汉服写真,新手也能轻松出图
实测霜儿-汉服-造相Z-Turbo:8秒生成高清汉服写真,新手也能轻松出图 1. 为什么选择这个汉服写真生成工具 在尝试过多个AI绘画工具后,我发现大多数模型在生成汉服人像时都存在几个共同问题:服饰细节模糊、人物比例失调、背景与主体…...
打卡信奥刷题(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 满足:对于所有 i(1≤i≤k)i\ (1\leq i\leq k)i (1≤i≤k)…...
程序实现仪器故障时,自动保存当前数据,方便维修时分析故障原因。
一、实际应用场景描述在某高校《智能仪器》实验中,使用一台高精度温度采集仪:- 仪器长期运行(24h 连续采样)- 偶发异常:- 传感器断线- ADC 超限- 通信超时- 一旦故障:- 当前采样数据丢失- 维修人员只能“凭…...
Qwen3.5-4B-Claude-Opus实战案例:Top-P=0.9时逻辑结论一致性测试
Qwen3.5-4B-Claude-Opus实战案例:Top-P0.9时逻辑结论一致性测试 1. 模型介绍 Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF是一个基于Qwen3.5-4B的推理蒸馏模型,特别强化了结构化分析、分步骤回答以及代码与逻辑类问题的处理能力。该模型以GG…...
