置换检验代码, matlab codes for permutation tests

Matlab 排列组合代码

COMBNTNS  All possible combinations of a set of values

   c = COMBNTNS(choicevec,choose) returns all combinations of the values of the input choice vector.

 

PERMS  All possible permutations.
   PERMS(1:N), or PERMS(V) where V is a vector of length N, creates a  matrix with N! rows and N columns containing all possible  permutations of the N elements.

 

 

%=================================
% Author:
%         http://emanlee.cnblogs.com
% Date: 2011/6/28
% Function: 置换检验, matlab codes for permutation tests
%=================================
%
%                Control           Drug
% Expression     9 12 14 17        18 21 23 26
% Average        13                22
%
% The difference in averages is 22-13=9.
%=================================

a=[9  12  14  17   18  21  23  26]
Mcontrol = mean(a(1:4));
Mdrug = mean(a(5:8));
SumA = sum(a);
TS = Mdrug-Mcontrol;   %计算检验统计量
Rearranges = combntns(a,4);   %组合,重排,本例有70行
MeanControls = sum(Rearranges,2)/4;   %重排后Control组的样本均值,本例有70行
MeanDrugs = (SumA-sum(Rearranges,2))/4;   %重排后Drug组的样本均值,本例有70行
PermutationValues = MeanDrugs - MeanControls;   %置换值,本例有70行
[m,n]=size(PermutationValues);
hist(PermutationValues )    % 产生直方图

GreaterNumbers=0;    %计算超过检验统计量的置换值的个数
for i=1:m
    if PermutationValues(i,1)>=TS
        GreaterNumbers=GreaterNumbers+1;
    end
end;

PValue=GreaterNumbers/m; %计算P值

%=================================

 

 

 

 

 

 

 

 

 

 

 

 

%=================================

 

%=================================

posted @   emanlee  阅读(3599)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
历史上的今天:
2009-06-28 ScrewTurn Wiki Subdirectory support
点击右上角即可分享
微信分享提示