📄 redundance.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 + -