ggPMXdevelopment / ggPMX

ggPMX R package
37 stars 12 forks source link

cannot create controler with monolix 2023 project #380

Open combefr1 opened 2 months ago

combefr1 commented 2 months ago

Describe the bug I revceived an error message when trying to load the monolix project 2023 with pmx_mlxtran function.

image

if using pmx() or pmx_mlx() I am receiving this message Error in if (sys %in% c("mlx", "mlx18")) { : argument is of length zero

you should be able to reproduce using the following in rstudio image

***

Initializations ====

***

rm(list=ls()) cat("Start: ",date(),"\n") sessionInfo() library("dplyr") library(tidyr) library(ggPMX) library(rmarkdown) library(ggplot2) # Plotting library(grid) # Plotting if(Sys.getenv("CLEARCASE_GPS_GMF_COMPILE") == "") {

in interactive non-GMF mode, we use the users private view

user <- Sys.getenv("USER") base <- paste("/view/", user, "_view/vob", sep="") } else { cat("RUNNING UNDER GMF!!!\n") base <- "/vob" }

files locations

# work.dir <- "CBYL719F1/mas/mas_1/model/pgm_001/MT_52760_EPIK_P2_ACOP_Poster" work.dir2 <- "CBYL719F1/mas/mas_1/model/pgm_001/MT84773_EPIK_P2_PopPKPD" progname <- "Task_01_final_model_GOF.R" prog.dir <- "scripts" monolix.dir <- "runs/popPK_SolarPHI_EPIK" monolix.file <- "Final_covmodel_base_expert.mlxtran" data.dir <- "data" data.file <- "SOLAR_PHI_EPIK_PK.csv" rmd.file <- "Task_01_Final_covmodel_base_expert_GOF.Rmd" rmd.file.pdf <- "Task_01_Final_covmodel_base_expert_GOF_pdf.Rmd" out.dir <- "outputs"

and outputs

output.GOF <- "Task_01_Final_covmodel_base_expert_GOF.html" output.GOF.pdf <- "Task_01_Final_covmodel_base_expert_GOF.pdf"

filepath.MLX <- file.path(base, work.dir2, monolix.dir, monolix.file))

***

controller creation for monolix =====

***

Automatic parsing of .mlxtran files:

ctr = pmx_mlxtran(filepath.MLX)

A2P2 commented 3 weeks ago

Hi @combefr1 , Thanks for providing a reproducible example. I think it's somehow related due to the fact that OBSERVATION ID in your data set is CHARACTER, not INTEGER. I'm able to run you example when I specify the endpoint myself ctr = pmx_mlxtran(filepath.MLX, endpoint = 'Concentration'). Could you check if you obtain the relevant plots afterwards? Alternatively I think you can change YTYPE to OBSERVATION ID in the Monolix data file import, but I haven't checked it.

mattfidler commented 3 weeks ago

@A2P2

You can easily convert a character ID to an integer in R with factor(ID). This may even show the IDs in the plot (if you are lucky 😄 )