How do I run PCA on multiple cell arrays
4 ビュー (過去 30 日間)
古いコメントを表示
Hi,
I have a cell array (see attachment) where each cell contains an array with 21 columns (variables). Each cell represents a different participants and is of different length. I would like to run the PCA on each cell in the cell array and collect the outputs (coeff,score,latent,tsquared,explained,mu) for all participants.
The fucntion I want to use is the following with X being my cell array pre_data_1.
[coeff,score,latent,tsquared,explained,mu] = pca(X)
I am specifically interested in getting an "explained" that contains all the explained variables from each participant. In this variable each column should correspond to an explained variable from a cell/ participant.
I wonder if someone could help me with that?
0 件のコメント
採用された回答
Image Analyst
2022 年 4 月 13 日
Did you try something like
numCells = numel(X);
for k = 1 : numCells
% Extract contents of cell into array.
thisX = X{k};
% Do PCA and store results in more cell arrays.
[coeff{k},score{k},latent{k},tsquared{k},explained{k},mu{k}] = pca(thisX);
end
It's untested on your data. It's just off the top of my head.
5 件のコメント
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!