数值转换原来 数值转换文本_第1页
数值转换原来 数值转换文本_第2页
数值转换原来 数值转换文本_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数值转换原来数值转换文本

数值转换原来篇三:数据类型转换之字符型-数值型

Hey~

我们又见面啦~

你还好吗?2024.04.10Stata中有两种数据类型:字符型和数值型。在我们处理数据的时候,常常会遇到原始数据的数据类型不是我们所需要的数据类型,这就需要我们将原始数据中的一些数据类型进行转换,从而将其转成我们期望的数据类型。Stata也供应了一些相关命令。其中,字符型变量转换为数值型变量的命令有:real()函数,encode和destring命令;数值型变量转换为字符型变量的命令有:strofreal()函数,decode和tostring命令,它们相互对应,那究竟有哪些区分与联系呢?

今日我们先来讲一讲如何把字符型变量转化为数值型变量。一、

命令介绍encode命令:只可以将以字符型格式储存的非数值变量转换为数值型变量,它的返回值只是1,2,3……的序号变量,相同属性的观测值赋值相同,相当于给字符变量重新编码,并且将原来的字符型数据设置为转换后的数值型变量的标签。常用选项介绍如下:destring命令:将以字符型格式储存的数值变量转化为数值型变量。常用选项介绍如下:real(s)函数:同destring命令一样,可以将以字符型格式储存的数值s转化为数值型变量。若s是以字符型格式储存的非数值变量返回缺失值;另外,real()函数还可以对某一个详细观测值实现转变。二、例子说明为了便利介绍选项,我们输入如下数据,代码如下:

clear

input///

str3numstr2namestr10perstr6ine

-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的转换

代码如下:

encodenum,gen(num1)

destringnum,gen(num2)

gennum3=real(num)

br

numnum1num2num3in1/5可以看到,对于字符型格式储存的数值变量的3种转换形式,输出结果基本没有区分,但是,num1与num2、num3的显示颜色不一样,需要留意的是,encode命令只是对字符变量重新编码,输出结果不应当和其他两种转换方式所得结果是一样的,这是怎么回事呢?我们删除变量的标签值,来看看输出结果会发生什么变化:

labeldrop_all

br

numnum1num2num3可以看到,num1只是对变量num进行数值排序。说明encode命令并非真正意义上的将字符型变量转换为数值型变量,它只是返回了变量的标签。字符型格式储存的非数值变量name的转换

详细代码如下:

encodename,gen(name1)label(xing)

destringname,gen(name2)

genname3=real(name)

listnamename1name2name3stata提示name2没有被找到。那是由于name中有非数字特征,destring命令无法转换,说明该命令只能对字符型格式储存的数值变量起作用,假如必需转换就加force选项,但返回值和real()返回的一样,是缺失的。

.destringname,gen(name2)force

br

namename1name2name3

in1/4字符型格式储存的混合变量ine的转变

为了转换的便利,需要先用tab命令进行查看各个变量不同的非数字特征,代码如下:

tabineifregexm(ine,"[^0-9\.]")然后用destring命令进行转换,代码如下:

destringine,ignore("$""-"",""na""n/a")gen(ine1)

br

ineine1前面我们用正则表达式查看了非法数字的类型,当然在这里也我们可以不用ignore选项而选择用正则表达式将上述非法数字进行替换,然后进行转变,详细命令如下:

genine2=ustrregexra(ine,"[^\d\.]","")

destringine2,gen(ine3)

brineine2ine3

可以看到相同结果:最终,以变量per的转换为例,我们介绍一下命令destring的选项percent和dpma的用法,代码如下:

destringper,gen(per1)percentdpma

br

perper1今日我们共享的是如何把字符型变量转化为数值型变量。想知道如何把数值型变量转化为字符型变量吗?关注我们,且听明天分解。

以上就是今日给大家共享的内容了,说得好就赏个铜板呗!有钱的捧个钱场,有人的捧个人场~。

应广阔粉丝要求,爬虫俱乐部的推文

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论