У меня есть регрессия Кокса, в которой используется strata()
и tt()
.
Есть ли какой-нибудь пакет, который помогает производить хорошо выглядящий, информативный вывод результатов в формате таблицы? В то время как ggforest()
обрабатывает tt()
, он не обрабатывает strata()
Я ищу какой-либо способ получения подходящего вывода, кроме печати summary(coxph)
. Неважно, является ли это латексом или HTML.
. Пока единственное решение - создать стол самостоятельно, но это не выглядит достаточно привлекательным, чтобы его можно было положить в бумагу ...
Вот фиктивный набор данных:
set.seed(132456)
'dummy survival data'
df<-data.frame(id=seq(1,1000,1), event=rep(0,1000),time=floor(runif(1000,7,10)),group=floor(runif(1000,0,2)),
var1 = rnorm(1000, 1, 3), var2 = seq(1,1000))
'set events for a few random subjects'
id_list<-c(as.numeric(floor(runif(500,1,1000))))
df$event[df$id %in% id_list]<-1
'set survival times for events'
t_list<-c(as.numeric(floor(runif(394,1,5))))
df2<-df[df$event==1,]
df2$time<-t_list
'combine data'
df<-rbind(df,df2)
summary(df)
'Set up surfit '
require(survminer)
KM_fit<-coxph(Surv(time , event) ~ tt(var2) + strata(group)+ var1 ,data= df)
ggforest()
возвращает следующую ошибку:
> ggforest(KM_fit)
Error in `[.data.frame`(data, , var) : undefined columns selected
additional warning:
In .get_data(model, data = data) :
The `data` argument is not provided. Data will be extracted from model fit.
Функция ggforest()
работает, если не указан strata
. Но модель, с которой я имею дело, использует это .... так что никакого решения.
Следующее возвращает очень простую c таблицу, которую, если бы я знал немного больше о планировке, можно было бы использовать, но на самом деле это не красиво!
# Prepare the columns
beta <- coef(KM_fit)
se <- sqrt(diag(KM_fit$var))
p <- 1 - pchisq((beta/se)^2, 1)
CI <- round(exp(confint(KM_fit)), 2)
# Bind columns together, and select desired rows
res <- cbind(beta, se = exp(beta), CI, p)
# Print results in a LaTeX-ready form
knitr::kable(
xtable(res)
)
Благодарен за любую советы и хитрости!
Спасибо большое!
тоже попробовал finalfit()
безуспешно ....