Matrices

4 views (last 30 days)
Alan
Alan on 30 Dec 2011
I want to perform a Principal Component Analysis (PCA) and it is need that matrix has the same number of rows and columns. However, I got a matrix (1142x2) being that first column is composed by number of molecules and second column, species from plants. So, sometimes I got more than one molecule for each plant . In that way, I need to put all species in the rows (173) and the molecules in the columns (712) and put a value (1) only in the correct position, e.g. The 5 speciehave the substances 171, 300, 530, 700, So I need to put the value 1 in (5, 171), (5,300), (5, 530), so on... In the end, I want to construct a matrix of (173x712) which it possesses only values where there is a substance Someone help me Thanks

Accepted Answer

Rick Rosson
Rick Rosson on 30 Dec 2011
Please try the following:
X = [ 5 171 ; 5 300 ; 5 530 ; 5 700 ];
M = 173;
N = 712;
Y = zeros(M,N);
idx = M*(X(:,2)-1) + X(:,1) ;
Y(idx) = 1;
sum(Y(:))
HTH.
Rick

More Answers (0)

Categories

Find more on Dimensionality Reduction and Feature Extraction in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!