VIP scores when there is only one response variable

Hello community,

I have a question to ask here. I have a data set with one response variable (a) and several explanatory variables (b, c, d, e, f,…etc.). To use the function pls in mixOmics R package I need at least two response variables. So, what I did was to duplicate the response variable to “fulfill” the condition, so now I have two response variables (a, a).
Then I assign the variables and so I can run the pls and vip functions as shown here:
X ← (b, c, d, e, f,…etc.).
Y ← (a, a)
run.pls ← pls(X, Y) ← vip(run.pls)

Since they are the same response variables, I expected that the vip values would be the same for both cases, but it turns out that the vip values were different.
My question is why are they different? shouldn’t they be the same?
Otherwise, if what I have done is incorrect, how should I proceed to use the function pls and vip for a single response variable.

Thank you in advance for your help!

plotLoadings() and the $loadings component of spls outputs will serve you better than vip().

Where did you gather that you needed two response variabes? You don’t. Our functions are capable of running a sPLS1 methodology as well as sPLS2:



X <- nutrimouse$gene
Y <- nutrimouse$lipid[,1]

res <- spls(X, Y)