【发布时间】:2019-03-28 19:39:54
【问题描述】:
我有以下数据结构:
id id_name date observation
1 aa 2000 1
1 aa 2001 2
1 aa 2002 1
2 dd 2000 1.5
2 dd 2001 0
2 dd 2002 1
我使用下面的代码生成了几个线图:
forvalue i = 1/300 {
graph twoway line observation date if id == `i', ///
name("graph_`i'") title("?")
}
我的问题是我不知道如何将每个id 的名称(包含在变量id_name 中)作为每个图形的标题。
我尝试使用本地宏来实现这一点,但在 Stata 中我无法使用 if 来定义它:
local name = id_name if id == `i'
我设法做到以下几点:
forvalue i = 1/300 {
sort id date
local title = id_name
graph twoway line observation date if id == `i', ///
name("graph_`i'") title("`title'")
drop if id == `i'
}
但是,这样做的问题是在迭代的每一步都消除了数据。
如果有人能给我一些建议来解决这个问题,我将非常感激。
【问题讨论】:
-
请注意,在 Stata 中没有局部变量,只有局部宏。这两个是不同的东西。
标签: plot graph stata stata-macros