Perf error in performance evaluation (Error rate un AUROC check)

Hi everyone,

I used the method presented in the “DIABLO TCGA Case Study” (DIABLO TCGA Case Study | mixOmics )

I have 3 data set (lipid, microbe, Metabolite) and 2 groups (Controle vs Irradiated)

My model is:

final.mbspls.model = block.spls(X, indY = 1, ncomp = 3, design = design)

When I run perf() or AUROC, I get the same error:

perf.diablo = perf(final.mbspls.model, validation = ‘Mfold’,
M = 10, nrepeat = 10,
dist = ‘centroids.dist’)

===> Error in UseMethod(“perf”) :
no applicable method for ‘perf’ applied to an object of class “c(‘block.spls’, ‘sgcca’)”

auc.splsda = auroc(final.mbspls.model, roc.block = “lipid”,
roc.comp = 2, print = FALSE)
===> Error in UseMethod(“auroc”) :
no applicable method for ‘auroc’ applied to an object of class “c(‘block.spls’, ‘sgcca’)”

May it be a Bug?

Geraldine

hi @Geraldinevit

block.spls is an unsupervised method, so you cannot calculate the classification performance or the AUC (as it performs a multivariate regression, not classification). You should use instead (if that is relevant for you, seems like it is since you have 2 groups) block.splsda. See examples on our website DIABLO TCGA Case Study | mixOmics.

Kim-Anh

Hi Dr Le Cao,

Thank you so much for you answer. I realize that I mixed to script together because they both fited my objectives, but I did’nt catch that there were actually 2 different type of analysis. I clearly missed the “da” in splsda!