全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
1113 4
2022-02-05
stata小白想问问,在处理数据的时候,发现同一对象同一年度事件会重复记录,不仅不同行会重复,同一行的列间也会重复,请问有没有什么stata处理的好办法呀?
比如:
stkcd  year  var1  var2  var3
  1     2009    A      B
  1     2009    A      A      C
想合并为下面没有重复值的一行:
stkcd  year  var1  var2  var3
  1     2009    A      B      C


我原本想先用reshape转置成long形式再剔除行间重复值的,但是有重复值好像用不了reshape,会提示id不唯一。也想过用collapse,但是事件是字符,好像也不能用。

非常感谢

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2022-2-6 16:39:51
这里可以给出一些示例的数据

因为看到VAR2 两个观测值是不一样的,所以不清楚具体的原因 可能不能删除重复值
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2022-2-6 22:04:06
wdlbcj 发表于 2022-2-6 16:39
这里可以给出一些示例的数据

因为看到VAR2 两个观测值是不一样的,所以不清楚具体的原因 可能不能删除重 ...
谢谢您的建议,发现可能确实存在差异。那请问同一年内同一对象的事件有办法合并到同一行吗?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2022-2-7 20:19:34
尝试以下代码:
复制代码

最后再reshape长数据转换成宽数据就行。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2022-2-7 21:23:26
clear
input stkcd  year str10 ( var1  var2  var3)
  1     2009    A      B
  1     2009    A      A      C
  end
  gen id=_n
  reshape long var,i(id) j(num)
  drop if var==""
  duplicates drop var,force
  drop id
  reshape wide var,i(stkcd) j(num)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群