1

我为我的数据做了 coxph 并得到这样的结果:

> z
称呼:
coxph(公式 = Surv(Years, Event) ~ y, data = x)


    coef exp(coef) se(coef) zp
是 0.0714 1.07 0.288 0.248 0.8


似然比检验 = 1 df 上的 0.06,p = 0.804 n = 65,事件数 = 49

我只想保存

是 0.0714 1.07 0.288 0.248 0.8

成一个文件。因为我做排列并生成 1000 z。

我想将它们保存到这样的文本文件中:

鳍片 -0.3794 0.684 0.1914 -1.983 0.0470
年龄 -0.0574 0.944 0.0220 -2.611 0.0090
种族 0.3139 1.369 0.3080 1.019 0.3100
wexp -0.1498 0.861 0.2122 -0.706 0.4800
三月 -0.4337 0.648 0.3819 -1.136 0.2600
帕罗 -0.0849 0.919 0.1958 -0.434 0.6600

任何人都可以帮忙吗?

谢谢!

4

1 回答 1

2

系数很容易通过

summary(z)[['coefficients']]

和置信区间信息

summary(z)[['conf.int']]

找出summary.coxph对象的组成部分

str(summary(z))

我的建议是创建一个排列列表

data_list <- list(data_1, ...., data_1000)

然后打电话

lots_models <- lapply(data_list, coxph, formula = Surv(Years, Event) ~ y)

它创建了一个模型列表

您可以通过以下方式创建摘要

lots_summaries <- lapply(lots_models, summary)

提取系数

all_coefficients <- lapply(lots_summaries, '[[', 'coefficients')
all_conf.int     <- lapply(lots_summaries, '[[', 'conf.int')

添加排列 id 列(如果需要)

all_coefs_id <- lapply(seq_along(data_list), 
   function(i) cbind(all_coefficients[[i]],i))
all_ci_id <- lapply(seq_along(data_list), 
   function(i) cbind(all_conf.int[[i]],i))

然后组合成一个data.frame

all_coefs_df <- do.call(rbind, all_coefs_id)
all_ci_df <- do.call(rbind, all_ci_id)

然后将其保存为文本文件

于 2012-08-09T00:34:56.377 回答