如何使用Stata或Excel创build时间variables?

我有一个我正在编辑的数据集,所以它可以用于时间序列回归,因为时间目前不是可用的格式。 现有数据的格式如下:

-------------------------------------------------- | id|size |2017price|2016price|2015price|2014price| ... ------------------------------------------------- | 1 | 3 | 50 | 80 | 21 | 56 | ... -------------------------------------------------- | 2 | 5 | 78 | 85 | 54 | 67 | ... -------------------------------------------------- | 3 | 2 | 18 | 22 | 34 | 54 | ... -------------------------------------------------- ... ... ... 

我想添加一个时间variables,每个年份都会计入,并将相应的值作为价格variables;

  --------------------------- | id | size |t | price| -------------------------- | 1 | 3 |2017| 50 | -------------------------- | 1 | 3 |2016| 80 | -------------------------- | 1 | 3 |2015| 21 | -------------------------- | 1 | 3 |2014| 21 | -------------------------- | 2 | 5 |2017| 78 | -------------------------- | 2 | 5 |2016| 85 | -------------------------- | 2 | 5 |2015| 54 | -------------------------- | 2 | 5 |2014| 67 | -------------------------- | 3 | 2 |2017| 18 | -------------------------- | 3 | 2 |2016| 22 | -------------------------- | 3 | 2 |2015| 34 | -------------------------- | 3 | 2 |2014| 54 | -------------------------- ... ... ... 

Stata或Excel中是否有一个函数可以自动执行此操作? 我有超过35,000条目20年的数据,所以手动编辑将无法正常工作。

由于variables名称不能以数字字符开头,因此您的数据示例不太适合作为Stata数据。

这是固定的,这是reshape命令(不是function)的练习。

 clear input id size price2017 price2016 price2015 price2014 1 3 50 80 21 56 2 5 78 85 54 67 3 2 18 22 34 54 end reshape long price, i(id size) j(year) sort id size year list , sepby(id) +--------------------------+ | id size year price | |--------------------------| 1. | 1 3 2014 56 | 2. | 1 3 2015 21 | 3. | 1 3 2016 80 | 4. | 1 3 2017 50 | |--------------------------| 5. | 2 5 2014 67 | 6. | 2 5 2015 54 | 7. | 2 5 2016 85 | 8. | 2 5 2017 78 | |--------------------------| 9. | 3 2 2014 54 | 10. | 3 2 2015 34 | 11. | 3 2 2016 22 | 12. | 3 2 2017 18 | +--------------------------+