📄 prt_panel.m
字号:
function prt_panel(result,vnames,fid)
% PURPOSE: Prints Panel models output
%----------------------------------------------------------------------------------------
% USAGE: prt_panel(result,vnames,fid)
% where:
% results = a structure returned by:
% ppooled,pfixed,prandom
% vnames = optional vector of variable names
% fid = (optional) file-id for printing to a file
% (defaults to the MATLAB command window)
%----------------------------------------------------------------------------------------
% NOTE: - constant term is added automatically to vnames list
% - you may use prt_panel(results,[],fid) to print
% output to a file with no vnames
%----------------------------------------------------------------------------------------
if nargin < 1; error('wrong # of arguments to prt_panel'); end;
if nargin > 3; error('wrong # of arguments to prt_panel'); end;
if ~isstruct(result);
error('prt_panel requires a panel model results structure');
end;
nflag = 0;
if nargin == 1; fid = 1; end;
if nargin == 2; nflag = 1; fid = 1; end;
if nargin == 3;
[vsize junk] = size(vnames); % user may supply a blank argument
if vsize > 0
nflag = 1;
end;
end;
% find nobs, nvar (used throughout all types of models)
nobs = result.nobs;
nvars = result.nvar;
cconst = result.crconst;
% set up variable names used in all panel models
% --------------------------------------------------------
% # no variable names supplied
% --------------------------------------------------------
if nflag == 0
Vname = [];
for i=1:nvars;
if i < nvars
Vname{i} = str2mat(['variable ',num2str(i)]);
else
Vname{i} = 'constant ';
end;
end;
end; % end of if nflag == 0
% --------------------------------------------------------
% user supplies variable names
% --------------------------------------------------------
if (nflag == 1)
Vname = [];
[namesize namewidth] = size(vnames);
if namesize ~= nvars + cconst
error('wrong # of vnames in prt_panel');
end;
for i=1:nvars;
if i < nvars
Vname{i} = vnames(i+1,:);
else
Vname{i} = 'constant ';
end;
end;
end; % end of if nflag == 1
% column headers used throughout
vstring = 'Variable';
bstring = 'Coefficient';
tstring = 't-statistic';
pstring = 't-probability';
istring = 'Individual';
cpstring = 'Components';
switch result.meth
case {'ppooled'} % <=================== Pooled-model
fprintf(fid,'\n ***** Pooled Model ***** \n');
if (nflag == 1)
fprintf(fid,'Dependent Variable = %16s \n',vnames(1,:));
else
fprintf(fid,'\n Dependent Variable %3d \n');
end;
fprintf(fid,'R-squared = %9.4f \n',result.rsqr);
fprintf(fid,'Rbar-squared = %9.4f \n',result.rbar);
fprintf(fid,'sige = %9.4f \n',result.sige);
fprintf(fid,'Time = %9.4f \n',result.time);
fprintf(fid,'Nobs, Nvars = %6d,%6d \n',nobs,nvars);
fprintf(fid,'******************************************************************\n');
% pull out results
bhat = result.beta;
tstat = result.tstat;
tprob = result.tprob;
tmp = [bhat tstat tprob];
% print out results
in.cnames = strvcat(bstring,tstring,pstring);
rnames = vstring;
for i=1:nvars
tmpn{i} = [Vname{i}];
rnames = strvcat(rnames,tmpn{i});
end;
in.rnames = rnames;
in.fmt = '%16.6f';
in.fid = fid;
mprint(tmp,in);
% ==================== end of case pooled
case {'pfixed'} % <=================== Fixed Effects-model
fprintf(fid,'\n ***** Fixed Effects Model ***** \n');
if (nflag == 1)
fprintf(fid,'Dependent Variable = %16s \n',vnames(1,:));
else
fprintf(fid,'\n Dependent Variable %3d \n');
end;
fprintf(fid,'R-squared = %9.4f \n',result.rsqr);
fprintf(fid,'Rbar-squared = %9.4f \n',result.rbar);
fprintf(fid,'sige = %9.4f \n',result.sige);
fprintf(fid,'Time = %9.4f \n',result.time);
fprintf(fid,'Nobs, Nvars = %6d,%6d \n',nobs,nvars);
fprintf(fid,'******************************************************************\n');
% pull out results
bhat = result.beta;
tstat = result.tstat;
tprob = result.tprob;
tmp = [bhat tstat tprob];
%Adjust variable names;
if nflag == 0 % # no variable names supplied
Vname = [];
for i=1:nvars;
Vname{i} = str2mat(['variable ',num2str(i)]);
end;
elseif (nflag == 1) % user supplies variable names
Vname = [];
[namesize namewidth] = size(vnames);
if namesize ~= nvars + cconst
error('wrong # of vnames in prt_panel');
end;
for i=1:nvars;
Vname{i} = vnames(i+1,:);
end;
end; % end of if nflag
% print out results
in.cnames = strvcat(bstring,tstring,pstring);
rnames = vstring;
for i=1:nvars
tmpn{i} = [Vname{i}];
rnames = strvcat(rnames,tmpn{i});
end;
in.rnames = rnames;
in.fmt = '%16.6f';
in.fid = fid;
mprint(tmp,in);
% individual intercepts
fprintf(fid,'******************************************************************\n');
% pull out results
indcomp = result.iintc;
idin = result.idy;
[ind junk] = size(idin);
tmpi = [idin indcomp];
% print out results
ini.cnames = strvcat(istring, cpstring);
ini.fmt = '%16.6f';
ini.fid = fid;
mprint(tmpi,ini);
% ==================== end of case fixed
case {'prandom'} % <=================== Random Effects-model
fprintf(fid,'\n ***** Random Effects Model ***** \n');
if (nflag == 1)
fprintf(fid,'Dependent Variable = %16s \n',vnames(1,:));
else
fprintf(fid,'\n Dependent Variable %3d \n');
end;
fprintf(fid,'R-squared = %9.4f \n',result.rsqr);
fprintf(fid,'Rbar-squared = %9.4f \n',result.rbar);
fprintf(fid,'sige = %9.4f \n',result.sige);
fprintf(fid,'sigu = %9.4f \n',result.sigu2);
fprintf(fid,'Time = %9.4f \n',result.time);
fprintf(fid,'Nobs, Nvars = %6d,%6d \n',nobs,nvars);
fprintf(fid,'******************************************************************\n');
% pull out results
bhat = result.beta;
tstat = result.tstat;
tprob = result.tprob;
tmp = [bhat tstat tprob];
% print out results
in.cnames = strvcat(bstring,tstring,pstring);
rnames = vstring;
for i=1:nvars
tmpn{i} = [Vname{i}];
rnames = strvcat(rnames,tmpn{i});
end;
in.rnames = rnames;
in.fmt = '%16.6f';
in.fid = fid;
mprint(tmp,in);
% individual intercepts
fprintf(fid,'******************************************************************\n');
% pull out results
indcomp = result.iintc;
idin = result.idy;
[ind junk] = size(idin);
tmpi = [idin indcomp];
% print out results
ini.cnames = strvcat(istring, cpstring);
ini.fmt = '%16.6f';
ini.fid = fid;
mprint(tmpi,ini);
% ==================== end of case Random
otherwise
error('results structure unknown to prt_panel');
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -