alt*_*abq 0 for-loop graph stata
我在Stata中有一个纵向数据集,并希望tsline在变量内创建每个组的单独图形.所以,假设我有时间从1980年到2010年运行,类别1,2,...,17; 我想创建十七个单独的tsline图形,绘制从1980年到2010年的变量X的相应值,并使用类别标签作为标题.
我写了一个创建的短循环tsline graphs,但我无法弄清楚如何添加正确的标题.标题应该是分类变量值的标签.也就是说,如果我绘制X ID == 1,我希望标题是标签ID == 1,如果可能的话.理想情况下,我想一个特定的值标签存储为local每个`i'循环中.这样我也可以在导出图形时将它也用作文件名的一部分,例如给出.
我的代码:
tsset ID Date, daily
forvalues i = 1/17 {
tsline X if ID==`i', title(??)
}
Run Code Online (Sandbox Code Playgroud)
使用扩展的宏功能.这是一个例子:
clear all
set more off
sysuse auto
forvalues i = 0/1 {
local t : label origin `i'
display "`t'"
twoway scatter mpg weight if foreign == `i', title("`t'")
}
Run Code Online (Sandbox Code Playgroud)
origin是与变量关联的值标签的名称foreign.您可以使用列出所有值标签的名称和内容label list.
该行local t : label origin `i'检索宏中的值的标签i,并将其分配给宏t.然后你可以t根据需要使用宏.
看help label,help macro和help extended_fcn.