gpt4 book ai didi

r - 将单变量 coxph 函数一次应用于多个协变量(列)

转载 作者:行者123 更新时间:2023-12-03 09:20:25 28 4
gpt4 key购买 nike

首先,我从这个链接收集Applying a function to multiple columns使用“function”函数也许可以满足我的需求。然而,我一直未能从以所呈现的方式思考它到使其在我的情况下真正发挥作用(或者甚至不知道从哪里开始)实现飞跃。我是 R 的初学者,所以如果这是一个真正的“新手”问题,我提前道歉。我的数据是一个数据框,由事件变量(肿瘤复发)和时间变量(随访时间/复发时间)以及复发风险因素(T 期、肿瘤大小、dx 年龄等)组成。有些风险因素是绝对的,有些是连续的。我一直在手动运行单变量分析,一次一个,就像这个例子 univariateageatdx<-coxph(survobj~gedx) 一样,然后收集数据。对于多种因素以及几种不同的复发类型来说,这会变得非常乏味。我认为必须有一种编码方法,这样我基本上可以拥有一行包含 coxph 方程的代码,然后将其应用于我感兴趣的所有变量,并得出包含每个因素的单变量分析结果的结果。我尝试使用 cbind 绑定(bind)变量(即 x<-cbind("agedx","tumor size") 然后运行 ​​cox coxph(recurrencesurvobj~x) 但这当然只是对这些变量进行了多变量分析,并没有将它们拆分为真正的单变量分析。

我还根据在不同站点上发现的类似问题尝试了以下代码,但它给出了显示的错误,我不知道该怎么做。这是在正确的轨道上吗?

f <- as.formula(paste('regionalsurvobj ~', paste(colnames(nodcistradmasvssubcutmasR)[6-9], collapse='+')))

然后我运行它有 coxph(f)给了我多元 cox 分析的结果。

谢谢!**编辑:我刚刚修复了错误,我需要使用列号,我想不是名称。更改反射(reflect)在上面的代码中。但是,它仍然运行选择为多变量分析的变量,而不是真正的单变量分析...

最佳答案

如果您想走公式路线(在您的情况下有多个结果和多个变量可能是最实用的方法),您需要为每个您想要拟合的模型创建一个公式。我在这里稍微拆分了步骤(创建公式、创建模型和提取数据),当然可以将它们组合起来,这样您就可以检查所有模型。

#example using transplant data from survival package
#make new event-variable: death or no death
#to have dichot outcome
transplant$death <- transplant$event=="death"

#making formulas
univ_formulas <- sapply(c("age","sex","abo"),function(x)as.formula(paste('Surv(futime,death)~',x))
)
#making a list of models
univ_models <- lapply(univ_formulas, function(x){coxph(x,data=transplant)})

#extract data (here I've gone for HR and confint)
univ_results <- lapply(univ_models,function(x){return(exp(cbind(coef(x),confint(x))))})

关于r - 将单变量 coxph 函数一次应用于多个协变量(列),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32755072/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com