У меня есть ситуация, когда мне нужно использовать значения в двух переменных mpg и сделать, чтобы создать график. Переменная mpg - это числовая переменная и . - это строковая переменная с пробелами. Следующий код может использовать значения в mpg, чтобы создать график, когда я игнорирую значения в переменной , составляющей. Однако я хотел бы иметь соответствующее строковое значение из переменной make, которые появляются в графическом подзаголовке. По какой-то причине этот код дает ошибку слишком много «)» или «]» после цикла по несколько значений в переменной миль на галлонStata: Levelsof со строковой переменной
sysuse auto.dta, clear
gsort - trunk
keep in 1/5
levelsof mpg, local(levels)
global xlist `levels'
levelsof make, local(levelsdes)
global ylist `levelsdes'
sysuse auto.dta, clear
gen bar=1
local k 1 2 3 4 5
local n : word count $xlist
forvalues x =1/`n' {
local i : word `x' of $xlist
local z : word `x' of `k'
local j : word `x' of $ylist
egen a_`i'= total(bar) if mpg == `i'
twoway (bar a_`i' mpg), subtitle(`j') title(Trends in Error `i')
graph export "`z'.png", as(png) replace
}
Добавить отображение "- \' i '- \ 'j' - \' z '- "в ваш цикл, и вы увидите начало своей проблемы. –