For loop Stata:使用更改标题创建循环图,纵向数据集
我在Stata中有一个纵向数据集,希望在变量中为每个组创建单独的For loop Stata:使用更改标题创建循环图,纵向数据集,for-loop,graph,stata,For Loop,Graph,Stata,我在Stata中有一个纵向数据集,希望在变量中为每个组创建单独的tsline图。比如说,我有时间从1980年到2010年,第1,2,…,17类;我想创建17个独立的tsline图,绘制1980年至2010年变量X的各自值,并使用类别标签作为标题 我写了一个简短的循环来创建tsline图,但我不知道如何添加正确的标题。标题应该是分类变量值的标签。也就是说,如果我为ID==1绘制X,如果可能的话,我希望标题是ID==1的标签。理想情况下,我希望为循环中的每个`I'存储一个特定的值标签作为local。
tsline
图。比如说,我有时间从1980年到2010年,第1,2,…,17类;我想创建17个独立的tsline
图,绘制1980年至2010年变量X的各自值,并使用类别标签作为标题
我写了一个简短的循环来创建tsline图
,但我不知道如何添加正确的标题。标题应该是分类变量值的标签。也就是说,如果我为ID==1
绘制X,如果可能的话,我希望标题是ID==1
的标签。理想情况下,我希望为循环中的每个`I'
存储一个特定的值标签作为local
。这样,在导出图形时,我也可以将其用作文件名的一部分,示例如下
我的代码:
tsset ID Date, daily
forvalues i = 1/17 {
tsline X if ID==`i', title(??)
}
使用扩展宏函数。以下是一个例子:
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
关联的值标签的名称。您可以使用标签列表
列出所有值标签的名称和内容
行local t:label origin`i'
检索宏i
中值的标签,并将其分配给宏t
。然后,您可以根据需要使用宏t
请参见帮助标签
,帮助宏
和帮助扩展功能
使用扩展宏功能。以下是一个例子:
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
关联的值标签的名称。您可以使用标签列表
列出所有值标签的名称和内容
行local t:label origin`i'
检索宏i
中值的标签,并将其分配给宏t
。然后,您可以根据需要使用宏t
请参见
帮助标签
、帮助宏
和帮助扩展
注意,诸如本地t:label(foreign)`i'
之类的语法消除了查找值标签名称的需要。请注意,诸如本地t:label(foreign)`i'
之类的语法消除了查找值标签名称的需要。