嘿~
我们又见面了~
你还好吗?
2017.04.10
Stata中有两种数据类型:字符型和数字型。我们在处理数据时,经常会遇到原始数据的数据类型不是我们需要的数据类型,这就要求我们将原始数据中的一些数据类型转换成我们期望的数据类型。Stata还提供了一些相关的命令。其中,将字符变量转换为数字变量的命令有:real()函数、encode和destring命令;将数字变量转换成字符变量的命令有:strofreal()函数、decode和tostring命令,它们相互对应。有什么区别和联系?
今天,我们来谈谈如何将字符变量转化为数字变量。
首先,介绍了命令
Encode命令:只有以字符格式存储的非数字变量才能转换为数字变量,其返回值只有1,2,3 …的序列号变量。相同属性的观察值被赋予相同的值,相当于对字符变量进行重新编码,将原始字符数据设置为转换后的数值变量的标签。常见选项描述如下:
Destring命令:将以字符格式存储的数字变量转换为数字变量。常见选项描述如下:
实(s)函数:和destring命令一样,它可以把以字符格式存储的数值s转换成数值变量。如果s是以字符格式存储的非数字变量,则返回缺失的值;此外,实()函数还可以转换一个特定的观测值。
第二,例子
为了方便介绍选项,我们输入以下数据,代码如下:
清晰的
input /
每个str6收入的str3编号str2名称str10
-1a“10%”“9747”
1 b "62%" "1,234 "
1a“53%”“938.9”
-1c“48.6%”“8344”
2d“58%”“2398”
-2 e "46%" "-"
-3 c "78%" "53822 "
3d“92.2%”“na”
-1 e "65%" "477 "
1 b " 3.6% " "不适用"
结束
以字符格式存储的数字变量数的转换
代码如下:
编码编号,gen(num1)
减少数量,gen(num2)
gen num3 =实数(num)
br num num1 num2 num3 in 1/5
可以看出,以字符格式存储的数值变量的三种转换形式的输出结果基本相同,但num1的显示颜色与num2和num3不同。需要注意的是,encode命令只是对字符变量进行了重新编码,输出的结果不应该和其他两种转换方法得到的结果相同。怎么回事?让我们删除变量的标记值,看看输出会发生什么:
标签拖放(_all)
br num num1 num2 num3
可以看出,num1只对变量num进行数值排序。说明encode命令并没有真正将字符变量转换成数值变量,只是返回变量的标签。
以字符格式存储的非数字变量名的转换
具体代码如下:
编码名称,gen(name1)标签(xing)
销毁名称,gen(名称2)
gen name3=real(name)
列表名称名称1名称2名称3
Stata表示找不到name2。那是因为名字里有非数字的特征,所以destring命令无法转换,也就是说这个命令只能对以字符格式存储的数字变量起作用。如果需要转换,添加force选项,但是缺少像real()返回的返回值。
。销毁名称,gen(名称2)力
br名称1名称2名称3在1/4中
以字符格式存储的混合可变收入的转换
为了转换方便,需要用tab命令检查每个变量的不同非数字特征,代码如下:
tab收入if regexm(收入,"[^0-9.]")
然后使用减小命令进行转换,代码如下:
减少收入,忽略(" $" "-" "," na" "n/a") gen(收入1)
br收入1
之前我们用正则表达式检查非法数字的类型。当然,在这里我们可以选择用正则表达式替换非法数字,而不是忽略选项,然后进行修改。具体命令如下:
income2=ustrregexra(income,"[^d.将军]","")
减少收入2,gen(收入3)
br收入2收入3
您可以看到相同的结果:
最后,以变量per的转换为例,介绍了命令destring options percent和dp逗号的用法,代码如下:
减少每,gen(每1)百分比dp逗号
br per
今天,我们分享如何将字符变量转换为数字变量。想知道如何将数字变量转换成字符变量?关注我们,倾听明天的分解。
在广大粉丝的要求下,爬虫俱乐部的推文微信官方账号奖励功能可以开票。如果累计奖励超过1000元,我们可以给你开发票。发票类别是“咨询费”。用心做事,只为做你更贴心的小爬虫。第一张批发票已经发给小师傅了。来奖励一下小爬虫~
文字编辑:徐钰文
技术编辑:刘贝贝
之前的推文推荐:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
关于我们
微信微信官方账号“Crawler Club”分享实用stata命令,欢迎转载和奖励。爬虫俱乐部是由李春涛教授带领的研究生和本科生组成的大数据分析和数据挖掘团队。
另外,欢迎大家积极投稿,介绍一些关于stata的数据处理和分析技巧。
提交邮件:statatraining@163.com
提交要求:
1)必须是原创,禁止抄袭;
2)一定要准确,详细,有举例和截图;
注意事项:
1)所有投稿都会经过微信官方账号运营团队成员审核,审核通过后才能录用。一旦被录用,作者将在推特上签名,并获得奖励。
2)请在邮件中注明提交,邮件名称为“提交”+“推文名称”。
3)应读者要求,现提供付费问答服务。如果遇到关于stata分析数据的问题,可以在微信官方账号里问,只需要付一点小报酬。我们会在后面的推文中回答他们。
欢迎来到爬行动物俱乐部
1.《字符型变量 数据类型转换之字符型-数值型》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《字符型变量 数据类型转换之字符型-数值型》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/caijing/1616495.html