楼主: baroman
2786 4

[其他] 填充缺失值 [推广有奖]

  • 0关注
  • 4粉丝

讲师

68%

还不是VIP/贵宾

-

威望
0
论坛币
6599 个
通用积分
50.5652
学术水平
6 点
热心指数
12 点
信用等级
4 点
经验
23529 点
帖子
293
精华
0
在线时间
776 小时
注册时间
2007-9-23
最后登录
2016-6-9

10论坛币
数据填充 如何在stata根据下图A列数据自动生成B列数据
恳请达人告知能否用循环的方法来实现
谢谢
PS:不好意思搞出两个表啦。。。不懂怎么删除

AA.JPG (20.74 KB)

AA.JPG

关键词:缺失值 Stata 不好意思 自动生成 tata 如何
沙发
rosenbloog 发表于 2012-5-23 12:55:46 |只看作者 |坛友微信交流群
提供一个不成熟的思路,可以改进。数据不多的时候还可以用。
1. list a if a !=.  **得到有数据的index号(e.g., 8, 13, etc.);
2. replace a=1 in 1/8
    replace a=2 in 9/13
    ...

使用道具

藤椅
baroman 发表于 2012-5-23 20:19:00 |只看作者 |坛友微信交流群
rosenbloog 发表于 2012-5-23 12:55
提供一个不成熟的思路,可以改进。数据不多的时候还可以用。
1. list a if a !=.  **得到有数据的index号( ...
我想通过循环来实现的
可是不会在stata编程
因为数据量比较大,一个个来比较麻烦
谢谢哈

使用道具

板凳
情迷仲夏夜 发表于 2012-5-24 02:38:30 |只看作者 |坛友微信交流群
好象不需要循环的方式去做!也不能用replace,最好用expand可以办到!
  1. input a
  2. 1
  3. 2
  4. 3
  5. 4
  6. end
  7. generate b=a
  8. expand 9 in 1
  9. expand 7 in 2
  10. expand 5 in 3
  11. expand 2 in 4
  12. sort b
  13. replace a=. if a>0
  14. by b: gen id=_n
  15. replace a=b if id==1
  16. drop id
  17. gsort -b
  18. list
复制代码

已有 1 人评分经验 学术水平 热心指数 收起 理由
SpencerMeng + 60 + 1 + 1 观点有启发

总评分: 经验 + 60  学术水平 + 1  热心指数 + 1   查看全部评分

使用道具

报纸
ss583656 发表于 2012-6-5 22:12:52 |只看作者 |坛友微信交流群
哇,人才啊

使用道具

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

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

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

GMT+8, 2024-5-22 05:18