楼主: shetianlang
4592 5

[数据管理求助] 如何合并重复记录并替换缺失值? [推广有奖]

  • 6关注
  • 10粉丝

讲师

53%

还不是VIP/贵宾

-

TA的文库  其他...

微观数据研讨

威望
0
论坛币
25703 个
通用积分
30.8942
学术水平
85 点
热心指数
94 点
信用等级
63 点
经验
16192 点
帖子
407
精华
0
在线时间
494 小时
注册时间
2008-11-27
最后登录
2023-1-5

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
比如说我有3张内容大同小异的表格,现用append合并在一起,但是产生了重复记录(根据identifier)。问题在于,重复记录不是完全一致,比如有的变量在第一张表格中是缺失值,在第二张表中不是;有的变量在第一张表中不是缺失值,在第三张表中却是。我希望在合并重复记录之后能尽量保留信息,把缺失值尽量替换为非缺失值,而不是一刀切地删除重复记录。

请问如何用loop解决这个问题?(我试过用merge-append-duplicates drop可行,但是太繁琐)

示范数据如下:

  1.     // generate the data
  2.     clear *
  3.     set seed 12345
  4.     set obs 100
  5.     gen id=_n
  6.     forv i = 1/5 {
  7.     gen x`i' = uniform()
  8.     replace x`i'=. if x`i'>=0.7
  9.     replace x`i' = 1 if x`i'>0.3 & x`i'<0.7
  10.     replace x`i' = 0 if x`i'<=0.3
  11.     }
  12.    
  13.     label define gender 0 "Female" 1 "Male"
  14.     label value x1 gender
  15.    
  16.     label define ans 0 "no" 1 "yes"
  17.    
  18.     forv i = 2/5 {
  19.     label value x`i' ans
  20.     }


  21.     preserve
  22.     sample 20
  23.     gen sample=1
  24.     save sample1, replace
  25.     restore

  26.     preserve
  27.     set seed 67890
  28.     sample 25
  29.     replace id= floor((100-1+1)*runiform() + 1)
  30.     duplicates drop id, force   
  31.     gen sample=2
  32.     save sample2, replace
  33.     restore

  34.     preserve
  35.     set seed 34567
  36.     sample 25
  37.     replace id= floor((100-1+1)*runiform() + 1)
  38.     duplicates drop id, force
  39.     gen sample=3
  40.     save sample3, replace
  41.     restore
复制代码



二维码

扫码加我 拉你入群

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

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

关键词:缺失值 duplicates duplicate generate replace 记录 如何

文库:微观数据研讨
沙发
ermutuxia 发表于 2014-12-1 09:47:17 |只看作者 |坛友微信交流群
duplicates drop id,force
已有 1 人评分经验 学术水平 热心指数 收起 理由
SpencerMeng + 60 + 1 + 1 精彩帖子

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

使用道具

藤椅
SpencerMeng 在职认证  发表于 2014-12-5 11:09:04 |只看作者 |坛友微信交流群

duplicates  太好用了。

使用道具

板凳
shetianlang 发表于 2014-12-6 09:43:23 |只看作者 |坛友微信交流群
ermutuxia 发表于 2014-12-1 09:47
duplicates drop id,force
谢谢回复。duplicates drop我知道,我需要的不仅仅是删除重复值,更重要的替换缺失值,尽量保留有用信息。

使用道具

报纸
地天之涯 发表于 2019-3-12 16:14:20 |只看作者 |坛友微信交流群
shetianlang 发表于 2014-12-6 09:43
谢谢回复。duplicates drop我知道,我需要的不仅仅是删除重复值,更重要的替换缺失值,尽量保留有用信息。 ...
请问楼主后期是怎么替换缺失值的呢?

使用道具

地板
1648475565 学生认证  发表于 2021-8-26 17:41:07 |只看作者 |坛友微信交流群
请问楼主找到解决方法了吗

使用道具

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

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

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

GMT+8, 2024-5-1 01:53