楼主: esijb
10290 11

[数据管理求助] 缺失值删除 [推广有奖]

  • 3关注
  • 2粉丝

硕士生

39%

还不是VIP/贵宾

-

威望
0
论坛币
971 个
通用积分
2.6500
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
595 点
帖子
47
精华
0
在线时间
252 小时
注册时间
2014-6-7
最后登录
2025-9-11

楼主
esijb 发表于 2018-11-20 11:12:52 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
想删除某三个变量同时缺失的整行数据,该怎么操作呢?

比如:想删除 var1 var2 var3同时为缺失值的这条记录,也就是想删除第三行,其余记录保留
var1 var2 var3 var4
3        .      4      2
4       3      4      9
.        .       .      5
7       9      3      .
.        2      1      .

请教,该用什么命令呢?
二维码

扫码加我 拉你入群

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

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

关键词:缺失值 行数据 缺失值

沙发
317792209 在职认证  学生认证  发表于 2018-11-20 12:04:36
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input float(var1 var2 var3 var4)
  4. 3 . 4 2
  5. 4 3 4 9
  6. . . . 5
  7. 7 9 3 .
  8. . 2 1 .
  9. end
  10. replace var1=0 if var1==.
  11. replace var2=0 if var2==.
  12. replace var3=0 if var3==.
  13. gen newvar=var1+var2+var3
  14. drop if newvar==0

  15. replace var1=. if var1==0
  16. replace var2=. if var2==0
  17. replace var3=. if var3==0
复制代码


藤椅
黃河泉 在职认证  发表于 2018-11-20 12:24:12
你若要问程序,永远附上相关资料;若附上资料,永远用 dataex 印出资料。
1.        先 ssc install dataex (并见说明),将原始 Stata 资料中具有”代表性”的一部分资料列出,以供有意回答者实验之用,并能提供具体操作指令。
2.        并请参考 http://www.jianshu.com/p/9870080fe769,  https://bbs.pinggu.org/thread-5048204-1-1.html, 与 https://bbs.pinggu.org/thread-5917273-1-1.html

板凳
黃河泉 在职认证  发表于 2018-11-20 12:24:31
试试
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input float(var1 var2 var3 var4)
  4. 3 . 4 2
  5. 4 3 4 9
  6. . . . 5
  7. 7 9 3 .
  8. . 2 1 .
  9. end

  10. drop if mi(var1)&mi(var2)&mi(var3)
复制代码
已有 1 人评分经验 学术水平 热心指数 信用等级 收起 理由
317792209 + 100 + 5 + 5 + 5 精彩帖子

总评分: 经验 + 100  学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

报纸
317792209 在职认证  学生认证  发表于 2018-11-20 12:41:57


地板
esijb 发表于 2018-11-20 13:33:37
317792209 发表于 2018-11-20 12:04
这个思路倒是没想过,谢谢!!

7
esijb 发表于 2018-11-20 13:34:04
黃河泉 发表于 2018-11-20 12:24
试试
感谢!!!一下子就成功了

8
蓝色 发表于 2018-11-20 14:11:10
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input float(var1 var2 var3 var4)
  4. 3 . 4 2
  5. 4 3 4 9
  6. . . . 5
  7. 7 9 3 .
  8. . 2 1 .
  9. end


  10. egen    newvar=rowmiss(var1-var4)
  11. drop if newvar~=0
复制代码


9
esijb 发表于 2018-11-20 14:17:57
蓝色 发表于 2018-11-20 14:11
我删除存在缺失值的记录,想使用egen mis = rowmiss(_all)
             drop if mis
但不知道为什么出现了unknown egen function rowmiss()
                                r(133);

10
317792209 在职认证  学生认证  发表于 2018-11-20 15:11:26
esijb 发表于 2018-11-20 14:17
我删除存在缺失值的记录,想使用egen mis = rowmiss(_all)
             drop if mis
但不知道为什么出 ...
dropmiss,obs any force.用这个命令,如果运行不了,首先ssc install dropmiss

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-3 22:53