# Example 1
library(ggplot2)
effICGI <- logistic_data |>
dplyr::filter(!is.na(ICGI))|>
dplyr::filter(!is.na(AUC))
effICGI$DOSE <- factor(effICGI$DOSE,
levels=c("0", "600", "1200","1800","2400"),
labels=c("Placebo", "600 mg", "1200 mg","1800 mg","2400 mg"))
effICGI$STUDY <- factor(effICGI$STUDY)
effICGI$ICGI2 <- effICGI$ICGI
effICGI <- tidyr::gather(effICGI,Endpoint,response,ICGI,ICGI2)
ggresponseexpdist(data = effICGI |>
dplyr::filter(Endpoint=="ICGI"),
model_type = "loess",
exposure_metrics = c("AUC","CMAX"),
legend_order = c("color","shape","model"),
color_legend_title ="Dose\nLevels")
if (FALSE) {
# Example 2
ggresponseexpdist(data = effICGI |>
dplyr::filter(Endpoint=="ICGI"),
model_type = "logistic",
exposure_metrics = c("AUC","CMAX"),
exposure_distribution ="boxplots")
# Example 3
ggresponseexpdist(data = effICGI|>
dplyr::filter(Endpoint=="ICGI"),
model_type = "linear",
exposure_metrics = c("AUC","WT"),
exposure_distribution ="lineranges")
# Example 4
ggresponseexpdist(data = effICGI |>
dplyr::filter(Endpoint=="ICGI"),
response = "response",
endpoint = "Endpoint",
model_type = "loess",
DOSE = "DOSE",
color_fill = "DOSE",
exposure_metrics = c("AUC","CMAX"),
exposure_metric_split = c("tertile"),
exposure_metric_soc_value = -99,
exposure_metric_plac_value = 0,
exposure_distribution ="distributions",
exposure_distribution_Ntotal="right",
N_byexptile_ypos = "top",
mean_obs_bydose = TRUE,
mean_obs_bydose_text_size = 0,
mean_obs_byexptile_text_size = 5,
N_bydose_ypos = "none",
N_text_sep = "/",
binlimits_color = "#475c6b",
binlimits_ypos = 0.2,
points_alpha= 0.1)
# Example 5
effICGI <- logistic_data |>
dplyr::filter(!is.na(ICGI))|>
dplyr::filter(!is.na(AUC))
effICGI$DOSE <- factor(effICGI$DOSE,
levels=c("0", "600", "1200","1800","2400"),
labels=c("Placebo", "600 mg", "1200 mg","1800 mg","2400 mg"))
effICGI$STUDY <- factor(effICGI$STUDY)
effICGI$ICGI2 <- ifelse(effICGI$ICGI7 < 4,1,0)
effICGI$ICGI3 <- ifelse(effICGI$ICGI7 < 5,1,0)
effICGI <- tidyr::gather(effICGI,Endpoint,response,ICGI,ICGI2,ICGI3)
effICGI$endpointcol2 <- effICGI$Endpoint
effICGI$endpointcol3 <- effICGI$Endpoint
ggresponseexpdist(data = effICGI,
points_show = FALSE,
exposure_metrics = c("AUC"),
exposure_distribution ="lineranges",
color_fill = "endpointcol2",
model_type = "logistic",
fit_by_color_fill = TRUE,
mean_obs_byexptile_text_size = 0,
mean_obs_byexptile_group="endpointcol3",
facet_formula = Endpoint~expname,
N_byexptile_ypos = "none",
binlimits_text_size = 0
)+
ggplot2::facet_grid(expname~Endpoint,margin="Endpoint")
# Example 6 retrun a list and customize
plist <- ggresponseexpdist(data = effICGI |>
dplyr::filter(Endpoint=="ICGI"),
model_type = "logistic",
mean_obs_byexptile = TRUE,
N_byexptile_ypos = "none",
mean_obs_byexptile_text_size = 4,
binlimits_ypos = -Inf,
exposure_metric_split = "tertile",
exposure_metrics = c("AUC"),
return_list = TRUE)
byexptileinformation <- plist[[7]]
plotwihoutlabels <- plist[[9]]
#construct text label
byexptileinformation <- byexptileinformation %>%
dplyr::group_by(exptile,expname)%>%
dplyr::mutate(meanbin = mean(c(minexp,maxexp))) %>%
dplyr::mutate(label = ifelse(exptile!="Placebo",
paste0(exptile,"\n","[",round(minexp,0),"-",round(maxexp,0),"]",
"\n",N,"\n",Ntot),
paste0(exptile,"\n","",
"\n",N,"\n",Ntot)),
x_pos = ifelse(exptile=="Placebo",-25,meanbin )
)
plotwihoutlabels +
geom_text(data=byexptileinformation,size = 3,
aes(x=x_pos ,label=label,y = 0.5),
inherit.aes = FALSE,
vjust= 1, hjust = 0.5)+
geom_text(data=data.frame(
label="exposure ntile\n[min-max]\nN responders\nN Total"),size = 3,
x=Inf,y = 0.5,
aes(label=label),inherit.aes = FALSE,
vjust= 1, hjust = 1)+
facet_wrap(~expname,ncol=2,scales = "free_x")
}
Run the code above in your browser using DataLab