楼主: pcjoshua
2365 1

[数据管理求助] sata 数值型数据存储格式与对比情况 [推广有奖]

  • 2关注
  • 4粉丝

已卖:427份资源

副教授

80%

还不是VIP/贵宾

-

威望
0
论坛币
8136 个
通用积分
70.9204
学术水平
17 点
热心指数
21 点
信用等级
14 点
经验
23140 点
帖子
586
精华
0
在线时间
1186 小时
注册时间
2012-4-12
最后登录
2025-3-6

楼主
pcjoshua 在职认证  发表于 2012-10-12 19:11:17 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
stata里,有x,y,p,a四个变量
p是有x,y的和产生的。比如gen p=x+y

a是手动生成的,gen a=* if x==*  (此时a对应取值等于肉眼看到的x+y的值)

四个数字型的变量存储型为double精度,但是经过运算后的和手动生成的值却是不一样的,但是其中一个值却相同,我看唯一不同的就是小数点不同,导致结果不同。不知道怎么回事?
我的目的是看这两个数据是否一致,现实情况应该是一致的,但由于stata里的运行精度使的手动生成的a并不等于P,但是其中一个却是相等的。大家请看数据吧。如果把x+y=p的值等于a呢?需要怎么操作数据存储格式吗?
我的疑问:为什么其中一个x+y=p不等于a,而另外一个却相等?
list if p==a

数据如下,大家可以看看,是什么原因导致了这样的情况?是小数点?
运算精度应该都是一样的,为什么一个等,另外一个却不等。

xy.rar (323 Bytes) 本附件包括:
  • xy.dta
二维码

扫码加我 拉你入群

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

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

关键词:数据存储 SATA SAT 数值型 double double 小数点

沙发
sungmoo 发表于 2012-10-12 19:58:14
*x与y在生成中Stata为它们记忆了精度(这与显示的未必一样)。以下则不会出现上述情况:

clear
inp x y a
1.234 1.22 2.454
1 3.1 4.1
end
g p=x+y
已有 1 人评分经验 热心指数 收起 理由
SpencerMeng + 100 + 1 我很赞同

总评分: 经验 + 100  热心指数 + 1   查看全部评分

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-28 15:10