how to find correlation between two columns, selecting rows on the basis of third column
3 次查看(过去 30 天)
显示 更早的评论
Hi
I have three column data say A, B and C and the number of rows be 1000. Column A is either empty or it has values from 1 to 3 randomly. B and C are two variables. Let's say values of B and C in each row is a case and value of A in the same row assigns the category to that case. So there are (1+3)four categories of cases in b and C. I need to find correlation between B and C with in each category.
Any idea how to do that?
0 个评论
采纳的回答
David Young
2012-3-28
I'm not sure what you mean by column A possibly being empty. Anyway, assuming that it contains the categories, you select the values in a particular category like this:
category = 2; % for example - could be any valid value
k = A == category; % find indexes of elements in this category
Bselected = B(k);
Cselected = C(k);
Now you can use your usual correlation function to find the correlation between Bselected and Cselected. You could put the whole lot in a loop to cover each category in turn.
2 个评论
更多回答(1 个)
Muhammad
2012-3-28
3 个评论
David Young
2012-3-28
See above. Is A a cell array?
The code in my answer above gives you exactly what you are asking for, when the category has a number.
If this still doesn't help, perhaps you can show the code that assigns values to the variables A, B and C. (They are variables in MATLAB, aren't they?)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!