How to get correlation for multiple columns

16 次查看(过去 30 天)
As Matlab newbie I'm trying to get correlation of the first column itself and all the others, but can't handle.
Error: You cannot subscript a table using linear indexing (one subscript) or multidimensional indexing (three or more subscripts). Use a row subscript and a variable subscript.
My code:
X = table(Tmin.P1,Tmin.P2,Tmin.H1,Tmin.H2,Tmin.Z1,Tmin.Z2,Tmin.S1)
for i=1, k=0
i=i+1;
k=k+1;
B(k,:)=corr(X(:,1),X(:,i));
end

采纳的回答

jonas
jonas 2018-11-11
编辑:jonas 2018-11-11
Why not just calculate the entire correlation matrix, and then extract the first row or col?
cm = corr(X)
c1n = cm(:,1)
If X is a table, then you need to write something like
cm = corr(X{:,:})
or
cm = corr(X.Variables)

更多回答(1 个)

Csongor Báthory
Csongor Báthory 2018-11-13
Thank you!
More easier that I thinked. Get to know the basics :)

Community Treasure Hunt

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

Start Hunting!

Translated by