首页 文章

Stata:使用更改 Headers ,纵向数据集循环创建图形

提问于
浏览
0

我在Stata中有一个纵向数据集,并且想要在变量中创建每个组的单独的 tsline 图 . 所以,假设我有时间从1980年到2010年运行,类别1,2,...,17;我想创建十七个单独的 tsline 图表,绘制从1980年到2010年的变量X的相应值,并使用类别标签作为 Headers .

我写了一个创建 tsline graphs 的短循环,但我无法弄清楚如何添加正确的 Headers . Headers 应该是分类变量值的标签 . 也就是说,如果我将X绘制为 ID == 1 ,我希望 Headers 为 ID == 1 的标签,如果可能的话 . 理想情况下,我想为循环中的每个 ``i'存储一个特定的值标签local` . 这样我也可以在导出图形时将它也用作文件名的一部分,例如给出 .

我的代码:

tsset ID Date, daily

forvalues i = 1/17 {
tsline X if ID==`i', title(??)
}

1 回答

  • 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 origini'行检索宏i中值的标签,并将其分配给宏t. 然后你可以根据需要使用宏t` .

    help labelhelp macrohelp extended_fcn .

相关问题