⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 redundance.m

📁 分类信息指数是基于信噪比的计算变量所含分类信息的算法
💻 M
字号:
%==========================================================================
%
% 函数名:redundance
% 函数介绍:进行两两冗余分析。
%          对基因进行两两相关性分析。相关性强的一对基因中分类信息指数小的被去掉,大的被保留。
%          相关性弱的基因和上行保留下的基因的集合就是特征基因。
%          运行该函数需要设定相关系数阈值。
% 输入参数: data是备选特征基因的归一化表达量。
%           d是备选特征基因的分类信息指数。
%           order是备选特征基因的顺序号。
%           original_data是是最初的基因表达谱数据。首行是样本标记行。
%           gene_number是原始基因表达谱中总的基因个数。
% 输出参数:feature_gene是特征基因的原始表达量。
%          feature_order是特征基因的顺序号。
%
%=========================================================================
function [ feature_gene, feature_order ] = redundance( data, d, order, original_data, gene_number)
                                           
%计算相关系数矩阵r 
r = abs(  corrcoef ( transpose ( data ) )  );

corre_threshold = input ('请输入相关系数阈值:');

[row, column ] = size ( data );
%先得到有序基因集合f。由大到小排列。
[ a, index] = sort ( d, 'descend');
f = data ( index, :);
order_temp = order ( index );

fset = f (1, :);%第一个基因的表达量。
orderset = order_temp ( 1 );
p = 1;        %标志fset的基因个数。
for i = 2 : row
    g (i, :) = f (i, :);
    corr = 0;
    for j = 1 : p
        g (j, :) = fset (j, :);
        if r (i, j) > corre_threshold
            corr = 1;
        end
        if corr == 0
            p = p + 1;
            fset ( p, : ) = g(i, :);
            orderset ( p ) = i;
        end
        p = p - 1;
    end
    p = p + 1;
end

feature_order = orderset;
%输出特征基因的原始表达量。
gene_data = original_data ( 2 : gene_number + 1 , :);
[ m , n ] = size ( feature_order );
for i = 1 : n
    feature_gene( i , :) = gene_data ( feature_order ( i ) , : );
end

% end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -