楼主: gavin4403
1327 6

[数据管理求助] 数据的自动填充 [推广有奖]

  • 2关注
  • 0粉丝

博士生

27%

还不是VIP/贵宾

-

威望
0
论坛币
640 个
通用积分
6.8330
学术水平
11 点
热心指数
14 点
信用等级
10 点
经验
4450 点
帖子
171
精华
0
在线时间
232 小时
注册时间
2007-4-27
最后登录
2023-11-26

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
各位大侠:
我的数据如下:
code       year     bz
000001   2005    .
000001   2006    .
000001   2007    1
000001   2008    .
000001   2009    .
000001   2010    2
000002   2004    3
······
······
我想将code相同,但year不同的bz变量的数据全补充成与其相邻的较大year相同的数值。
即,code=000001,但year=2005和2006的bz的变量全部补充成1,而code=000001,但year=2008和2009的bz的变量全部补充成2。从而得到下述数据
code       year     bz
000001   2005     1
000001   2006     1
000001   2007     1
000001   2008     2
000001   2009     2
000001   2010     2
000002   2004     3
所以,请教各位大侠有没有一个简单的命令就能够完成。感觉这会用到循环语句。因为如果简单的替换的话,每次仅能补充一个空格。
谢谢。恳请各位大侠不吝赐教。
二维码

扫码加我 拉你入群

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

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

关键词:year code 各位大侠 循环语句 ear

沙发
黃河泉 在职认证  发表于 2017-12-9 10:17:29 |只看作者 |坛友微信交流群
1. 請先  search mipolate 並安裝。2. 接著試試
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input str6 code float(year bz)
  4. "000001" 2005 .
  5. "000001" 2006 .
  6. "000001" 2007 1
  7. "000001" 2008 .
  8. "000001" 2009 .
  9. "000001" 2010 2
  10. "000002" 2005 3
  11. "000002" 2006 .
  12. "000002" 2007 4
  13. "000002" 2008 .
  14. "000002" 2009 .
  15. "000002" 2010 8
  16. end
  17. bys code (year): mipolate bz year, gen(x) b
复制代码

使用道具

藤椅
黃河泉 在职认证  发表于 2017-12-9 10:17:50 |只看作者 |坛友微信交流群
爾後请用 dataex (先 ssc install dataex 并见说明) 将原始 Stata 资料中具有”代表性”的一部分资料列出,以供有意回答者实验之用,并能提供具体操作指令。并请参考 http://www.jianshu.com/p/9870080fe769,  https://bbs.pinggu.org/thread-5048204-1-1.html, 与    https://bbs.pinggu.org/thread-5917273-1-1.html

使用道具

板凳
gavin4403 发表于 2017-12-9 10:18:23 |只看作者 |坛友微信交流群
问题的关键是如何写循环语句,让他只要能探测到bz=.就不断的循环,直到bz=.全部被替换后才结束循环。这是最难的部分。

使用道具

报纸
gavin4403 发表于 2017-12-9 10:27:46 |只看作者 |坛友微信交流群
黃河泉 发表于 2017-12-9 10:17
爾後请用 dataex (先 ssc install dataex 并见说明) 将原始 Stata 资料中具有”代表性”的一部分资料列出, ...
好的。谢谢黄老师提醒。我下次发帖一定注意。再次感谢。

使用道具

地板
黃河泉 在职认证  发表于 2017-12-9 11:35:00 |只看作者 |坛友微信交流群
gavin4403 发表于 2017-12-9 10:18
问题的关键是如何写循环语句,让他只要能探测到bz=.就不断的循环,直到bz=.全部被替换后才结束循环。这是最 ...
上述的指令就可以回答你的问题,为什么还要写 loop?

使用道具

7
gavin4403 发表于 2017-12-13 10:44:50 |只看作者 |坛友微信交流群
黃河泉 发表于 2017-12-9 11:35
上述的指令就可以回答你的问题,为什么还要写 loop?
是的。我尝试了您推荐的命令,能够很完美的解答我的问题。我的上条回复是与您的解答同时发出的。已经发出了,我就没再删除。谢谢您的热心指点。再次感谢。

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-28 19:07