数值型字符型转换,destring tostring

您所在的位置:网站首页 垂直类b2b电子商务平台有哪些 数值型字符型转换,destring tostring

数值型字符型转换,destring tostring

2024-07-03 06:32:31| 来源: 网络整理| 查看: 265

数据类型转换之字符型-数值型

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

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

一、 命令介绍

encode命令:只可以将以字符型格式储存的非数值变量转换为数值型变量,它的返回值只是1,2,3……的序号变量,相同属性的观测值赋值相同,相当于给字符变量重新编码,并且将原来的字符型数据设置为转换后的数值型变量的标签。常用选项介绍如下:

数值型字符型转换,destring tostring _stata

destring命令:将以字符型格式储存的数值变量转化为数值型变量。常用选项介绍如下:

数值型字符型转换,destring tostring _stata

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

数值型字符型转换,destring tostring _stata

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

label drop _all

br num num1 num2 num3

数值型字符型转换,destring tostring _stata

可以看到,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

数值型字符型转换,destring tostring _stata

字符型格式储存的混合变量income的转变

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

tab income if regexm(income, “[^0-9.]”)

数值型字符型转换,destring tostring _stata

然后用destring命令进行转换,代码如下:

destring income, ignore(“$” “-” “,” “na” “n/a”) gen(income1)

br income income1

数值型字符型转换,destring tostring _stata

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

gen income2=ustrregexra(income,”[^d.]”,””)

destring income2, gen(income3)

br income income2 income3

可以看到相同结果:

数值型字符型转换,destring tostring _stata

最后,以变量per的转换为例,我们介绍一下命令destring的选项percent和dpcomma的用法,代码如下:

destring per, gen(per1) percent dpcomma

br per per1

数值型字符型转换,destring tostring _stata



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭