如何在R中保存列表对象

时间:2012-08-09 00:21:49

标签: r analysis

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

> z
Call:
coxph(formula = Surv(Years, Event) ~ y, data = x)


    coef exp(coef) se(coef)     z   p
y 0.0714      1.07    0.288 0.248 0.8


Likelihood ratio test=0.06  on 1 df, p=0.804  n= 65, number of events= 49 

我只想保存

y 0.0714      1.07    0.288 0.248 0.8

进入文件。因为我做排列并生成1000 z。

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

fin -0.3794 0.684 0.1914 -1.983 0.0470
age -0.0574 0.944 0.0220 -2.611 0.0090
race 0.3139 1.369 0.3080 1.019 0.3100
wexp -0.1498 0.861 0.2122 -0.706 0.4800
mar -0.4337 0.648 0.3819 -1.136 0.2600
paro -0.0849 0.919 0.1958 -0.434 0.6600

任何人都可以提供帮助吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

可以轻松访问系数
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)

您将其保存为文本文件