Stata编程小笔记5 | 您所在的位置:网站首页 › stata中encode命令 › Stata编程小笔记5 |
在数据处理过程,将字符型变量转换为数值型变量是常见操作,可使用destring命令实现。然而,当该字符型变量含有除阿拉伯数字以外的其他字符时,比如英文字母、中文、奇奇怪怪的符号……直接使用destring会报错(见下图): 怎么办? 情况1:知道该变量含有哪些非阿拉伯字符。 这种情况很好处理,直接在destring命令的option中加入ignore()就行了。例如: clear input str6 var1 "$20" "1*" end destring var1,replace ignore("$" "*") //注意:字符之间用空格隔开情况2:不知道该变量含有哪些非阿拉伯字符。 情况1是很理想的情况,大多数时候我们是不知道变量含有什么奇奇怪怪的字符,甚至有的时候,明明在excel中是数值型,导入到stata中就变成字符型,即使你一个个检查,也看不出它跟数值型有什么不同,这就是hidden text characters。 针对这种情况,解决的方法很多,在stata forum中一搜,简直八仙过海、各显神通,有用正则表达式匹配的,有用charlist命令找出字符ASCII码的……我觉得这些方法或多或少有点繁琐,所以介绍另一种方法:strkeep + destring。例如: clear input str6 var1 "$20" "1*" end strkeep var1,replace numeric destring var1,replace其中,strkeep命令顾名思义——“保留你想保留的字符”,numeric表示我告诉stata要保留的字符是阿拉伯数字,其它闲杂人等通通拉出去。当然你还可以保留其他类型的字符,具体help strkeep,拒绝伸手党,哈哈。 在除去多余的字符之后,再使用destring即可。 |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |