I'm trying to loop through the values of a macro whose values contain spaces. There would many uses for such a loop. My example tries to associate short variable names with longer descriptions.
[CODE]
local stats Coverage CI_width_mean CI_width_median CI_width_dif_mean CI_width_dif_median rel_bias
local longstats `" "Coverage" "Mean interval width" "Median interval width" "Mean change in interval width" "Median change in interval width" "Relative bias" "'
foreach stat in Coverage CI_width_mean CI_width_median CI_width_dif_mean CI_width_dif_median rel_bias {
local i=`i'+1
local longstat=word(`longstats',`i')
di "`i': `stat': `longstat'" }
[CODE]
The desired output is
The actual output is
What am I doing wrong?
[CODE]
local stats Coverage CI_width_mean CI_width_median CI_width_dif_mean CI_width_dif_median rel_bias
local longstats `" "Coverage" "Mean interval width" "Median interval width" "Mean change in interval width" "Median change in interval width" "Relative bias" "'
foreach stat in Coverage CI_width_mean CI_width_median CI_width_dif_mean CI_width_dif_median rel_bias {
local i=`i'+1
local longstat=word(`longstats',`i')
di "`i': `stat': `longstat'" }
[CODE]
The desired output is
1: Coverage: Coverage
2: CI_width_mean: Mean interval width
3: CI_width_median: Median interval width
/* etc. */
2: CI_width_mean: Mean interval width
3: CI_width_median: Median interval width
/* etc. */
1: Coverage: Coverage
2: CI_width_mean:
3: CI_width_median:
/* etc. */
2: CI_width_mean:
3: CI_width_median:
/* etc. */
Comment