compute_suff_stats_ind.m

来自「The BNL toolbox is a set of Matlab funct」· M 代码 · 共 37 行

M
37
字号
function freq=compute_suff_stats_ind(post,varargin)
%compute suff stats for multinomial logist reg (freq of successes and total
%counts)
%separate for each individual (<->compute_suff_stats: summed over individuals)
if isempty(varargin) merged_node=0;
else merged_node=1;
    data=varargin{1};
    M=varargin{2};
    S_item=varargin{3};
    N=varargin{4};
end
if ~merged_node
    p=post{1};
    for j=2:length(post)
        p=p+post{j};
    end
    freq=p;
    
    
else
    nd=ndims(squeeze(post{1}));
    siz=size(post{1});
    siz=mysetdiff(siz,1);%remove dimensions of size 1
    shift=prod(siz(1:end-1));
    freq=zeros([shift M S_item N]);
    total=zeros([shift M S_item N]);
    for k=1:length(post)
        hid=reshape(post{k},shift,N);
        for j=1:M
            for s=0:S_item-1
                %y1=find(data((sum(nr_merged_nodes(1:obsnodenr(k)-1))+j,:)==s);
                freq(:,j,s+1,:)=freq(:,j,s+1,:)+reshape(repmat((data{k}(j,:)==s),[shift 1 1]).*hid,[shift 1 1 N]);
            end
        end
    end
    freq=reshape(freq,[siz(1:end-1) M S_item N]);
end

⌨️ 快捷键说明

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