how to execute a loop through all the variables in the workspace?
18 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Roberta
el 5 de Oct. de 2014
Comentada: Roberta
el 5 de Oct. de 2014
Hi all,
Here's my question:
I ha about 300 variables in my workspace, which are named accordingly to the contents (are macroeconomic time series for 20 countries)
for example:
- gdpUK (is the GDP of United Kingdom)
- gdpUS (is the GDP of United States)
- ... (and so on for 20 countries)
- reerUK (is the real effective exchange rate for the United Kingdom)
- reerUS (REER for US)and so on
I would like to standardise these series, i need something that do:
for i= first variable: last variable
i=(i-mean(i))/std(i)
end
how can I do this?
thank you in advance for your help! :)
0 comentarios
Respuesta aceptada
Guillaume
el 5 de Oct. de 2014
Editada: Guillaume
el 5 de Oct. de 2014
It would have been better to store your data in tables or even cell arrays or maps. Anyway:
for cv = who('gdp*')' %transpose to get a row cell array
eval(sprintf('mean%1$s = (%1$s - mean(%1$s)) / std(%1$s);', cv{1})); %1$s is replaced by var name, output is named meanvarname
end
%same with 'reer*'
Más respuestas (0)
Ver también
Categorías
Más información sobre Logical 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!