Kruskal Wallace Test on Column
3 ビュー (過去 30 日間)
古いコメントを表示
Hi,
I have three seperate tables.
There is one column in each table I want to compare - temperature
The data are not normally distributed.
So, I can use a Kruskal Wallace test to compare the means of the three columns
My problem: the test seems to work on 1 array only (x) - but I have three
How should I write the code to conduct the test?
I tried concatenating the tables but they each have a different number of rows - so it is not working.
Advice welcome.
0 件のコメント
回答 (1 件)
Adam Danz
2019 年 12 月 15 日
編集済み: Adam Danz
2019 年 12 月 15 日
The p = kruskalwallis(x) test works on columns of x. If all of your tables have the same number of rows, you just have to extract the values from each table into a matrix. If the tables only have 1 variable, as you described, it's as easy as,
T1 = table(rand(20,1));
T2 = table(rand(20,1)+1);
T3 = table(rand(20,1)+.5);
p = kruskalwallis([T1{:,:},T2{:,:},T3{:,:}])
% or
p = kruskalwallis([T1.Var1,T2.Var1,T3.Var1])
If the tables do not have equal rows, you must concatenate them into a single column and use a grouping variable p = kruskalwallis(x,group)
x = [T1.Va1;T2.Var1;T3.Var1];
group = [1 + zeros(size(T1.Var1)); 2 + zeros(size(T2.Var1)); 3 + zeros(size(T3.Var1))];
p = kruskalwallis(x,group)
2 件のコメント
参考
カテゴリ
Help Center および File Exchange で Hypothesis Tests についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!