楼主: tzz925931604
49032 8

[编程问题求助] 【Stata】 if 语句多个条件同时满足。 如何写程序 [推广有奖]

  • 0关注
  • 0粉丝

已卖:2份资源

本科生

57%

还不是VIP/贵宾

-

威望
0
论坛币
544 个
通用积分
32.2088
学术水平
10 点
热心指数
10 点
信用等级
8 点
经验
1207 点
帖子
53
精华
0
在线时间
116 小时
注册时间
2018-4-9
最后登录
2023-5-20

楼主
tzz925931604 学生认证  发表于 2020-7-5 22:28:58 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
如题,采用sysuse auto, clear 数据集为例,来表达我的困惑:
这应该是一种很常见的情况,如我们要:
gen oddnum=0
replace oddnum=1 if (mpg==13 |  mpg==15 |  mpg==17 |  mpg==19 |  mpg==21 |  mpg==23) &  (rep78 ==1 | rep78 ==3 | rep78 ==5)

第一:就是当我的if 条件同时存在多个,比如数据集较大、变量值较多,那么需要写很多个“   |   &   ” 这样的条件才可以实现。很麻烦而且很长,能不能只写一个 if (mpg== 13 | 15 | 17 |) ... &  (rep78==...   |   ...)这种的语句?(实际上好像是不行的)
或者其他方法可以实现吗?
第二:如果要采用循环语句,应该怎么实现呢?是否有较为通用的语句样式呢。dataex如下:

  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input int(mpg rep78)
  4. 22 3
  5. 17 3
  6. 22 .
  7. 20 3
  8. 15 4
  9. 18 3
  10. 26 .
  11. 20 3
  12. 16 3
  13. 19 3
  14. 14 3
  15. 14 2
  16. 21 3
  17. 29 3
  18. 16 4
  19. 22 3
  20. 22 2
  21. 24 2
  22. 19 3
  23. 30 5
  24. 18 2
  25. 16 2
  26. 17 2
  27. 28 4
  28. 21 3
  29. 12 3
  30. 12 3
  31. 14 3
  32. 22 4
  33. 14 4
  34. end
复制代码


谢谢您的解答!

二维码

扫码加我 拉你入群

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

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

关键词:Stata tata 如何写 generated generate Stata if语句 多个条件 循环语句 dataex

沙发
ritaing 发表于 2020-7-6 09:34:32
你的第一个可以考虑用inlist这个去简写一下。
关于循环的要求没明白,可以将自己的要求说更清楚一些

藤椅
黃河泉 在职认证  发表于 2020-7-6 10:05:36
或许可以考虑
  1. gen oddnum=0
  2. replace oddnum=1 if inlist(mpg, 13, 15, 17, 19, 21, 23) & inlist(rep78, 1 ,3, 5)
复制代码

板凳
tzz925931604 学生认证  发表于 2020-7-7 09:55:42
黃河泉 发表于 2020-7-6 10:05
或许可以考虑
就是这个意思!可能是我的检索策略不对,之前没看过inlist语句。谢谢老师指教!

报纸
tzz925931604 学生认证  发表于 2020-7-7 09:57:15
ritaing 发表于 2020-7-6 09:34
你的第一个可以考虑用inlist这个去简写一下。
关于循环的要求没明白,可以将自己的要求说更清楚一些
嗯嗯是的,循环方面我可能没表述清楚。inlist是个好语句!谢谢老师!

地板
520wujing 发表于 2021-7-29 22:27:16
黃河泉 发表于 2020-7-6 10:05
或许可以考虑
感谢 刚好用到

7
无糖雪碧 发表于 2021-10-22 18:32:02
非常有用

8
adfasefsadf 发表于 2023-4-14 23:50:09
刚好用到,感谢老师

9
秋窗风雨夕 发表于 2023-5-7 16:21:40
学到了,谢谢老师

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

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