小伙伴们有没有遇到过当选择数据的条件过多时,用if语句写条件时分分钟想炸毛的情景?如果有的话,那么福利来了,今天爬虫君教你一个清新简单实用的小函数——inlist,可以有效地避免赘述条件哦~
当当当当~
inlist:
是不是很简单呢~
爬虫君这里实际操作举个小例子便于各位理解~
以系统数据为例:
变量是数值型
sysuse auto,clear
假设这里我们想选出维修次数为1,3,4,5,次的品牌型号(其中,rep78为维修记录的变量名称),我们可以新生成一个变量x,使得当维修次数为1,3,4,5次时,变量x的返回值为1。
if语句:gen x=1 if rep78==1|rep==3|rep==4|rep==5
inlist函数:gen x=1 if inlist(rep78,1,3,4,5)
短短的一行小命令就能帮我们挑选出维修记录为1,3,4,5次的车,生成了一个新的变量x。我们可以打开数据编辑器一下看看新生成的变量x:
生成了新的变量x后,一条list命令就可以找出制定维修次数的车辆品牌车型:
list make rep78 if x==1
变量是字符型
sysuse auto,clear
假设这里我们想要了解AMC Concord,AMC Pacer,Buick Century,Dodge colt,Dodge Diplomat,Ford Fiesta这些车牌和型号的车车的维修次数。
这里我们同样可以生成一个新的变量y使得当车牌型号是这些当中的某一种时返回值是1,否则为0(其中,make为车牌型号)。
if语句:
gen y=1 if make=="AMC Concord"|make=="AMC Pacer"|make=="BuickCentury"|make=="Dodge colt"|make=="Dodge Diplomat"|make=="Ford Fiesta"
是不是觉得重复写make==有点小繁琐呢,那我们来看看inlist吧~
inlist函数:
gen y=1 if inlist(make,"AMC Concord","AMC Pacer","Buick Century","Dodge colt","Dodge Diplomat","Ford Fiesta")
我们可以打开数据编辑器看看新生成的变量y:
生成了新的变量y后,同样一条list命令就能知道指定车牌型号车辆的维修次数:
list make rep78 if y==1
这个小命令就是这样简单易行。这里只是举了一个数据量稍少的小例子,遇到条件多的时候inlist可是会派上大用场的~亲爱的小伙伴们,你们学会了吗?
接下来是空气质量报告
全国空气质量如下
湖北的朋友
和小编一起出门戴口罩吧
以上就是今天给大家分享的内容了,说得好就赏个铜板呗!有钱的捧个钱场,有人的捧个人场~,点赞打赏随您心意,么么哒~
应广大粉丝要求,爬虫俱乐部的推文公众号打赏功能可以开发票啦,累计打赏超过1000元我们即可给您开具发票,发票类别为“咨询费”。用心做事,只为做您更贴心的小爬虫。第一批发票已经寄到各位小主的手中,大家快来给小爬虫打赏呀~
文字编辑:徐苾雯
技术总编:刘贝贝
往期推文推荐:
1.合并输出回归结果和其他检验结果——esttab和estadd
7.一言不合就用stata写邮件(Outlook/Foxmail)
9.I have a Stata, I have a python
10.I have a Stata, I have a Python之二——pdf转word
关于我们
微信公众号“爬虫俱乐部”分享实用的stata命令,欢迎转载、打赏。爬虫俱乐部是由李春涛教授领导下的研究生及本科生组成的大数据分析和数据挖掘团队。
此外,欢迎大家踊跃投稿,介绍一些关于stata的数据处理和分析技巧。
投稿要求:
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿”+“推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到关于stata分析数据的问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。
欢迎关注爬虫俱乐部
微信扫一扫
关注该公众号