mixOmicsTeam / mixOmics

Development repository for the Bioconductor package 'mixOmics '
http://mixomics.org/
159 stars 52 forks source link

Error in if (is.unsorted(roc$specificities)) { : missing value where TRUE/FALSE needed #255

Open shaman-narayanasamy opened 1 year ago

shaman-narayanasamy commented 1 year ago

Dear developer/maintainers,

I am attempting to run MINT plsda on my transcriptomics data. My data has ~25000 features (genes), 984 samples, derived from 12 datasets, representing three outcomes/classes. I am facing an error when I try to include AUC for my performance evaluation. Code here:

reprex::reprex()
mint.plsda.res.perf = mint.plsda(X = X, Y = Y, study = study, ncomp = 10) 

set.seed(2543) 

perf.mint.plsda <- 
  perf(mint.plsda.res.perf, 
       validation = "Mfold", 
       folds = 5,  
       nrepeat = 2,
       progressBar = FALSE, 
       auc = TRUE)

Error here:

Error in if (is.unsorted(roc$specificities)) { : 
missing value where TRUE/FALSE needed

When I choose not to use AUC, i.e. auc = FALSE, it works without any issue, which means that my data is fine, but somehow does not allow for AUC performance evaluation. May I know if there is something else I should check to debug.

Looking forward to your response.

Best regards, Shaman

Max-Bladen commented 1 year ago

I am unable to reproduce your issue at all - but my guess is that this is due to a rogue NA within roc$specificities. Why there is an NA there, I can't be sure. If you provide your email, I'll reach out to you and we can sort this out - I may need your data to resolve this issue

shaman-narayanasamy commented 1 year ago

Hi @Max-Bladen,

Apologies for the delayed response. I am happy to provide you with the data. My e-mail: shaman.narayanasamy@uni.lu

Cheers, Shaman