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 |
+--------------------------+
如果这不能回答问题,您可能需要返回一个更具体的示例。(不要抽象;展示真实的细节。)感谢您的编辑和即时回复!我将检查这是否解决了问题,并将返回给您:)