数值型字符型转换,destring tostring |
您所在的位置:网站首页 › 垂直类b2b电子商务平台有哪些 › 数值型字符型转换,destring tostring |
数据类型转换之字符型-数值型
Stata中有两种数据类型:字符型和数值型。在我们处理数据的时候,经常会遇到原始数据的数据类型不是我们所需要的数据类型,这就需要我们将原始数据中的一些数据类型进行转换,从而将其转成我们期望的数据类型。Stata也提供了一些相关命令。其中,字符型变量转换为数值型变量的命令有:real()函数,encode和destring命令;数值型变量转换为字符型变量的命令有:strofreal()函数,decode和tostring命令,它们相互对应,那到底有哪些区别与联系呢? 今天我们先来讲一讲如何把字符型变量转化为数值型变量。 一、 命令介绍 encode命令:只可以将以字符型格式储存的非数值变量转换为数值型变量,它的返回值只是1,2,3……的序号变量,相同属性的观测值赋值相同,相当于给字符变量重新编码,并且将原来的字符型数据设置为转换后的数值型变量的标签。常用选项介绍如下: destring命令:将以字符型格式储存的数值变量转化为数值型变量。常用选项介绍如下: real(s)函数:同destring命令一样,可以将以字符型格式储存的数值s转化为数值型变量。若s是以字符型格式储存的非数值变量返回缺失值;另外,real()函数还可以对某一个具体观测值实现转变。 二、例子说明 为了方便介绍选项,我们输入如下数据,代码如下: clear input /// str3 num str2 name str10 per str6 income -1 a “10%” “9747” 1 b “62%” “1,234” 1 a “53%” “938.9” -1 c “48,6%” “8344” 2 d “58%” “2398” -2 e “46%” “-” -3 c “78%” “53822” 3 d “92,2%” “na” -1 e “65%” “$28477” 1 b “3,6%” “n/a” end 字符型格式储存的数值变量num的转换代码如下: encode num, gen(num1) destring num, gen(num2) gen num3=real(num) br num num1 num2 num3 in 1/5 可以看到,对于字符型格式储存的数值变量的3种转换形式,输出结果基本没有区别,但是,num1与num2、num3的显示颜色不一样,需要注意的是,encode命令只是对字符变量重新编码,输出结果不应该和其他两种转换方式所得结果是一样的,这是怎么回事呢?我们删除变量的标签值,来看看输出结果会发生什么变化: label drop _all br num num1 num2 num3 可以看到,num1只是对变量num进行数值排序。说明encode命令并非真正意义上的将字符型变量转换为数值型变量,它只是返回了变量的标签。 字符型格式储存的非数值变量name的转换具体代码如下: encode name, gen(name1) label(xing) destring name, gen(name2) gen name3=real(name) list name name1 name2 name3 stata提示name2没有被找到。那是因为name中有非数字特征,destring命令无法转换,说明该命令只能对字符型格式储存的数值变量起作用,如果必须转换就加force选项,但返回值和real()返回的一样,是缺失的。 .destring name, gen(name2) force br name name1 name2 name3 in 1/4 为了转换的方便,需要先用tab命令进行查看各个变量不同的非数字特征,代码如下: tab income if regexm(income, “[^0-9.]”) 然后用destring命令进行转换,代码如下: destring income, ignore(“$” “-” “,” “na” “n/a”) gen(income1) br income income1 前面我们用正则表达式查看了非法数字的类型,当然在这里也我们可以不用ignore选项而选择用正则表达式将上述非法数字进行替换,然后进行转变,具体命令如下: gen income2=ustrregexra(income,”[^d.]”,””) destring income2, gen(income3) br income income2 income3 可以看到相同结果: 最后,以变量per的转换为例,我们介绍一下命令destring的选项percent和dpcomma的用法,代码如下: destring per, gen(per1) percent dpcomma br per per1 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |