## ----echo = FALSE------------------------------------------------------------- data.frame( PD = rep("Pharmacodynamic model", 9), types = c( "None", "Exposure-Response", "Direct effect", "Biophase / Link", "Indirect response", "Defined by ODEs", "Defined by explicit solutions", "Logistic regression", "Ordered categorical model" ), None = c("-", "Y", "-", "-", "-", "Y", "Y", "Y", "Y"), Subroutine = c("Y", "-", "Y", "Y", "Y", "Y", "-", "-", "-"), First = c("Y", "-", "Y", "Y", "Y", "Y", "-", "-", "-"), ODE = c("Y", "-", "Y", "Y", "Y", "Y", "-", "-", "-"), Explicit = c("-", "Y", "-", "-", "-", "-", "Y", "-", "-") ) |> flextable::flextable() |> flextable::set_header_labels( PD = "", types = "", Subroutine = "Defined by\nsubroutines", First = "Defined by\nfirst-order rates", ODE = "Defined by\nODEs", Explicit = "Defined by\nexplicit solutions" ) |> flextable::add_header_row( values = c(rep("", 2), rep("Pharmacokinetic model", 5) ) ) |> flextable::rotate( i = 1:9, j = 1 , rotation = "btlr" ) |> flextable::merge_h( i = 1, part = "header") |> flextable::merge_at( i = 1:2, j = 1:2, part = "header") |> flextable::merge_v( j = 1, part = "body") |> flextable::align( i = 1:2, j = 1:7, align = "center", part = "header" ) |> flextable::align( i = 1:9, j = 1:7, align = "center", part = "body" ) |> # Format content flextable::border_outer( border = officer::fp_border( color = "grey"), part = "all" ) |> flextable::border_inner( border = officer::fp_border( color = "grey"), part = "all" ) |> flextable::fontsize( i = 1:2, j = 1:7, part = "header", size = 9 ) |> flextable::fontsize( i = 1:9, j = 1:7, part = "body", size = 9 ) |> flextable::set_table_properties( width = 1, layout = "autofit" )