v4: modifying data handling
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@626 ac1d8469-bf42-47a9-8791-bf33cf982152time-shift
parent
fc0ae0aefa
commit
158b4b13d2
|
@ -55,6 +55,8 @@ options_ = set_default_option(options_,'kalman_algo',1);
|
|||
options_ = set_default_option(options_,'kalman_tol',10^(-12));
|
||||
options_ = set_default_option(options_,'posterior_mode_estimation',1);
|
||||
options_ = set_default_option(options_,'MaxNumberOfBytes',1e6);
|
||||
options_ = set_default_option(options_,'xls_sheet','');
|
||||
options_ = set_default_option(options_,'xls_range','');
|
||||
|
||||
%% Add something to the parser ++>
|
||||
M_.dname = M_.fname; % The user should be able to choose another name
|
||||
|
@ -175,17 +177,11 @@ k = find(isnan(bayestopt_.jscale));
|
|||
bayestopt_.jscale(k) = options_.mh_jscale;
|
||||
|
||||
%% Read and demean data
|
||||
if exist(options_.datafile)
|
||||
instr = options_.datafile;
|
||||
else
|
||||
instr = ['load ' options_.datafile];
|
||||
end
|
||||
eval(instr);
|
||||
rawdata = [];
|
||||
rawdata = read_variables(options_.datafile,options_.varobs,[],options_.xls_sheet,options_.xls_range);
|
||||
|
||||
k = [];
|
||||
k1 = [];
|
||||
for i=1:n_varobs
|
||||
rawdata = [rawdata eval(deblank(options_.varobs(i,:)))];
|
||||
k = [k strmatch(deblank(options_.varobs(i,:)),M_.endo_names(dr.order_var,:), ...
|
||||
'exact')];
|
||||
k1 = [k1 strmatch(deblank(options_.varobs(i,:)),M_.endo_names, 'exact')];
|
||||
|
|
Binary file not shown.
|
@ -0,0 +1,41 @@
|
|||
% Copyright (C) 2005 Michel Juillard
|
||||
%
|
||||
% all local variables have complicated names in order to avoid name
|
||||
% conflicts with possible user variable names
|
||||
|
||||
function dyn_data_01=read_variables(file_name_01,var_names_01,dyn_data_01,xls_sheet,xls_range)
|
||||
|
||||
dyn_size_01 = size(dyn_data_01,1);
|
||||
var_size_01 = size(var_names_01,1);
|
||||
if exist(file_name_01)
|
||||
dyn_instr_01 = file_name_01;
|
||||
eval(dyn_instr_01);
|
||||
for dyn_i_01=1:var_size_01
|
||||
dyn_tmp_01 = eval(var_names_01(dyn_i_01,:));
|
||||
if length(dyn_tmp_01) > dyn_size_01 & dyn_size_01 > 0
|
||||
error('data size is too large')
|
||||
end
|
||||
dyn_data_01(:,dyn_i_01) = dyn_tmp_01;
|
||||
end
|
||||
elseif exist([file_name_01 '.mat'])
|
||||
s = load(file_name_01);
|
||||
for dyn_i_01=1:var_size_01
|
||||
dyn_tmp_01 = s.(var_names_01(dyn_i_01,:));
|
||||
if length(dyn_tmp_01) > dyn_size_01 & dyn_size_01 > 0
|
||||
error('data size is too large')
|
||||
end
|
||||
dyn_data_01(:,dyn_i_01) = dyn_tmp_01;
|
||||
end
|
||||
elseif exist([file_name_01 '.xls'])
|
||||
[num,txt,raw] = xlsread(file_name_01,xls_sheet,xls_range);
|
||||
for dyn_i_01=1:var_size_01
|
||||
iv = strmatch(var_names_01(dyn_i_01,:),raw(1,:),'exact');
|
||||
dyn_tmp_01 = [raw{2:end,iv}]';
|
||||
if length(dyn_tmp_01) > dyn_size_01 & dyn_size_01 > 0
|
||||
error('data size is too large')
|
||||
end
|
||||
dyn_data_01(:,dyn_i_01) = dyn_tmp_01;
|
||||
end
|
||||
|
||||
end
|
||||
|
Loading…
Reference in New Issue