变量拆分——split & nsplit

2017-02-06 付彩月 爬虫俱乐部 爬虫俱乐部

诸君安!新年假期已过,又到了Stata学习时间了,不知各位的假期过得还舒心?经过一个长假的休整,爬虫君可是蓄势待发,迫不及待地想和大家切磋切磋!今天爬虫君就为大家介绍变量拆分技巧。

有人会问,

好好的变量,你拆啥?

有技术,就是任性,说拆就拆!

 第一拆——nsplit 

nsplit作为拆变量界的扛把子,nsplit命令的特性是理性冷静,说拆成两位数就不拆成两位半。

举个栗子。

有个变量empid

爬虫君闲着也是闲着,想把它拆成三个变量,每个变量都是一位数,于是使用如下命令:

nsplit epmid, digits(1)

list empid* in1/5

如图所示,变量empid已经拆分成了三个变量。

digits表示新生成的变量的数字模式,本次操作填入的参数1表示新生成的变量包含1位数。命令默认生成的变量名为被拆变量名加数字,如果要自定义变量名,就加上generate选项。

比如,爬虫君再把empid拆成两个变量,一个含有1位数字,一个含有2位数字,分别命名为ep1ep2

nsplit empid,digits(1 2) generate(ep1 ep2)

list empid ep* in 1/5

 第二拆——split 

作为Stata自带命令,split专注于定点爆破,精准打击。

举个栗子。

爬虫君想把上图的变量分别按照空格和逗号拆分,使用命令

split date,parse(", "" ") gen(ndate) notrim

结果如下图所示:

parse中的参数是我们拆分变量的节点,如果没有则默认为按照空格进行拆分;gen中的参数表示新生成的变量名称为ndate加数字;notrim表示忽略被拆分变量顶端和尾端的空格,如果在这两处有空格,也不进行拆分。

嗯,爬虫君现在想对新生成的变量进行批量操作,比如,都加上一个“+”……

有一个捷径

foreach v in`r(varlist)' {

    replace `v'=  "+"+`v'

     }

list

拆分后的变量名都被存储在r(varlist),如果要对新变量进行批量操作,即可调用。

爬虫君今日抛砖引玉,大家觉得有用的话,记得分享哟。

更多精彩,敬请期待。

接下来报告空气质量

全国空气质量如下

河南再次荣登榜首

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

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

编辑by张欢




往期推文推荐:

1.合并输出回归结果和其他检验结果——esttab和estadd

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分析数据的问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。

欢迎关注爬虫俱乐部

微信扫一扫
关注该公众号