Perf() function returns TridiagEigen: eigen decomposition failed

Hi everyone,

I’m a new user of the package and it is great. I have a problem while using the function perf(plsda_res, validation = ‘Mfold’, folds = 3, progressBar = FALSE, nrepeat = 10) in my dataset (a matrix of 47 rows x 489 cols). The output says:

Error in fun(A, k, nu, nv, opts, mattype = “matrix”) :
TridiagEigen: eigen decomposition failed

Anyone has an ideia about what could I do to solve the function?
Thanks in advance for any help.

hi @Alison,

Usually if an engine decomposition fails, it is because there is a problem with your data. The matrix might be singular during the cross validation process.

Check if you have zeros in columns, or rows that might appear consistently across CV folds.
Assuming that your plsda_res is running ok, then you may have to run validation = 'loocv' in the perf function.

Kim-Anh