Why can't I use mapcaplot?

1 visualizzazione (ultimi 30 giorni)
Ruth Pikovsky
Ruth Pikovsky il 9 Set 2021
Commentato: Ruth Pikovsky il 10 Set 2021
Hello,
I'm trying to preform PCA analysis for a set of values that I get from the attached excel.
I need to preform the analysis on all 40 variables.
clc
clear all
close all
x=readtable('PCA table.xlsx');
x=table2array(x);
mapcaplot(x)
When I try to use mapcaplot I get the following error:
Index in position 2 exceeds array bounds (must not exceed 1).
Error in mapcaplot>localUpdateBrushPlots (line 201)
ydata = data(:,INDEX_DIM2);
Error in mapcaplot>localInit (line 178)
localUpdateBrushPlots(fig);
Error in mapcaplot (line 65)
localInit(fig,varargin{:});
Error in Untitled (line 7)
mapcaplot(x)
I would appreciate some help. I've never tried to do PCA before and I'm not sure what exactly the function needs as input.
Thank you,
Ruth
  1 Commento
Star Strider
Star Strider il 9 Set 2021
If you use the rmmissing funciton on ‘x’, only two rows of valid data remain.

Accedi per commentare.

Risposta accettata

Adam Danz
Adam Danz il 9 Set 2021
See the documentation.
The data input should be a numeric array or a DataMatrix object. Yours is a table.
Also see table2array.
  5 Commenti
Adam Danz
Adam Danz il 9 Set 2021
That will likely affect the pca results, though. Try interpolation if that makes sense for the data.
Ruth Pikovsky
Ruth Pikovsky il 10 Set 2021
Yeah that's also a good idea. Thank you.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Dimensionality Reduction and Feature Extraction in Help Center e File Exchange

Tag

Prodotti


Release

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by