楼主: Jonas5678
1350 4

[数据管理求助] 求改为循环语句 [推广有奖]

  • 1关注
  • 0粉丝

博士生

1%

还不是VIP/贵宾

-

威望
0
论坛币
288 个
通用积分
18.0640
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
6326 点
帖子
116
精华
0
在线时间
135 小时
注册时间
2014-6-30
最后登录
2022-5-11

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
自己写的一段命令,keep if那句太长了看着就不爽,感觉可以改为循环语句,刚开始学stata比较菜不会,求大神赐教,万分感谢!
gen postcode1=real(postcode)
drop if postcode1==.
gen postcode2=postcode1/10000
gen postcode3=int(postcode2)
keep if postcode3==31 | postcode3==32 | postcode3==21 | postcode3==22 | postcode3==51 | postcode3==52 | postcode3==35 | postcode3==36 | postcode3==43 | postcode3==44 | postcode3==45 | postcode3==46 | postcode3==47

二维码

扫码加我 拉你入群

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

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

关键词:循环语句 Stata code post keep

沙发
SpencerMeng 在职认证  发表于 2014-7-10 09:29:22 |只看作者 |坛友微信交流群
我觉得你keep if postcode3后面的数值表面看是没有规律的

具体你为什么留下这些值应该有一定的准则

从你的保留标准中摸索下规律

使用道具

藤椅
raymond87 发表于 2014-7-14 16:47:04 |只看作者 |坛友微信交流群
那句keep的确没有规律,不太好写循环,如果要好看的,可以用个断行符号。
keep if postcode3==31 | postcode3==32 | postcode3==21 | ///
          postcode3==22 | postcode3==51 | postcode3==52 | ///
          postcode3==35 | postcode3==36 | postcode3==43 | ///
          postcode3==44 | postcode3==45 | postcode3==46 | ///
          postcode3==47

这样大概会好看一些

使用道具

板凳
Jonas5678 发表于 2014-7-17 12:17:47 来自手机 |只看作者 |坛友微信交流群
raymond87 发表于 2014-7-14 16:47
那句keep的确没有规律,不太好写循环,如果要好看的,可以用个断行符号。
keep if postcode3==31 | postco ...
哦,这个当然知道,我是想把语句改简洁点…

使用道具

报纸
wfldragon 发表于 2014-7-17 16:03:54 |只看作者 |坛友微信交流群
inlist函数可以搞定

使用道具

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

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

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

GMT+8, 2024-5-1 16:08