如何导出用coxph和knitr :: kable制成的危险比表

问题描述

生成简化代码颇有挑战性,因此我从R markdown添加了导出文件 我根据生存数据生成危险比表,并使用以下代码遍历多列

   [```{r}
# take the variable names in df2
varnames <- colnames(df2clean)\[c(29:35)\]

lapply(varnames,function(i) {
  # STRING INTERPOLATION WITH sprintf,THEN CONVERTED TO FORMULA OBJECT
  iformula <- as.formula(sprintf("Surv(time = df2clean$Timeto.Event,event = df2clean$event) ~ %s + Age + MI + Gender",i))  
  
  # RUN MODEL REFERENCING DYNAMIC FORMULA
 coxph(iformula,data=df2clean,na.action=na.omit) %>%
 
   # coxph to dataframe and table
   finalfit::fit2df(condense = FALSE) %>%
   knitr::kable(digits = c(0,2,3,4,5))
  

})
```][1]

在R studio中,表格可见,而没有错误消息。但是,当我将表格导出为HTML时,却没有得到knitr :: kable产生的表格,这些表格是通过下面的代码获得的(没有循环)

coxph(Surv(time= df2clean$Timeto.Event,event = df2$event) ~ Dkk1 + Age + MI + Gender,data = df2clean) %>% 
     finalfit::fit2df(condense = FALSE) %>% 
     knitr::kable(digits = c(0,5))

关于如何解决此问题的任何想法?

enter image description here

解决方法

您所显示的内容应该可以工作,并且如果没有可复制的示例,则很难给出建议。正如您所说,这可能很困难。

您是否看过finalfit_permute()。这正是您想要的,但是将每个模型作为表格中的一列提供。

参考:https://finalfit.org/reference/ff_permute.html
决赛桌示例:https://finalfit.org/articles/all_tables_examples.html#base-model-individual-explanatory-variables

# Specify base model variables
explanatory_base = c("Age","MI","Gender")

# Specify variables to permute through
explanatory_permute = c("FIXaAT","FXa_AT","FXIa_A1AT","Dkk1")

# Produce final table
df2clean %>%
  finalfit_permute("Surv(TimeTo.Event,event",explanatory_base,explanatory_permute)

此处提供导出选项:https://finalfit.org/articles/export.html