我正在尝试简化我的代码以避免循环,但是一旦我运行我的cox比例风险代码来提取系数的p值和标准误差,我就很难。我的代码如下:
library(survival)
#Generate Data
x = matrix(rbinom(10000,1,.5),ncol=100)
y = rexp(ncol(x),.02)
censor = rbinom(ncol(x),1,.5)
event = ifelse(censor==1,0,1)
#Fit the coxph model to the data
ans = apply(x,1,function(x,y,event)coxph(Surv(y,event)~x),y=y,event=event)
#Extract the coefficients from ans
coef = unname(sapply(ans,function(x)x$coef))
正如您所看到的,我能够从对象ans
中提取系数,但我无法提取p值和标准误差。有没有一种简单的方法可以从我的ans
对象中执行此操作?还是修改这段代码的简单方法呢?
答案 0 :(得分:2)
您可以添加这两行代码来获取p值和std错误。
pValues <- sapply(1:length(ans), function(x) {summary(ans[[x]])$coefficients[5]})
sd <- sapply(1:length(ans), function(x) {summary(ans[[x]])$coefficients[3]})