Stata 通过另一个变量以双向方式对面板重新排序,即按()图

Stata 通过另一个变量以双向方式对面板重新排序,即按()图,stata,Stata,假设我制作以下图表,显示9头猪的重量随时间的变化: webuse pig tw line weight week if inrange(id,1,9), by(id) subtitle(, nospan) 在保留原始标签的同时,是否可以通过另一个变量对面板重新排序?我可以想象定义另一个按正确方式排序的变量,然后用正确的id对其进行标记,但好奇是否有一种更简单的方式来实现这一点。我认为你是对的:你需要一个新的排序变量。当然,您可以根据任何选择标准订购。注意用于排序的变量上的关系,它总是可以通过

假设我制作以下图表,显示9头猪的重量随时间的变化:

webuse pig
tw line weight week if inrange(id,1,9), by(id) subtitle(, nospan)


在保留原始标签的同时,是否可以通过另一个变量对面板重新排序?我可以想象定义另一个按正确方式排序的变量,然后用正确的id对其进行标记,但好奇是否有一种更简单的方式来实现这一点。

我认为你是对的:你需要一个新的排序变量。当然,您可以根据任何选择标准订购。注意用于排序的变量上的关系,它总是可以通过引用原始标识符而断开。在这里,我们根据最终权重排序,默认情况下是最小的第一个。(对于第一个最大值,将
权重
变量取反。)

webuse清管器,清除

如果我期待着它的出版,请继续阅读!
webuse pig, clear 
keep if id <= 9 
bysort id (week) : gen last = weight[_N]
egen newid = group(last id)
bysort newid : gen toshow = strofreal(id) + " (" + strofreal(last, "%2.1f") + ")"
* search labmask           for download links 
labmask newid , values(toshow)
set scheme s1color 
line weight week, by(newid, note("")) sort xla(1/9)