朝花夕拾|如何去除空格?

2017-02-13 爬虫俱乐部 爬虫俱乐部 爬虫俱乐部

      

 今天是朝花夕拾板块的不定期更新时间。不管你是想温习我们之前推送的命令,还是要学习新的技巧,都且听小编慢慢道来。

文章来源:数据处理援助中心公众号  

已获得授权


近日,有公众号粉丝询问:如何去除字符之间和字符两端的空格?

这种情况其实在实证研究中会经常碰到,很多人可能会选择使用replace进行直接替换,如果字符的数量较少,这种方式还能够勉强接受,但如果数量较多,采用这种方式可能需要花费不少时间。

笔者采用一个例子来说明如何去除字符之间和字符两端的空格,通过这个例子,大家可以看到,其实小命令的组合使用可以发挥很大的作用。这个例子中,采用了字符函数suninstr和trim。

笔者有一份土地购置费的数据,原始数据存储在excel里的形式如下图所示:

变量province的字符与字符之间存在空格,而且两端也存在空格,这种形式的数据直接导入到stata,依然保留了这些空格。

clear

set more off

cd D:/manful

import excel using 土地购置费.xls,first case(lower) clear 

转为面板数据形式,依然会保留这些空格。

rename (b c d e f g h) (y2013 y2012 y2011 y2010 y2009 y2008 y2007)

reshape long y,i(province) j(year)

接 下来,问题来了,如何去除变量province的字符之间及字符两端的空格呢?也许有人会觉得就这样放着也没有什么大碍。如果可以不处理,自然可以这么放 着。但是我们在做实证研究时,岂会只用这么几个变量?自然是需要与其他数据进行合并。比如,笔者需要把这个土地数据与之前处理好的那些数据进行合并。之前 的数据形式如下所示:

可以发现,变量province在这个数据中是没有空格的。所以,如果直接进行合并,则会出现问题。

use data1.dta,clear

merge 1:1 province year using 土地购置费.dta

此时,去除土地购置费中的变量province的空格就显得非常必要。有stata基础的人可能会想到使用subinstr,这里也需要使用,但是仅仅使用这个是不够的。

use 土地购置费.dta,clear

replace province=subinstr(province," ","",.)

sort province year

save 土地购置费.dta,replace

use data1.dta,clear

merge 1:1 province year using 土地购置费.dta

显然,仅仅去除字符之间的空格是不够的。这里需要用到另一个命令trim

use 土地购置费.dta,clear

replace province=subinstr(province," ","",.)

replace province=trim(province)

sort province year

save 土地购置费.dta,replace

use data1.dta,clear

merge 1:1 province year using 土地购置费.dta



接下来报告空气质量

全国空气质量如下图

全国上下姹紫嫣红

山东的朋友格外注意哟


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

应广大粉丝要求,爬虫俱乐部的推文公众号打赏功能可以开发票啦,累计打赏超过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分析数据的问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。

欢迎关注爬虫俱乐部

微信扫一扫
关注该公众号