Error in tune.splsda

Issue #88 resolved
Former user created an issue

I tried to run tune.splsda function on my data but after computation for each comp, I have the following error message :

Error in if ((pval[j] < (alpha))) opt = j : missing value where TRUE / FALSE needed

here is my code: tune.splsda.trans <- tune.splsda(t(intensities), type, ncomp = 2, validation = 'Mfold', folds = 5, progressBar = TRUE, dist = 'mahalanobis.dist', test.keepX = list.keepX, nrepeat = 5)

I've tried a little bit of debuggig and here are some results

$mat.error.rate $mat.error.rate$mahalanobis.dist nrep.1 nrep.2 nrep.3 nrep.4 nrep.5 5 0 0 0 0 0 10 0 0 0 0 0 15 0 0 0 0 0 20 0 0 0 0 0 25 0 0 0 0 0 30 0 0 0 0 0 35 0 0 0 0 0 40 0 0 0 0 0 45 0 0 0 0 0 50 0 0 0 0 0 55 0 0 0 0 0 60 0 0 0 0 0 65 0 0 0 0 0 70 0 0 0 0 0 75 0 0 0 0 0 80 0 0 0 0 0 85 0 0 0 0 0 90 0 0 0 0 0 95 0 0 0 0 0 100 0 0 0 0 0

comp.real only 0.

pvalue of t.test is NaN

I whish, you will find why there it does not work.

Comments (4)

  1. Kim-Anh Le Cao repo owner

    Hello and thanks for sharing your data, that is much appreciated.

    You will be happy to know that we had already resolved that bug (I just ran it on version 6.1.3) but we haven’t submitted to the CRAN yet (plan is early next week).

    Here is the link where you can download the new version as a .tar.gz in the meantime: http://mixomics.org/wp-content/uploads/2017/05/mixOmics_6.1.3.tar.gz

    I will also shortly update our bioRxiv manuscript, the Swave and R codes were already updated at this link: http://mixomics.org/presentations/publications/

    Keep in touch via our website / mailing-list for the new updates and thank you for using mixOmics.

    Regards, Kim-Anh -- Dr. Kim-Anh Lê Cao Senior Lecturer, Statistical Genomics NHMRC Career Development Fellow

    School of Mathematics and Statistics Centre for Systems Genomics Bld 184 The University of Melbourne | VIC 3010 T: +61 (0)3834 43971

    mixOmics: http://mixomics.org/

  2. AntoineBod

    Thank you very much for answering quickly.

    Everything works great, but can you explain me why it does not work the first time ? With the 6.1.2 version, it seems to work with a large nrepeat (=100) or a list.keepX that starts at 50 instead of 5. Is the problem is bound to my data ?

    Thank you in advance,

    Antoine

  3. Kim-Anh Le Cao repo owner

    Hi Antoine,

    I believe this comes from the t-tests we implemented in 6.1.1. The one sided t-test was included to choose the optimal number of components in the model when the error rates stops decreasing. It is possible that in your case, the error rate remained constant across a few keepX and that created the crash of the code. This is the only bug we fixed in 6.1.3 in that function.

    Update coming soon!

    Kim-Anh

  4. Log in to comment