No BSD License  

Highlights from
Ordinal Data Modeling

image thumbnail
from Ordinal Data Modeling by Valen Johnson
Companion Software

bf=c_table(y,a)
function bf=c_table(y,a)
%
% C_TABLE Bayes factor for testing independence in a contingency table.
%	BF=C_TABLE(Y,A) returns the Bayes factor BF against independence in a 
%	2-way contingency table using uniform priors, where Y is a matrix
%	containing the 2-way table, and A is a matrix of prior parameters
%	of the Dirichlet (A=ones(size(ymat)) is the default.

if nargin==1,a=1+0*y;end

ac=sum(a); ar=sum(a');
yc=sum(y); yr=sum(y'); 
[I,J]=size(y); oc=1+0*yc; or=1+0*yr;

lbf=ldirich(y(:)+a(:))+ldirich(ar-(J-1)*or)+ldirich(ac-(I-1)*oc)-...
    ldirich(a(:))-ldirich(yr+ar-(J-1)*or)-ldirich(yc+ac-(I-1)*oc);

bf=exp(lbf);

function val=ldirich(a)
val=sum(gammaln(a))-gammaln(sum(a));

Contact us at files@mathworks.com