Stata编程小笔记5 您所在的位置:网站首页 stata中encode命令 Stata编程小笔记5

Stata编程小笔记5

2024-06-04 04:01| 来源: 网络整理| 查看: 265

在数据处理过程,将字符型变量转换为数值型变量是常见操作,可使用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 实验室设备网 版权所有