我在Stata中有一个纵向数据集,并希望在变量中创建每个组的单独tsline
图表。所以,假设我有时间从1980年到2010年运行,类别1,2,...,17;我想创建十七个单独的tsline
图表,绘制从1980年到2010年的变量X的相应值,并使用类别标签作为标题。
我写了一个创建tsline graphs
的短循环,但我无法弄清楚如何添加正确的标题。标题应该是分类变量值的标签。也就是说,如果我为ID == 1
绘制X,我希望标题为ID == 1
的标签,如果可能的话。理想情况下,我希望为循环中的每个local
存储一个特定的值标签`i'
。这样,我也可以在导出图形时将它也用作文件名的一部分,例如给出。
我的代码:
tsset ID Date, daily
forvalues i = 1/17 {
tsline X if ID==`i', title(??)
}
答案 0 :(得分:5)
使用扩展宏功能。这是一个例子:
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'")
}
origin
是与变量foreign
关联的值标签的名称。您可以使用label list
列出所有值标签的名称和内容。
第local t : label origin `i'
行检索宏i
中值的标签,并将其分配给宏t
。然后,您可以根据需要使用宏t
。
请参阅help label
,help macro
和help extended_fcn
。