How to output a for loop as a table with each iteration and result displayed
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have several tables called D2018, D2016,D2014...
For the example i will just use 2018 and 2019
I need a table with the mean of a variable ING for each year. Ive made a for loop:
list = ["2018", "2019"]
for i= list
file=strcat("D",i);
mean=varfun(@nanmean,eval(file),'InputVariables','ING')
year = str2double(i);
table(year,mean)
end
I dont know how to get each loop reasult in one table. I mean:
2018 mean2018
2019 mean2019
.
.
.
thanks
0 commentaires
Réponses (1)
Jorg Woehl
le 11 Mar 2021
Modifié(e) : Jorg Woehl
le 11 Mar 2021
Hi Jorge,
First preallocate your table (outside the loop) according to the number of years in your list:
T = table('Size', [numel(list),2],...
'VariableTypes', {'double','double'},...
'VariableNames', {'year','mean'});
Inside the loop, use the following command to fill the table:
T(i,:) = {year, mean};
This will result in something like this (using rand numbers for the mean):
T =
4×2 table
year mean
____ _______
2018 0.48976
2019 0.44559
2020 0.64631
2021 0.70936
0 commentaires
Voir également
Catégories
En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!