楼主: uglyljr
3059 8

[数据管理求助] 文本型数据转成数值型数据后,数值不一致,怎么办? [推广有奖]

  • 6关注
  • 1粉丝

博士生

3%

还不是VIP/贵宾

-

威望
0
论坛币
614 个
通用积分
109.5988
学术水平
1 点
热心指数
0 点
信用等级
0 点
经验
2425 点
帖子
232
精华
0
在线时间
128 小时
注册时间
2007-4-17
最后登录
2024-2-29

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我想把subsidy变量从文本型转化成数值型, 我用了命令:gen subsidys=real(subsidy)
查看新变量subsidys的数据类型,发现是%9.0g, 我改了一下数据类型
format subsidys %15.2f
replace subsidys=real(subsidy)
变成了下面的样子,发现转化后的数据还是不一致。请问,如何让数字变得一样呢?
数据


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:文本 数值 数据

沙发
只知智 在职认证  发表于 2020-4-27 10:42:45 |只看作者 |坛友微信交流群
试一下这个直接转化的命令:
destring subsidy,replace force

使用道具

藤椅
uglyljr 发表于 2020-4-27 11:16:16 |只看作者 |坛友微信交流群
只知智 发表于 2020-4-27 10:42
试一下这个直接转化的命令:
destring subsidy,replace force
谢谢。 解决了。
疑问就是:real转换的数值为什么会出现不一样呢。

使用道具

板凳
uglyljr 发表于 2020-4-27 13:55:20 |只看作者 |坛友微信交流群
很多数据,例如, 字符型数字为4369898751,用destring或real 转成数值型以后是4.370e+09的科学计数法。 我疑惑,是不是显示不一样,存储还是真实值4369898751? 还是说,显示的就是存储的?

使用道具

报纸
石器时代的大菠萝 在职认证  发表于 2020-4-27 15:26:12 来自手机 |只看作者 |坛友微信交流群
uglyljr 发表于 2020-4-27 09:52
我想把subsidy变量从文本型转化成数值型, 我用了命令:gen subsidys=real(subsidy)
查看新变量subsidys的数 ...
其实,在stata中就算是用gen做一个普通运算,某些情况下,新变量的小数点尾数也可能变得很奇怪,比如计算1/2=0.5000000002。因此,通常不推荐stata中的数据直接粘贴到excel,这样容易产生误解。可以肯定的是,你所见到的数字变化肯定对回归结果有影响,但影响通常不是很大。

使用道具

地板
石器时代的大菠萝 在职认证  发表于 2020-4-27 15:30:50 来自手机 |只看作者 |坛友微信交流群
uglyljr 发表于 2020-4-27 09:52
我想把subsidy变量从文本型转化成数值型, 我用了命令:gen subsidys=real(subsidy)
查看新变量subsidys的数 ...
我猜这个问题可能与stata保存浮点数float的方式有关系,整数int我就没有遇到这个问题。我发现这种现象很多次了,最后都不在意了。

使用道具

7
蓝色 发表于 2020-4-27 19:44:42 |只看作者 |坛友微信交流群
要设置为双精度的x1是双精度 就没有问题
x2就是你那种格式的浮点的,所以有问题


  1. . gen double x1=real(x)

  2. . gen        x2=real(x)

  3. . format x1 x2 %15.2f

  4. . list

  5.      +-----------------------------------+
  6.      |         x          x1          x2 |
  7.      |-----------------------------------|
  8.   1. | 477068.42   477068.42   477068.41 |
  9.   2. | 401815.57   401815.57   401815.56 |
  10.      +-----------------------------------+
复制代码

使用道具

8
uglyljr 发表于 2020-4-29 00:07:24 |只看作者 |坛友微信交流群
蓝色 发表于 2020-4-27 19:44
要设置为双精度的x1是双精度 就没有问题
x2就是你那种格式的浮点的,所以有问题
谢谢各位的热心解答。
我发现,从choice金融终端上下载下来的excel文档input 后,数值型数据都变成了文本型。 一次偶然我从wind上下载了数据,发现格式就对了的。

使用道具

9
uglyljr 发表于 2020-4-29 00:10:38 |只看作者 |坛友微信交流群
蓝色 发表于 2020-4-27 19:44
要设置为双精度的x1是双精度 就没有问题
x2就是你那种格式的浮点的,所以有问题
我又出现了另外的问题。

比如,有10万条数据, 我用tab varlist发现,有两条记录取值特别奇怪。 我就想看看是什么样子的数据。 如果用鼠标找,不太可能。 我要怎么才能找到那两条数据呢? 是否可以返回一个值针值,告诉我是第几条记录?

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-6-16 20:27