楼主: yszazy
1817 7

[编程问题求助] 求助:drop一个观测的问题 [推广有奖]

  • 1关注
  • 1粉丝

硕士生

27%

还不是VIP/贵宾

-

威望
0
论坛币
29432 个
通用积分
2.5500
学术水平
0 点
热心指数
1 点
信用等级
1 点
经验
537 点
帖子
37
精华
0
在线时间
222 小时
注册时间
2012-2-27
最后登录
2024-12-11

楼主
yszazy 发表于 2015-11-25 15:23:08 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
请教各位大神,我有18个变量,现在想做的事情是:对于每一次观测,如果这18个变量中有十个以上的值都是0,那么这条观测就删掉。请问stata中如何实现呢?不胜感激!
二维码

扫码加我 拉你入群

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

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

关键词:drop Stata 如何实现 不胜感激 tata 不胜感激 如何

回帖推荐

raymondxiang 发表于5楼  查看完整内容

如果你确实想找到的是等于0,而非missing, 是超过10个等于0,而非10个missing值的话,那么用egen 里的rowmiss函数是不合适的,尤其是当你的变量里面既有missing,又有0时,这时rowmiss只count missing values, 而不是0的个数。所以,基于此,我建议你最好选用egen里面的anycount命令,它会帮你计算里面有多少个任何你指定的值。具体命令如下: egen x=anycount(var1-var18),v(0) drop if x>=10 命令行1是生成一个新变量x, 它计 ...

夏目贵志 发表于4楼  查看完整内容

用egen ct=rowmiss(x1 x2 x3)这样的就能求出x1 x2 x3中每行的缺失个数。

本帖被以下文库推荐

沙发
jiangbeilu 学生认证  发表于 2015-11-25 18:26:41
这个在R语言里很简单
比如你的矩阵是x
那么直接用:
  1. x[rowSums(x==0)<10,]
复制代码

就可以保留出当行小于10个0的记录了
已有 1 人评分论坛币 收起 理由
admin_kefu + 15 热心帮助其他会员

总评分: 论坛币 + 15   查看全部评分

藤椅
yszazy 发表于 2015-11-25 22:23:44
jiangbeilu 发表于 2015-11-25 18:26
这个在R语言里很简单
比如你的矩阵是x
那么直接用:
啊哈,谢谢。我可以去试试

板凳
夏目贵志 发表于 2015-11-25 23:37:39
用egen ct=rowmiss(x1 x2 x3)这样的就能求出x1 x2 x3中每行的缺失个数。
rowmiss(varlist)
            may not be combined with by.  It gives the number of missing values in varlist for each observation (row).
已有 2 人评分论坛币 热心指数 收起 理由
crystal8832 + 10 + 1 精彩帖子
admin_kefu + 10 热心帮助其他会员

总评分: 论坛币 + 20  热心指数 + 1   查看全部评分

报纸
raymondxiang 发表于 2015-11-26 00:21:14
如果你确实想找到的是等于0,而非missing, 是超过10个等于0,而非10个missing值的话,那么用egen 里的rowmiss函数是不合适的,尤其是当你的变量里面既有missing,又有0时,这时rowmiss只count missing values, 而不是0的个数。所以,基于此,我建议你最好选用egen里面的anycount命令,它会帮你计算里面有多少个任何你指定的值。具体命令如下:
egen x=anycount(var1-var18),v(0)
drop if x>=10

命令行1是生成一个新变量x, 它计算从var1-var18中究竟有几个0,然后,再drop掉那些有超过10个等于0的就可以了。
已有 4 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
Sunknownay + 2 + 2 + 2 热心帮助其他会员
夏目贵志 + 5 + 1 热心帮助其他会员
crystal8832 + 10 + 1 热心帮助其他会员
admin_kefu + 20 热心帮助其他会员

总评分: 经验 + 5  论坛币 + 30  学术水平 + 2  热心指数 + 4  信用等级 + 2   查看全部评分

地板
风向我吹 发表于 2015-11-26 01:09:04 来自手机
楼上方法好一些,生成一个新变量表示每行0的个数

7
yszazy 发表于 2015-11-29 18:19:47
raymondxiang 发表于 2015-11-26 00:21
如果你确实想找到的是等于0,而非missing, 是超过10个等于0,而非10个missing值的话,那么用egen 里的rowmi ...
非常感谢!

8
夏目贵志 发表于 2015-12-1 08:01:01
raymondxiang 发表于 2015-11-26 00:21
如果你确实想找到的是等于0,而非missing, 是超过10个等于0,而非10个missing值的话,那么用egen 里的rowmi ...
是。如果是要找等于0的话确实不能count rowmiss。一般来说缺失数据都会用缺失值,所以是我疏忽了。谢谢指正。

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-5 21:50