全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
2327 1
2012-10-12
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

二维码

扫码加我 拉你入群

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

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

全部回复
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
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群