【问题标题】:How to copy the last observation's value to other observations in panel data in Stata?如何将最后一个观察值复制到Stata面板数据中的其他观察值?
【发布时间】:2017-07-13 08:32:48
【问题描述】:

我有一份不同时间段内不同公司的列表。 在学习期间,公司会改变行业。 我只想在我的数据中保留每家公司所有年份的最后一个行业价值。 谁能帮我在Stata中做到这一点? 示例:

当前数据

Time    Company Industry
---------------------------
1       A       Agriculture
2       A       Agriculture
3       A       Mining 
1       B       Service sector
2       B       Service sector
3       B       Agriculture
4       B       Agriculture
5       B       Other

所需数据

Time    Company Industry
---------------------------
1       A       Agriculture
2       A       Agriculture
3       A       Agriculture
1       B       Other
2       B       Other
3       B       Other
4       B       Other
5       B       Other

【问题讨论】:

  • 面板是否平衡不影响这里的答案。我从标题中编辑了它。

标签: stata


【解决方案1】:

您应该使用

安装dataex
ssc install dataex 

获取一个命令,该命令为回答 Stata 问题的人提供数据示例。否则,像您这样的例子需要手术才能易于使用。

这里的主要设备使用排序,by: 和下标来选择每个组中的最后一个观察值。在by: 下,下标_N 总是与最后的观察相关联。

clear 
input Time str1 Company str14 Industry
1       A       "Agriculture"
2       A       "Agriculture"
3       A       "Mining" 
1       B       "Service sector"
2       B       "Service sector"
3       B       "Agriculture"
4       B       "Agriculture"
5       B       "Other"
end 

bysort Company (Time): gen Final = Industry[_N] 

list, sepby(Company) 


     +-----------------------------------------+
     | Time   Company        Industry    Final |
     |-----------------------------------------|
  1. |    1         A      Agriculture  Mining |
  2. |    2         A      Agriculture  Mining |
  3. |    3         A           Mining  Mining |
     |-----------------------------------------|
  4. |    1         B   Service sector   Other |
  5. |    2         B   Service sector   Other |
  6. |    3         B      Agriculture   Other |
  7. |    4         B      Agriculture   Other |
  8. |    5         B            Other   Other |
     +-----------------------------------------+

有关介绍,请参见by: 的帮助;然后手动输入[D] by;然后是它的引用。

我创建了一个新变量,这通常是数据管理的更好主意。

【讨论】:

  • 非常感谢您的帮助。当我将它应用于字符变量时,它没有给出正确的结果。但是,当我转换为因子并应用您提供的代码时。我能够得到结果。再次感谢您的帮助!!
  • 您未在未提供的数据上显示的代码未给出正确结果:我无法帮助您。否则很好,这有帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多