如何计算面板数据中最近5年的最大值



我有面板数据。我有兴趣计算过去5年中一个变量(Var_C)的最大值。我尝试了几个不同的函数和循环,但没有得到我想要的。

这里是一个可复制的示例。您必须先将tsegenssc install tsegen一起安装,然后才能使用它。

webuse grunfeld 
tsset
tsegen max_invest = rowmax(L.(0/4).invest) 
list *invest if company == 1
     +-------------------+
     | invest   max_in~t |
     |-------------------|
  1. |  317.6      317.6 |
  2. |  391.8      391.8 |
  3. |  410.6      410.6 |
  4. |  257.7      410.6 |
  5. |  330.8      410.6 |
     |-------------------|
  6. |  461.2      461.2 |
  7. |    512        512 |
  8. |    448        512 |
  9. |  499.6        512 |
 10. |  547.5      547.5 |
     |-------------------|
 11. |  561.2      561.2 |
 12. |  688.1      688.1 |
 13. |  568.9      688.1 |
 14. |  529.2      688.1 |
 15. |  555.1      688.1 |
     |-------------------|
 16. |  642.9      688.1 |
 17. |  755.9      755.9 |
 18. |  891.2      891.2 |
 19. | 1304.4     1304.4 |
 20. | 1486.7     1486.7 |
     +-------------------+

如果过去5年的定义不包括当前年份,而是指过去5年,则语法为L.(1/5)。如果您希望每个窗口至少使用5年,则需要匹配语法。

最新更新