肯德尔和谐系数/评分者信度
声明三点:
1、顺序数据和等级数据问题
在现实中,提供的数据并不只是所有的都是等级数据,有时候我们需要讲顺序数据转换为等级数据,本人编了一个小函数,可以解决问题,具体如下:
function [x]=order2grade(a)
[n k]=size(a);%判断a 矩阵的行列数
x=zeros(n,k);%生成一个零矩阵,其目的是为了为等级排列做一个框架
for i=1:k;
[b,c,d]=unique(a(:,i));%对数据进行等级排列
x(:,i)=d;%将排列等级数据填充到等级排列框架中
end
2、肯德尔W 系数函数:
function [w]=kandallw(x)
[n k]=size(x);%判断X 矩阵的行列数
Ri=0;
Ri2=0;
for i=1:n
x1=x(i,:);
Ri=Ri+sum(x1);%计算Ri 和
Ri2=Ri2+(sum(x1))^2;%计算Ri 平方和
end
w=(Ri2-(Ri^2/n))/((1/12)*k^2*(n^3-n));
3、总的命令编写:
clear all
a=input('请选择数据: ');
[x]=order2grade(a);
[w]=kandallw(x);
diary('H:\data file\MATLAB\数据运行结果\肯德和谐系数.doc');
diary on;
disp(['肯德尔和谐系数为',num2str(w)])
diary off;
至此,命令编写完毕,请批评指正!
肯德尔和谐系数/评分者信度
声明三点:
1、顺序数据和等级数据问题
在现实中,提供的数据并不只是所有的都是等级数据,有时候我们需要讲顺序数据转换为等级数据,本人编了一个小函数,可以解决问题,具体如下:
function [x]=order2grade(a)
[n k]=size(a);%判断a 矩阵的行列数
x=zeros(n,k);%生成一个零矩阵,其目的是为了为等级排列做一个框架
for i=1:k;
[b,c,d]=unique(a(:,i));%对数据进行等级排列
x(:,i)=d;%将排列等级数据填充到等级排列框架中
end
2、肯德尔W 系数函数:
function [w]=kandallw(x)
[n k]=size(x);%判断X 矩阵的行列数
Ri=0;
Ri2=0;
for i=1:n
x1=x(i,:);
Ri=Ri+sum(x1);%计算Ri 和
Ri2=Ri2+(sum(x1))^2;%计算Ri 平方和
end
w=(Ri2-(Ri^2/n))/((1/12)*k^2*(n^3-n));
3、总的命令编写:
clear all
a=input('请选择数据: ');
[x]=order2grade(a);
[w]=kandallw(x);
diary('H:\data file\MATLAB\数据运行结果\肯德和谐系数.doc');
diary on;
disp(['肯德尔和谐系数为',num2str(w)])
diary off;
至此,命令编写完毕,请批评指正!