Running the Same code for Multiple Files in a Folder
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
CMatlabWold
el 1 de Jul. de 2020
Comentada: CMatlabWold
el 2 de Jul. de 2020
Hi,
tt10001 = readtable('10001.xlsx');
dsa = tt10001;
modelspec = 'Street ~ Catch*BackUp*PRCP - Catch:BackUp:Break:Manhole:PRCP';
mdl10001 = fitglm(dsa,modelspec,'Distribution','poisson')
I have multiple excel files (almost 200), such as "10001.xlsx" in a folder. The spreadsheets are of various zip codes, such as "10002.xlsx", "10003.xlsx"...
How can I run this code for every file in the folder?
And have the results "mdl10001.CoefficientCovariance" of each file exported to its own Excel spreadsheet, as in xlswrite?
Thanks. I'd very much appreciate any help with this.
0 comentarios
Respuesta aceptada
Walter Roberson
el 1 de Jul. de 2020
indir = '.'; %path to input directory
outdir = 'results'; %path to where to put the results
if ~exist(outdir, 'dir'); mkdir(outdir); end
dinfo = dir(fullfile(indir, '*.xlsx'));
filenames =
nfiles = length(filenames);
for K = 1 : nfiles
thisfile = filenames{K};
infile = fullfile(indir, thisfile);
outfile = fullfile(outdir, thisfile);
tt10001 = readtable(infile);
dsa = tt10001;
modelspec = 'Street ~ Catch*BackUp*PRCP - Catch:BackUp:Break:Manhole:PRCP';
mdl10001 = fitglm(dsa, modelspec, 'Distribution', 'poisson');
outdata = mdl10001.CoefficientCovariance;
writematrix(outdata, outfile); %needs R2019b or later
end
If you are using earlier than R2019b then the last few lines would be
outdata = mdl10001(:,'CoefficientCovariance'); %the sub-table!
writetable(outdata, outfile);
6 comentarios
Walter Roberson
el 1 de Jul. de 2020
10004.xlsx fails because it does not contain a column for "Break"
Más respuestas (0)
Ver también
Categorías
Más información sobre Spreadsheets en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!