Thanks for your answer.
I will explain with more detail the points you ask me.
First, here are the function parameters I have used:
Using DiscriMiner:
plsDA(X, Y, autosel = FALSE, comps = 3, cv = "LOO")
Using MixOmics:
plsda(X, Y, ncomp = 3, mode = "regression")
perf(plsda, validation = "LOO")
I do not know whether discriMiner scales variables, the documentation of the package is poor. I can only link the plsDA function for more info…
According to X and Y loadings, I have calculated Pearson correlation for each component:
Although correlations are almost 1 (I don’t understand why component 1 and 3 have inverse correlation), Y loading values differ a lot, maybe because of scaling, but it makes a huge difference when plotting X and Y loadings in a PCA.
Here I present Y loadings:
Classification error rate is difficult to compare between the two packages, as yours presents a complete table with overall and BER error rates with different distances, and discriMiner only outputs an error rate number:
With mixOmics:
$overall |
max.dist |
centroids.dist |
mahalanobis.dist |
comp 1 |
0.7446809 |
0.7234043 |
0.7234043 |
comp 2 |
0.4680851 |
0.5319149 |
0.4468085 |
comp 3 |
0.4468085 |
0.4893617 |
0.4680851 |
$BER |
max.dist |
centroids.dist |
mahalanobis.dist |
comp 1 |
0.8000000 |
0.7585470 |
0.7585470 |
comp 2 |
0.5185897 |
0.5365385 |
0.4514957 |
comp 3 |
0.4651709 |
0.4950855 |
0.4792735 |
With discriMiner:
error_rate = 0.1702128
Lastly, if R2 and Q2 are not available, is there any estimate indicating the model prediction accuracy and predictive relevance of my variable I could use?
Thanks a lot for your help.
Adrián López