insightsengineering / insightsengineering/teal.goshawk
[Issue]: Plot Aesthetic Settings does not do anything for tm_g_gh_density_distribution_plot
- Dominant language
- R
- Stars
- 3
- Forks
- 3
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 11
Description
### What is your question?
https://github.com/insightsengineering/teal.goshawk/assets/133694481/8d7426ec-623f-434a-9f59-586896321252
Should `Include rug plot` or `Rotate X-axis Label` options under `Plot Aesthetic Settings` be doing anything for `tm_g_gh_density_distribution_plot`?
```{R}
library(dplyr)
# original ARM value = dose value
arm_mapping <- list(
"A: Drug X" = "150mg QD",
"B: Placebo" = "Placebo",
"C: Combination" = "Combination"
)
ADSL <- goshawk::rADSL
ADLB <- goshawk::rADLB
var_labels <- lapply(ADLB, function(x) attributes(x)$label)
ADLB <- ADLB %>%
dplyr::mutate(
AVISITCD = dplyr::case_when(
AVISIT == "SCREENING" ~ "SCR",
AVISIT == "BASELINE" ~ "BL",
grepl("WEEK", AVISIT) ~ paste("W", stringr::str_extract(AVISIT, "(?<=(WEEK ))[0-9]+")),
TRUE ~ as.character(NA)
),
AVISITCDN = dplyr::case_when(
AVISITCD == "SCR" ~ -2,
AVISITCD == "BL" ~ 0,
grepl("W", AVISITCD) ~ as.numeric(gsub("[^0-9]*", "", AVISITCD)),
TRUE ~ as.numeric(NA)
),
AVISITCD = factor(AVISITCD) %>% reorder(AVISITCDN),
TRTORD = dplyr::case_when(
ARMCD == "ARM C" ~ 1,
ARMCD == "ARM B" ~ 2,
ARMCD == "ARM A" ~ 3
),
ARM = as.character(arm_mapping[match(ARM, names(arm_mapping))]),
ARM = factor(ARM) %>% reorder(TRTORD),
ACTARM = as.character(arm_mapping[match(ACTARM, names(arm_mapping))]),
ACTARM = factor(ACTARM) %>% reorder(TRTORD)
)
attr(ADLB[["ARM"]], "label") <- var_labels[["ARM"]]
attr(ADLB[["ACTARM"]], "label") <- var_labels[["ACTARM"]]
app <- teal::init(
data = teal.data::cdisc_data(
teal.data::cdisc_dataset("ADSL", ADSL, code = "ADSL <- goshawk::rADSL"),
teal.data::cdisc_dataset(
"ADLB",
ADLB,
code = "ADLB <- goshawk::rADLB
var_labels <- lapply(ADLB, function(x) attributes(x)$label)
ADLB <- ADLB %>%
dplyr::mutate(AVISITCD = dplyr::case_when(
AVISIT == 'SCREENING' ~ 'SCR',
AVISIT == 'BASELINE' ~ 'BL',
grepl('WEEK', AVISIT) ~
paste('W', stringr::str_extract(AVISIT, '(?<=(WEEK ))[0-9]+')),
TRUE ~ as.character(NA)),
AVISITCDN = dplyr::case_when(
AVISITCD == 'SCR' ~ -2,
AVISITCD == 'BL' ~ 0,
grepl('W', AVISITCD) ~ as.numeric(gsub('[^0-9]*', '', AVISITCD)),
TRUE ~ as.numeric(NA)),
AVISITCD = factor(AVISITCD) %>% reorder(AVISITCDN),
TRTORD = dplyr::case_when(
ARMCD == 'ARM C' ~ 1,
ARMCD == 'ARM B' ~ 2,
ARMCD == 'ARM A' ~ 3),
ARM = as.character(arm_mapping[match(ARM, names(arm_mapping))]),
ARM = factor(ARM) %>% reorder(TRTORD),
ACTARM = as.character(arm_mapping[match(ACTARM, names(arm_mapping))]),
ACTARM = factor(ACTARM) %>% reorder(TRTORD))
attr(ADLB[['ARM']], 'label') <- var_labels[['ARM']]
attr(ADLB[['ACTARM']], 'label') <- var_labels[['ACTARM']]",
vars = list(arm_mapping = arm_mapping)
),
check = TRUE
),
modules = teal::modules(
teal.goshawk::tm_g_gh_density_distribution_plot(
label = "Density Distribution Plot",
dataname = "ADLB",
param_var = "PARAMCD",
param = choices_selected(c("ALT", "CRP", "IGA"), "ALT"),
xaxis_var = choices_selected(c("AVAL", "BASE", "CHG", "PCHG"), "AVAL"),
trt_group = choices_selected(c("ARM", "ACTARM"), "ARM"),
color_manual = c(
"150mg QD" = "#000000",
"Placebo" = "#3498DB",
"Combination" = "#E74C3C"
),
color_comb = "#39ff14",
comb_line = TRUE,
plot_height = c(500, 200, 2000),
font_size = c(12, 8, 20),
line_size = c(1, .25, 3),
hline_arb = c(.02, .05),
hline_arb_color = c("red", "black"),
hline_arb_label = c("Horizontal Line A", "Horizontal Line B")
)
)
)
if (interactive()) {
shinyApp(app$ui, app$server)
}
```
### Code of Conduct
- [X] I agree to follow this project's Code of Conduct.
### Contribution Guidelines
- [X] I agree to follow this project's Contribution Guidelines.
### Security Policy
- [X] I agree to follow this project's Security Policy.
Contributor guide
Assessment
This issue has not been assessed yet.