楼主: 王远远
3094 2

[其他] stata中数据处理,根据特定条件删除单元格内容 [推广有奖]

  • 0关注
  • 0粉丝

本科生

2%

还不是VIP/贵宾

-

威望
0
论坛币
436 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1139 点
帖子
28
精华
0
在线时间
90 小时
注册时间
2016-1-9
最后登录
2020-6-22

楼主
王远远 发表于 2018-11-12 19:49:36 |AI写论文
10论坛币
隔壁帖应该是我的描述的问题不太对,所以重新发帖解释一下并再次求助各位,谢谢了!drop.png我想要的数据格式是这样的,只看m1996这一个值,如果等于0,则无需改变;而如果等于1,就把这一行对应的c1删掉,然后再把c2原来的值赋给c1,c3的赋给c2...以此类推,就比如上图第一行,m1996=1,此时就让c1=.    ,再把c2原来的值给c1,这一行就成了c1=1,c2=13,c3=.这样子,第二行就全部是.了,只需要考虑c1-c8
dataex复制过来
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input int id double(c1 c2 c3 c4 c5 c6 c7 c8) byte(m1996 m1997 m1998 m1999 m2000 m2001 m2002 m2003 m2004 m2005 m2006 m2007 m2008 m2009 m2010 m2011 m2012 m2013 m2014 m2015 m2016 m2017 _merge)
  4. 1  5  1 13 . . . . . 1 1 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 3
  5. 2 22  .  . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3
  6. 3 19  .  . . . . . . 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3
  7. 4 22  .  . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3
  8. 5  1  .  . . . . . . 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 3
  9. 6 22  .  . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3
  10. 7 14  .  . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 3
  11. 8  8  .  . . . . . . 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 3
  12. 9  1 12  . . . . . . 0 0 0 0 0 0 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 3
  13. 10 22  .  . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3
  14. 11 22  .  . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3
  15. 12 18  3  . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 3
  16. 13  1  .  . . . . . . 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3
  17. 14  1 11  2 . . . . . 1 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 3
  18. end
  19. label values _merge _merge
复制代码
------------------ copy up to and including the previous line ------------------

附件: 你需要登录才可以下载或查看附件。没有帐号?我要注册

最佳答案

沙发
蓝色 发表于 2018-11-12 19:49:37
  1. replace c1=c2  if m1996==1
  2. replace c2=c3  if m1996==1
  3. replace c3=c4  if m1996==1
  4. replace c4=c5  if m1996==1
  5. replace c5=c6  if m1996==1
  6. replace c6=c7  if m1996==1
  7. replace c7=c8  if m1996==1
复制代码
已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
giresse + 20 精彩帖子
王远远 + 1 + 1 + 1 热心帮助其他会员

总评分: 论坛币 + 20  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

藤椅
王远远 发表于 2018-11-13 13:54:29
蓝色 发表于 2018-11-12 19:49
是我把问题复杂化了,非常感谢您的帮助!

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

本版微信群
扫码
拉您进交流群
GMT+8, 2026-3-4 06:33