提取“A”中某些元素的简明方法;survfit“;对象转换为数据帧
我从提取“A”中某些元素的简明方法;survfit“;对象转换为数据帧,r,list,dataframe,R,List,Dataframe,我从survival库加载数据集,并生成survfit对象: library(survival) data(lung) lung$SurvObj <- with(lung, Surv(time, status == 2)) fit <- survfit(SurvObj ~ 1, data = lung, conf.type = "log-log") 现在,我指定了一些要转换为数据帧的成员(长度相同): members <- c("time", "n.risk", "n.eve
survival
库加载数据集,并生成survfit
对象:
library(survival)
data(lung)
lung$SurvObj <- with(lung, Surv(time, status == 2))
fit <- survfit(SurvObj ~ 1, data = lung, conf.type = "log-log")
现在,我指定了一些要转换为数据帧的成员(长度相同):
members <- c("time", "n.risk", "n.event")
使用cbind绑定数据帧,然后使用名称更改列的名称
time=as.data.frame(fit$time)
n.risk=as.data.frame(fit$n.risk)
n.event=as.data.frame(fit$n.event)
members2=cbind(time,n.risk,n.event)
names(members2)=c("time","n.risk","n.event")
head(members2)
time n.risk n.event
1 5 228 1
2 11 227 3
3 12 224 1
4 13 223 2
5 15 221 1
6 26 220 1
这没关系
data.frame(unclass(fit)[members])
另一种(更规范的)方法是
库(生存)
数据(肺)
lung$SurvObj该broom
包包含整理回归模型结果并将其显示在类data.frame
对象中的函数。对于那些不熟悉整洁哲学的人,请参见
库(扫帚)
#通过成员中保存的列创建整齐的数据框和子集
df预期的输出是什么样的?成员
time=as.data.frame(fit$time)
n.risk=as.data.frame(fit$n.risk)
n.event=as.data.frame(fit$n.event)
members2=cbind(time,n.risk,n.event)
names(members2)=c("time","n.risk","n.event")
head(members2)
time n.risk n.event
1 5 228 1
2 11 227 3
3 12 224 1
4 13 223 2
5 15 221 1
6 26 220 1
data.frame(unclass(fit)[members])
with(fit, data.frame(time, n.risk, n.event))
library(survival)
data(lung)
lung$SurvObj <- with(lung, Surv(time, status == 2))
fit <- survfit(SurvObj ~ 1, data = lung, conf.type = "log-log")
str(fit)
members<-data.frame(time=fit$time,n.risk=fit$n.risk,n.event=fit$n.event)
members
library(broom)
#create tidy dataframe and subset by the columns saved in members
df <- tidy(fit)[,members]
head(df)
# time n.risk n.event
#1 5 228 1
#2 11 227 3
#3 12 224 1
#4 13 223 2
#5 15 221 1
#6 26 220 1