在Matlab / R中的许多列上进行t测试

时间:2013-01-14 14:38:39

标签: r matlab sas

是否有人知道如何在所有组合中的许多列(我有1139个变量)中在Matlab / R / SAS或Python / Java中运行配对ttest的示例或在循环中选择相应的列。

谢谢

1 个答案:

答案 0 :(得分:1)

MATLAB解决方案:

如果我理解正确,您只是想方设法在每次输入矩阵的两​​个不同列中输入ttest。您可以使用nchoosek获取所有可能的列对组合:

pairs = nchoosek(1:size(X, 2), 2);

现在,您可以使用不同的对调用ttest来迭代这些索引:

for idx = transpose(pairs)
    h = ttest(X(:, idx(1)), X(:, idx(2)));

    %// Do something with the result...
end