📄 cov_into_design.m
字号:
function design=cov_into_design(covariates_matrix,cov_nodes,lin_pred_struct_cov,design,evidence_nodes,partial_evidence_nodes,terminal_merged_nodes,hid_nodes,gausskwadnodes,equiv_class)
N=size(covariates_matrix,1);
for i=1:size(cov_nodes,1)
eclass=cov_nodes{i,1};
s=size(design{eclass});
node_nr=find(equiv_class==eclass,1);
if mysubset(node_nr, evidence_nodes.nodenrs)
error('evidence nodes not yet incorporated, treat them as partial evidence nodes');
elseif mysubset(node_nr, partial_evidence_nodes.nodenrs)
termnr=find(partial_evidence_nodes.nodenrs==node_nr);
ns=partial_evidence_nodes.nodesizes(termnr)-1;
elseif mysubset(node_nr, hid_nodes.nodenrs)
termnr=find(hid_nodes.nodenrs==node_nr);
ns= hid_nodes.nodesizes(termnr)-1;
elseif mysubset(node_nr, gausskwadnodes.nodenrs)
termnr=find(gausskwadnodes.nodenrs==node_nr);
ns = gausskwadnodes.nodesizes(termnr)-1;
else
termnr=find(terminal_merged_nodes.nodenrs==node_nr);
ns=terminal_merged_nodes.respcat{termnr(1)}-1;
end
data=covariates_matrix(:,cov_nodes{i,2});
des=repmat(design{eclass},[1 1 N]);
if(lin_pred_struct_cov==0)
dr=repmat(data,[1 1 s(1)]);
dr=permute(dr,[ 3 2 1]);
elseif (lin_pred_struct_cov==1)
dr=repmat(data,[1 ns s(1) ]);
dr=permute(dr,[ 3 2 1]);
dr=dr.*repmat(kron(eye(ns),ones(1,size(data,2))),[s(1)/ns 1 N]);
else
dr=repmat(data,[1 s(1) s(1)]);
dr=permute(dr,[ 3 2 1]);
dr=dr.*repmat(kron(eye(s(1)),ones(1,size(data,2))),[1 1 N]);
end
design{eclass}=cat(2,des,dr);
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -