Events 要复制列并在下面插入n次吗

Events 要复制列并在下面插入n次吗,events,stata,Events,Stata,我有一个如下所示的数据集: Date | a (1) | a (2) | a (3) | b (1) | b (2) | b (3) | c (1) ... 不过,我最希望的是: Date | ID | 1 | 2 | 3 ID: a, b, c 因此,我必须将日期n(此处:3,即a、b、c)复制并粘贴到彼此下方,以覆盖所有ID。有没有比重命名和复制粘贴更快的方法 这不是很清楚。如果您有一个Stata数据集,您应该能够显示真实的变量名和令牌数据示例 这可能有助于: clear input

我有一个如下所示的数据集:

Date | a (1) | a (2) | a (3) | b (1) | b (2) | b (3) | c (1) ...
不过,我最希望的是:

Date | ID | 1 | 2 | 3
ID: a, b, c

因此,我必须将日期n(此处:3,即a、b、c)复制并粘贴到彼此下方,以覆盖所有ID。有没有比重命名和复制粘贴更快的方法

这不是很清楚。如果您有一个Stata数据集,您应该能够显示真实的变量名和令牌数据示例

这可能有助于:

clear 
input Date a1 a2 a3 b1 b2 b3 c1 c2 c3 
2016 1 2 3 4 5 6 7 8 9 
end 

rename a* ya* 
rename b* yb* 
rename c* yc* 
reshape long ya yb yc, i(Date) j(which) 
reshape long y, i(Date which) j(Id) string
reshape wide y, i(Date Id) j(which)

l

     +--------------------------+
     | Date   Id   y1   y2   y3 |
     |--------------------------|
  1. | 2016    a    1    2    3 |
  2. | 2016    b    4    5    6 |
  3. | 2016    c    7    8    9 |
     +--------------------------+
编辑:

这更容易:

clear 
input Date a1 a2 a3 b1 b2 b3 c1 c2 c3 
2016 1 2 3 4 5 6 7 8 9 
end 

rename *1 y1* 
rename *2 y2* 
rename *3 y3* 
reshape long y1 y2 y3, i(Date) j(Id) string 

list 

     +--------------------------+
     | Date   Id   y1   y2   y3 |
     |--------------------------|
  1. | 2016    a    1    2    3 |
  2. | 2016    b    4    5    6 |
  3. | 2016    c    7    8    9 |
     +--------------------------+

如果这不能回答问题,您可能需要返回一个更具体的示例。(不要抽象;展示真实的细节。)

感谢您的编辑和即时回复!我将检查这是否解决了问题,并将返回给您:)