Nothing
## ----setup, include=FALSE-----------------------------------------------------
knitr::opts_chunk$set(echo = TRUE)
## ---- load-packages, include=FALSE--------------------------------------------
library(CTNote)
library(readxl)
library(kableExtra)
library(tidyverse)
## ---- import-table-one, include=FALSE-----------------------------------------
pathToTable1_char <- system.file(
"suppl_docs", "definitions_20220405.xlsx", package = "CTNote", mustWork = TRUE
)
tab1_df <- readxl::read_xlsx(pathToTable1_char)
## ---- tidy-table-one, include=FALSE-------------------------------------------
tabTidy1_df <-
tab1_df %>%
select(-`Frequency of UOS`, -`Coded column name`, -DOI) %>%
rename(
Group = `Outcome Group`,
Endpoint = `Primary Endpoint`,
Class = `Numeric Class`,
Definition = `Definition/Assessment of Outcome`,
`Missing is` = `Missing UOS coded as`
) %>%
mutate(
Group = case_when(
str_detect(Group, "Abstinence") ~ "Abstinence",
str_detect(Group, "Relapse") ~ "Relapse",
str_detect(Group, "Reduction") ~ "Reduction",
)
) %>%
filter(Group == "Relapse") %>%
arrange(Reference)
defns_char <- tabTidy1_df$Definition
names(defns_char) <- tabTidy1_df$Reference
## ---- show-table-one-reduction, results='asis', echo=FALSE--------------------
tabTidy1_df %>%
kable("html") %>%
column_spec(1:4, width = "3cm") %>%
column_spec(5, width = "5cm") %>%
kable_styling("striped", font_size = 11) %>%
kable_minimal() %>%
# All styling and spec calls have to come BEFORE this line.
scroll_box(width = "1000px", height = "500px")
## -----------------------------------------------------------------------------
### Full Data ###
udsOutcomes_df <-
CTNote::outcomesCTN0094 %>%
select(who, usePatternUDS)
# Make a copy
outcomesRel_df <- udsOutcomes_df
### Examples ###
examplePeople_int <- c(1, 163, 210, 242, 4, 17, 13, 1103, 233, 2089)
outcomesRel_df %>%
filter(who %in% examplePeople_int)
## ---- include=FALSE-----------------------------------------------------------
which0094_idx <- which(
names(defns_char) == "CTN-0094"
)
## -----------------------------------------------------------------------------
outcomesRel_df <-
outcomesRel_df %>%
rowwise() %>%
mutate(
udsPattern = recode_missing_visits(
use_pattern = usePatternUDS
)
) %>%
mutate(
udsPattern = recode_missing_visits(
use_pattern = udsPattern,
missing_is = "*"
)
) %>%
mutate(
ctn0094_relapse = detect_in_window(
use_pattern = udsPattern,
window_width = 4L,
threshold = 4L
)
) %>%
unnest(cols = "ctn0094_relapse", names_sep = "_") %>%
select(who, starts_with("ctn0094_relapse")) %>%
left_join(outcomesRel_df, ., by = "who")
outcomesRel_df %>%
filter(who %in% examplePeople_int) %>%
select(who, usePatternUDS, starts_with("ctn0094_relapse"))
## -----------------------------------------------------------------------------
outcomesRel_df <-
outcomesRel_df %>%
rowwise() %>%
# do NOT recode any missing visits
mutate(
ctn0094_dropout = detect_in_window(
use_pattern = usePatternUDS,
window_width = 4L,
threshold = 4L,
match_is = "o"
)
) %>%
unnest(cols = "ctn0094_dropout", names_sep = "_") %>%
select(who, starts_with("ctn0094_dropout")) %>%
left_join(outcomesRel_df, ., by = "who")
outcomesRel_df %>%
filter(who %in% examplePeople_int) %>%
select(who, usePatternUDS, starts_with("ctn0094_dropout"))
## -----------------------------------------------------------------------------
outcomesRel_df <-
outcomesRel_df %>%
rowwise() %>%
mutate(
udsPattern = recode_missing_visits(
use_pattern = usePatternUDS,
)
) %>%
mutate(
udsPattern = recode_missing_visits(
use_pattern = udsPattern,
missing_is = "*"
)
) %>%
mutate(
johnson1992_hasRel = detect_subpattern(
use_pattern = udsPattern,
subpattern = "++",
# Starting at 4 weeks of treatment
start = 4L
)
) %>%
select(who, johnson1992_hasRel) %>%
left_join(outcomesRel_df, ., by = "who")
outcomesRel_df %>%
filter(who %in% examplePeople_int) %>%
select(who, usePatternUDS, johnson1992_hasRel)
## -----------------------------------------------------------------------------
outcomesRel_df <-
outcomesRel_df %>%
rowwise() %>%
mutate(
udsPattern = recode_missing_visits(
use_pattern = usePatternUDS,
)
) %>%
mutate(
udsPattern = recode_missing_visits(
use_pattern = udsPattern,
missing_is = "*"
)
) %>%
mutate(
krupitsky2004_hasRel = detect_subpattern(
use_pattern = udsPattern,
subpattern = "+++"
)
) %>%
select(who, krupitsky2004_hasRel) %>%
left_join(outcomesRel_df, ., by = "who")
outcomesRel_df %>%
filter(who %in% examplePeople_int) %>%
select(who, usePatternUDS, krupitsky2004_hasRel)
## -----------------------------------------------------------------------------
outcomesRel_df <-
outcomesRel_df %>%
rowwise() %>%
mutate(
udsPattern = recode_missing_visits(
use_pattern = usePatternUDS
)
) %>%
mutate(
udsPattern = recode_missing_visits(
use_pattern = udsPattern,
missing_is = "*"
)
) %>%
mutate(
lee2016_rel = detect_in_window(
use_pattern = udsPattern,
window_width = 4L,
threshold = 2L
)
) %>%
unnest(cols = "lee2016_rel", names_sep = "_") %>%
select(who, starts_with("lee2016_rel")) %>%
left_join(outcomesRel_df, ., by = "who")
outcomesRel_df %>%
filter(who %in% examplePeople_int) %>%
select(who, usePatternUDS, starts_with("lee2016_rel"))
## -----------------------------------------------------------------------------
outcomesRel_df <-
outcomesRel_df %>%
rowwise() %>%
mutate(
udsPattern = recode_missing_visits(
use_pattern = usePatternUDS
)
) %>%
mutate(
udsPattern = recode_missing_visits(
use_pattern = udsPattern,
missing_is = "*"
)
) %>%
mutate(
udsPatternTrimmed = str_sub(udsPattern, start = 3L)
) %>%
rowwise() %>%
mutate(
lee2018_rel = detect_in_window(
use_pattern = udsPatternTrimmed,
window_width = 4L,
threshold = 4L
)
) %>%
unnest(cols = "lee2018_rel", names_sep = "_") %>%
mutate(lee2018_rel_time = lee2018_rel_time + 2) %>%
select(who, starts_with("lee2018_rel")) %>%
left_join(outcomesRel_df, ., by = "who")
outcomesRel_df %>%
filter(who %in% examplePeople_int) %>%
select(who, usePatternUDS, starts_with("lee2018_rel"))
## -----------------------------------------------------------------------------
outcomesRel_df <-
outcomesRel_df %>%
rowwise() %>%
mutate(
udsPattern = recode_missing_visits(
use_pattern = usePatternUDS
)
) %>%
mutate(
udsPattern = recode_missing_visits(
use_pattern = udsPattern,
missing_is = "*"
)
) %>%
mutate(
schottenfeld2008_rel = detect_in_window(
use_pattern = udsPattern,
window_width = 3L,
threshold = 3L
)
) %>%
unnest(cols = "schottenfeld2008_rel", names_sep = "_") %>%
select(who, starts_with("schottenfeld2008_rel")) %>%
left_join(outcomesRel_df, ., by = "who")
outcomesRel_df %>%
filter(who %in% examplePeople_int) %>%
select(who, usePatternUDS, starts_with("schottenfeld2008_rel"))
## -----------------------------------------------------------------------------
sessionInfo()
## ---- include=FALSE, eval=FALSE-----------------------------------------------
# # write_csv(
# # outcomesRel_df,
# # file = "../inst/extdata/outcomes_relapse_20220818.csv"
# # )
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.