小命令大用途之levelsof & labelsof

2017-01-05 王清 爬虫俱乐部 爬虫俱乐部

今天小编要为大家介绍的是levelsof labelsof命令,这两个命令大家可能接触的并不多,但是用起来却非常方便。


levelsof


首先来介绍levelsof,这个命令是把某个变量的不同值列出来,它的命令格式为:

levelsof varname [if] [in] [,options]


其中,最常用的options选项为local(macname),即把某一个变量的内容赋给一个宏,在需要的时候直接调用宏即可调用变量的内容。话不多说,直接上栗子。

栗子1

我们以stata自带的auto数据为例,我们想把rep78这个变量的内容展示出来,就可以借助levelsof命令:


clear

sysuse auto

      levelsof rep78,local(mylevs)

      foreach c of local mylevs {

 dis "`c'"

}


栗子2

在栗子1中rep78变量所包含的内容比较少,levelsof的方便还没有很好地体现出来,下面这个例子就是见证奇迹的时刻。


在我们进行很多数据爬虫的时候,通常要进行网址的循环,而循环改变的地方往往就是股票代码,比如在抓取新浪财经高管数据时,网址的改变只是股票代码的变化。


当然,大家可以把所有的股票代码都列出来,像下面这样:


但是这样需要把2000多家公司的股票代码都列出来,程序的可读性较差,这时,借助levelsof就可以轻松解决问题。


首先借助cnstock命令把全部股票代码下载好,然后把股票代码封装进一个宏中,在后面的循环直接调用即可。


use 股票代码.dta,clear

levelsof stkcd,local(levels)

foreach v of local levels {

  capture copy ///   

“http://vip.stock.finance.sina.com.cn/corp/go.php/vCI_CorpManager/stockid/`v'.phtml”  ///

 "G:\操作演示\Stata网络爬虫培训\高管任职/源代码/`v'.txt",replace

}


labelsof


labelsof命令可以把某个变量的数值标签展示出来,如果这个变量没有数值标签,那它什么结果都不展示。它主要包括三个返回值,也是三个宏:

  • r(name) : 这个数值标签的名称

  • r(values) : 这个数值标签的数值

  • r(labels) : 这个数值标签的标签


它的命令格式为:

labelsof varname [ , label ]

栗子

还是以autuo数据为例,如果我们想看一下foreign这个变量的数值标签,命令如下:


clear

set more off

sysuse auto

labelsof foreign

di r(labels)



从这个结果可以看出,首先foreign这个变量是有数值标签的,它的数值标签的名称为orign,标签的数值为01,标签为DomesticForeign


如果我们对rep78这个变量进行上面的操作,结果会是怎样呢?


程序没有报错,但是也没有任何结果,这是因为rep78这个变量没有数值标签,所以就没有结果。

 

以上就是两个小命令的用途,命令虽小,功能却很强大,大家不妨试试吧。此外,小编要悄悄告诉大家一个小秘密:

stata培训哪家强?的搜寻结果

1个回答-

提问时间:2017年1月2日

[最佳回答] 亲爱的stata爱好者,您好。

爬虫俱乐部是一个专注解决stata各种疑难杂症的公众号,深受大家喜爱。该公众号即将举办线下stata培训,技术大牛亲手教你stata,赶紧戳开独家Stata技术培训,千呼万唤始出来报名吧!

EmmaWatson   9999……999条好评


 

 接下来报告空气质量

全国空气质量如下


在众多雾霾严重的城市中

我们选中了陕西



以上就是今天给大家分享的内容了,说得好就赏个铜板呗!有钱的捧个钱场,有人的捧个人场~,点赞打赏随您心意,么么哒~

应广大粉丝要求,爬虫俱乐部的推文公众号打赏功能可以开发票啦,累计打赏超过1000元我们即可给您开具发票,发票类别为“咨询费”。用心做事,只为做您更贴心的小爬虫。第一批发票已经寄到各位小主的手中,大家快来给小爬虫打赏呀~



编辑 by强宇曦



往期推文推荐:

1.独家Stata技术培训,千呼万唤始出来

2.关于RTF你不知道的命令

3.关于RTF你不知道的命令之番外篇

4.免费事件研究,一片片从邮局寄来

5.免费的股价同步性,一片片从邮局寄来

6.Stata叫你回家听音乐了!

7.一言不合就用stata写邮件(Outlook/Foxmail)

8.玩转stata之调用浏览器

9.I have a Stata, I have a python

10.I have a Stata, I have a Python之二——pdf转word




关于我们

微信公众号“爬虫俱乐部”分享实用的stata命令,欢迎转载、打赏。爬虫俱乐部是由李春涛教授领导下的研究生及本科生组成的大数据分析和数据挖掘团队。


此外,欢迎大家踊跃投稿,介绍一些关于stata的数据处理和分析技巧。

投稿邮箱:xueyuan19920310@163.com

投稿要求:

1)必须原创,禁止抄袭;

2)必须准确,详细,有例子,有截图;

注意事项:

1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。

2)邮件请注明投稿,邮件名称为“投稿”+“推文名称”。

3)应广大读者要求,现开通有偿问答服务,如果大家遇到关于stata分析数据的问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。


欢迎关注爬虫俱乐部

微信扫一扫
关注该公众号