Nothing
## ----label = "setup", include = FALSE-----------------------------------------
################################################################################
### !!! IMPORTANT NOTE !!! ###
### ###
### THIS FILE WAS GENERATED BY vignette-spinners/phoenix.R ###
### ###
### MAKE EDITS IN THAT FILE ###
################################################################################
library(qwraps2)
options(qwraps2_markup = "markdown")
knitr::opts_chunk$set(collapse = TRUE)
## -----------------------------------------------------------------------------
library(phoenix)
packageVersion("phoenix")
## ----echo = FALSE, results = "asis"-------------------------------------------
tab <-
scan(file = system.file("phoenix_rubric.md", package = "phoenix"),
what = character(),
sep = "\n",
quiet = TRUE)
cat(tab, sep = "\n")
cat("\n")
ftnt <-
scan(file = system.file("phoenix_rubric_footnotes.md", package = "phoenix"),
what = character(),
sep = "\n",
quiet = TRUE)
cat(ftnt, sep = "\n\n")
## ----echo = FALSE, results = "hide", fig.width = 7, fig.height = 4------------
resp_data <-
expand.grid(pfr = seq(0, 450, by = 10), sfr = seq(0, 450, by = 10), imv = c(0, 1), o2 = c(0, 1))
resp_data$o2 <- pmax(resp_data$imv, resp_data$o2)
resp_data <- unique(resp_data)
resp_data$phoenix_respiratory_score <- factor(phoenix_respiratory(pfr, sfr, imv, o2, data = resp_data))
resp_data$oxygen_support <-
factor(
interaction(resp_data$imv, resp_data$o2),
levels = c("0.0", "0.1", "1.1"),
labels = c("No Oxygen Support", "Non-invasive Oxygen Support", "Invasive Oxygen Support")
)
ggplot2::ggplot(data = resp_data) +
ggplot2::theme_classic() +
ggplot2::aes(x = sfr, y = pfr, fill = phoenix_respiratory_score) +
ggplot2::geom_tile() +
ggplot2::facet_wrap( ~ oxygen_support, nrow = 1) +
ggplot2::scale_fill_brewer(name = "Phoenix Respiratory Score", palette = "Spectral", direction = -1) +
ggplot2::ylab(expression(PaO[2] : FiO[2])) +
ggplot2::xlab(expression(SpO[2] : FiO[2])) +
ggplot2::theme(legend.position = "bottom")
## -----------------------------------------------------------------------------
phoenix_respiratory(
sf_ratio = 87 / 0.40,
other_respiratory_support = 1)
## -----------------------------------------------------------------------------
DF <- read.table(sep = "|", header = TRUE, text =
"
pfr | sfr | imv | o2
| 438 | |
| 175 | | 1
| 175 | | 1
186 | | 1 | 0
300 | 277 | 0 | 1
| | |
")
DF$resp_score <- phoenix_respiratory(pfr, sfr, imv, o2, DF)
DF
## -----------------------------------------------------------------------------
resp_example <- sepsis[c("pid", "fio2", "pao2", "spo2", "vent")]
## ----results = "hide"---------------------------------------------------------
resp_example$score <-
phoenix_respiratory(
pf_ratio = pao2 / fio2,
sf_ratio = ifelse(spo2 <= 97, spo2 / fio2, NA_real_),
imv = vent,
other_respiratory_support = as.integer(fio2 > 0.21),
data = sepsis
)
resp_example
## ----echo = FALSE, results = "asis"-------------------------------------------
knitr::kable(resp_example)
## ----echo = FALSE, results = "hide", fig.width = 7, fig.height = 7------------
DF <- expand.grid(vasoactives = 0:2,
lactate = seq(0, 15, by = 1),
age = seq(0, 18 * 12, by = 1),
MAP = seq(00, 60, by = ))
DF$phoenix_cardiovascular_score <-
factor(
phoenix_cardiovascular(vasoactives, lactate, age, MAP, data = DF)
)
DF$lactate_bin <- cut(DF$lactate, breaks = c(0, 5, 11, Inf), right = F)
levels(DF$lactate_bin) <- paste("Lactate", levels(DF$lactate_bin))
ggplot2::ggplot(DF) +
ggplot2::theme_classic() +
ggplot2::aes(x = age, y = MAP, fill = phoenix_cardiovascular_score) +
ggplot2::geom_tile() +
ggplot2::facet_grid(lactate_bin ~ paste("Vasoactive Medications:", vasoactives)) +
ggplot2::scale_fill_brewer(name = "Phoenix Cardiovascular Score", palette = "Spectral", direction = -1) +
ggplot2::ylab("Mean Arterial Pressure (mmHg)") +
ggplot2::xlab("Age (months)") +
ggplot2::guides(fill = ggplot2::guide_legend(nrow = 1)) +
ggplot2::theme(legend.position = "bottom")
## ----results = "hide"---------------------------------------------------------
card_example <-
sepsis[c("pid", "dobutamine", "dopamine", "epinephrine", "milrinone", "norepinephrine", "vasopressin", "lactate", "dbp", "sbp", "age")]
card_example$score <-
phoenix_cardiovascular(
vasoactives = dobutamine + dopamine + epinephrine + milrinone + norepinephrine + vasopressin,
lactate = lactate,
age = age,
map = map(sbp = sbp, dbp = dbp),
data = sepsis)
card_example
## ----results = "asis", echo = FALSE-------------------------------------------
knitr::kable(card_example)
## ----echo = FALSE, results = "hide", fig.height = 7, fig.width = 7------------
DF <- expand.grid(platelets = c(10, 150),
inr = c(1.0, 1.5),
d_dimer = c(1.2, 4.0),
fib = c(10, 150))
DF$plt_bin <-
factor(DF$platelets, levels = c(150, 10), labels = c("Platelets >= 100", "Platelets < 100"))
DF$inr_bin <-
factor(DF$inr, levels = c(1.0, 1.5), labels = c("INR <= 1.3", "INR > 1.3"))
DF$ddm_bin <-
factor(DF$d_dimer, levels = c(1.2, 4.0), labels = c("D-dimer <= 2", "D-dimer > 2"))
DF$fib_bin <- factor(DF$fib, levels = c(150, 10),
labels = c("Fibrinogen >= 100", "Fibrinogen < 100"))
DF$phoenix_coagulation_score <-
factor(
phoenix_coagulation(platelets, inr, d_dimer, fib, data = DF)
)
ggplot2::ggplot(DF) +
ggplot2::theme_classic() +
ggplot2::aes(x = plt_bin, y = fib_bin, fill = phoenix_coagulation_score) +
ggplot2::geom_tile() +
ggplot2::facet_grid(inr_bin ~ ddm_bin) +
ggplot2::scale_fill_brewer(name = "Phoenix Coagulation Score", palette = "Spectral", direction = -1) +
ggplot2::ylab("")+
ggplot2::xlab("")+
ggplot2::theme(legend.position = "bottom")
## ----results = "hide"---------------------------------------------------------
coag_example <- sepsis[c("pid", "platelets", "inr", "d_dimer", "fibrinogen")]
coag_example$score <-
phoenix_coagulation(platelets, inr, d_dimer, fibrinogen, data = sepsis)
coag_example
## ----echo = FALSE, results = 'asis'-------------------------------------------
knitr::kable(coag_example)
## ----results = 'hide'---------------------------------------------------------
neuro_example <- sepsis[c("pid", "gcs_total", "pupil")]
neuro_example$score <-
phoenix_neurologic(gcs = gcs_total, fixed_pupils = as.integer(pupil == "both-fixed"), data = sepsis)
neuro_example
## ----echo = FALSE, results = "asis"-------------------------------------------
knitr::kable(neuro_example)
## ----results = 'hide'---------------------------------------------------------
endo_example <- sepsis[c("pid", "glucose")]
endo_example$score <- phoenix_endocrine(glucose, data = sepsis)
endo_example
## ----echo = FALSE, results = "asis"-------------------------------------------
knitr::kable(endo_example)
## ----results = "hide"---------------------------------------------------------
immu_example <- sepsis[c("pid", "anc", "alc")]
immu_example$score <- phoenix_immunologic(anc, alc, sepsis)
immu_example
## ----echo = FALSE, results = "asis"-------------------------------------------
knitr::kable(immu_example)
## ----results = "hide"---------------------------------------------------------
renal_example <- sepsis[c("creatinine", "age")]
renal_example$score <- phoenix_renal(creatinine, age, sepsis)
renal_example
## ----echo = FALSE, results = "asis"-------------------------------------------
knitr::kable(renal_example)
## ----results = "hide"---------------------------------------------------------
hep_example <- sepsis[c("pid", "bilirubin", "alt")]
hep_example$score <- phoenix_hepatic(bilirubin, alt, sepsis)
hep_example
## ----echo = FALSE, results = "asis"-------------------------------------------
knitr::kable(hep_example)
## -----------------------------------------------------------------------------
phoenix_scores <-
phoenix(
# respiratory
pf_ratio = pao2 / fio2,
sf_ratio = ifelse(spo2 <= 97, spo2 / fio2, NA_real_),
imv = vent,
other_respiratory_support = as.integer(fio2 > 0.21),
# cardiovascular
vasoactives = dobutamine + dopamine + epinephrine + milrinone + norepinephrine + vasopressin,
lactate = lactate,
age = age,
map = map(sbp, dbp),
# coagulation
platelets = platelets,
inr = inr,
d_dimer = d_dimer,
fibrinogen = fibrinogen,
# neurologic
gcs = gcs_total,
fixed_pupils = as.integer(pupil == "both-fixed"),
data = sepsis
)
str(phoenix_scores)
## ----echo = FALSE, results = "asis"-------------------------------------------
names(phoenix_scores) <- gsub("_", "\n", names(phoenix_scores))
knitr::kable(phoenix_scores, format = "html", align = "c")
## -----------------------------------------------------------------------------
phoenix8_scores <-
phoenix8(
# respiratory
pf_ratio = pao2 / fio2,
sf_ratio = ifelse(spo2 <= 97, spo2 / fio2, NA_real_),
imv = vent,
other_respiratory_support = as.integer(fio2 > 0.21),
# cardiovascular
vasoactives = dobutamine + dopamine + epinephrine + milrinone + norepinephrine + vasopressin,
lactate = lactate,
age = age, # Also used in the renal assessment.
map = map(sbp = sbp, dbp = dbp),
# coagulation
platelets = platelets,
inr = inr,
d_dimer = d_dimer,
fibrinogen = fibrinogen,
# neurologic
gcs = gcs_total,
fixed_pupils = as.integer(pupil == "both-fixed"),
# endocrine
glucose = glucose,
# immunologic
anc = anc,
alc = alc,
# renal
creatinine = creatinine,
# no need to specify age again
# hepatic
bilirubin = bilirubin,
alt = alt,
data = sepsis
)
str(phoenix8_scores)
## ----echo = FALSE, results = "asis"-------------------------------------------
names(phoenix8_scores) <- gsub("_", "\n", names(phoenix8_scores))
knitr::kable(phoenix8_scores, format = "html", align = "c")
## -----------------------------------------------------------------------------
phoenix(
vasoactives = 1, # norepinephrine drip
map = 32 + (67 - 32) / 3, # 43.667 mmHg
platelets = 95,
gcs = 14, # irritability
age = 3 * 12 # expected input for age is in months
)
## -----------------------------------------------------------------------------
phoenix(
gcs = 2 + 2 + 4, # eye + verbal + motor
map = 52,
imv = 1,
sf_ratio = 92 / 0.45,
platelets = 120,
lactate = 2.9,
inr = 1.7,
d_dimer = 4.4,
fibrinogen = 120)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.